我有一个CSV文件目录,其文件名中有日期时间戳。我需要在名称中复制具有最新日期时间的文件。
我是批处理脚本的新手,这是我到目前为止所做的,因为你可以看到它复制一个文件,但不会遍历所有文件名,只复制最近的日期。 感谢您的帮助。
SET sourceDir=\\source\path
SET targetDir=\\target\path
copy "%sourceDir%\examplefile_20160111_010003.csv" "%targetDir%\newname.csv"
答案 0 :(得分:1)
没有能够执行此操作的命令。你必须使用一个小技巧:
dir
能够使用/on
参数按字母顺序排序(这正是您想要的)。 /b
仅为您提供文件名,/ a-d排除文件夹:
dir /a-d /on /b
你想要最后一个。使用for
循环获取它:
for /f "delims=" %%a in ('dir /a-d /on /b "%sourceDir%\examplefile_*.csv"') do set latest=%%a
然后你可以copy "%sourceDir%\%latest%" "%targetDir%\newname.csv"