我正在尝试使用DOS批处理脚本将文件从一个目录复制到另一个目录。我要复制的文件是4或3个最新文件。这个数字将是静态的,但还有待确定。无论如何都要根据修改日期进行复制?
谢谢
答案 0 :(得分:4)
你可以:
1)按修改日期的降序排列dir
命令排序文件;
2)在`for循环中使用dir
命令的输出来复制相应的文件;
3)在for
循环中计数到3(或4)以限制复制的文件数。
@ECHO OFF
SET "srcdir=D:\Source"
SET "tgtdir=D:\Target"
SET /A topcnt=3
SET /A cnt=0
FOR /F "tokens=*" %%F IN ('DIR /A-D /OD /TW /B "%srcdir%"') DO (
SET /A cnt+=1
SETLOCAL EnableDelayedExpansion
IF !cnt! GTR !topcnt! (ENDLOCAL & GOTO :EOF)
ENDLOCAL
COPY "%srcdir%\%%F" "%tgtdir%"
)