我知道有很多关于复制最新文件的批处理文件的问题。但我似乎无法找到满足我要求的那个。
我有一个批处理文件......
(@echo off & setlocal enableextensions enabledelayedexpansion) & (set myfolder_=Z:\myfolder1) & (for /f "delims=" %%f in ('dir /o:d /a:-d /b "!myfolder_!\*.mp3"') do (set latest_=!myfolder_!\%%~nxf)) & (if defined latest_ (echo rem latest file "!latest_!" & xcopy "!latest_!" "Z:\myfolder2" /V /D /Y) else (echo No designated files found in "!myfolder_!")) & (Pause) & (endlocal & goto :EOF)
它需要按创建日期复制最新文件,但目前似乎根据修改日期进行排序。
例如,如果我修改旧文件上的mp3标记,则此脚本似乎会选择并复制该文件。
注意延迟扩展已启用,因为我必须将其作为单行运行。
提前致谢:)
答案 0 :(得分:0)
使用/TC
进行解析时,在dir
命令中包含for /F
:
(@echo off & setlocal enableextensions enabledelayedexpansion) & (set myfolder_=Z:\myfolder1) & (for /f "delims=" %%f in ('dir /TC /OD /A-D /B "!myfolder_!\*.mp3"') do (set latest_=!myfolder_!\%%~nxf)) & (if defined latest_ (echo rem latest file "!latest_!" & xcopy "!latest_!" "Z:\myfolder2" /V /D /Y) else (echo No designated files found in "!myfolder_!")) & (Pause) & (endlocal & goto :EOF)
应该工作。
/T
控制显示或用于排序的时间字段
timefield
C
创作
A
上次访问权限
W
最后写
从dir /?
第二个帮助页面开始。