找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27956|回复: 9

[文件操作] 请问怎样移动最新的文件到指定目录?

[复制链接]
发表于 2009-8-11 16:57:15 | 显示全部楼层 |阅读模式
操作:通过点击“移动最新的.bat”,就能把最新的文件夹“20090811151115”里面所有的文件移动到
d:\save
目录上去。
图片中的文件夹都是按照时间格式命名的。
谁帮我写个批处理?我是批处理白痴,不会写。
----------------------------------
8-12中午修改了一下要求:
怎么实现以下功能?
清空save---复制最新---打开save
--------------------------------------
发表于 2009-8-11 20:42:46 | 显示全部楼层

回复 1楼 的帖子

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /ad') do set folder=%%i
  3. xcopy %folder%\*.* d:\save\
  4. pause
复制代码
发表于 2009-8-11 22:23:25 | 显示全部楼层
我怎么感觉 dir 后该是od啊??
发表于 2009-8-11 22:35:20 | 显示全部楼层
相信你的文件夹建立的先后顺序应该也完全符合时间的先后顺序。如果是这样的话,如下代码就可以:
  1. for /f "delims=" %%a in ('dir /b /ad /o-d') do move "%%~fa" d:\save&exit /b
复制代码
发表于 2009-8-11 22:38:20 | 显示全部楼层

回复 3楼 的帖子

2楼的没错,因为for命令已经有一个隐式排序功能,最后%%i的值就是时间最晚的文件夹的名字。这样可以提高效率,不过用dir /o-d是效率最高的。
发表于 2009-8-12 09:46:13 | 显示全部楼层

谢谢楼上的提醒
 楼主| 发表于 2009-8-12 11:23:50 | 显示全部楼层
谢谢!
在复制之前先清空save文件夹里面所有内容该怎么写?
 楼主| 发表于 2009-8-12 11:28:54 | 显示全部楼层
再加上一条,打开save文件夹
即:
清空save---复制最新---打开save
发表于 2009-8-12 11:35:16 | 显示全部楼层
请把所有的需求全部更新到顶楼,以便他人查看。
发表于 2009-8-14 21:30:13 | 显示全部楼层

回复 8楼 的帖子

  1. @echo off
  2. del d:\save\*.* /q
  3. for /f "delims=" %%i in ('dir /b /ad') do set folder=%%i
  4. xcopy %folder%\*.* d:\save\
  5. start "" d:\save
  6. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 10:18 , Processed in 0.016664 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表