目标:我想使用批处理文件将具有特定扩展名的最新文件从“源目录”复制到“目标目录”。最新文件可能位于源目录内的多个子目录下。
这个问题/答案/s正是我想要的,但是指定选项时它似乎没有排序(正如此评论所建议的那样):
FOR /F "delims=|" %%I IN ('DIR "K:\path\tp\source\dir\*.ext" /B /S /O:D') DO SET NewestFile=%%I
copy "%NewestFile%" "C:\path\to\destination\dir"
Run Code Online (Sandbox Code Playgroud)
你可以DIR "K:\path\tp\source\dir\*.ext" /B /S /O:D自己测试一下,看是否没有排序。
我尝试过的:这个命令本身确实有效:DIR "K:\path\tp\source\dir\*.ext" /S /B | sort但我不知道如何在 for 循环中使用它(批处理文件在我确定错误之前就退出了 - 即使最后有 a pause)。
有任何想法吗?
请参阅:目录文档