求教cmd命令高手,怎么编写一个复制本文件夹内的最新文件到其他位置的bat文件?

我现在是SQL自动备份数据库到bak这个文件夹里,每天都备份,所以每天都有新的文件备份文件产生。。我编辑了一个bat文件复制所有的备份文件到目标盘去并用软件每天自动执行,内容为copy *.* \\serverbak\d$ 。。。。现在发现目标盘太小了,全部备份不够只能复制最新的过去还行,请教谁知道只复制最新生成文件命令怎么写?
SQL自动备份数据库的命名规律是以日期时间的,例如bak201012231653.bak,就是2010年12月23日16时53分备份的。。

需要知道bak文件夹里每天自动备份生成的文件有什么命名规律?

或者copy完成后把bak文件夹里的旧文件删除不就可以了?

原想通过比较源文件名中4~11位之间的数字大小来判断,但是比较麻烦.

你可以试下下面的代码:

dir /a-d /b "源文件夹路径">temp.txt
for /f %%i in (temp.txt) do (IF NOT EXIST "目标文件夹路径\%%i" copy "源文件夹路径\%%i" "目标文件夹路径")
del temp.txt

例子:
dir /a-d /b "F:\FTP\SJ">temp.txt
for /f %%i in (temp.txt) do (IF NOT EXIST "F:\FTP\SJ3\%%i" copy "F:\FTP\SJ\%%i" "F:\FTP\SJ3")
del temp.txt
PAUSE
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答