如何使用批处理文件将最新文件通过网络文件夹复制到另一个文件夹路径

时间:2015-07-28 20:41:24

标签: batch-file

我无法将最新文件从网络文件夹(例如\ test01 \ test1 \ test)复制到另一个文件夹路径(例如D:\ Users \ Desktop \ test)。我一直在使用以下脚本来运行我的批处理脚本:

FOR /F "delims=|" %%I IN ('DIR "\\test01\test1\test" /B /O:D /S') DO SET NewestFile=%%I
copy "%NewestFile%" "D:\Users\Desktop\test"

如果我只使用文件夹路径进行复制,则此脚本可以正常工作。

请帮帮我......

1 个答案:

答案 0 :(得分:2)

下一段代码片段应该复制最新的文件:

pushd "\\test01\test1\test"
FOR /F "delims=" %%I IN ('DIR /B /O:D /A:-D') DO SET "NewestFile=%%I"
copy /b "%NewestFile%" "D:\Users\Desktop\test"
popd
  • pushd:当指定UNC路径时,PUSHD将创建临时驱动器地图,然后将使用该新驱动器。临时驱动器号按反向字母顺序分配,因此如果Z:空闲,则首先使用它。
  • DIR /B /O:D:使用/S开关将按文件夹(和子文件夹)排序,然后按日期排序。
  • DIR /A:-D从输出中排除目录(文件夹)。
  • "delims="代替"delims=|"
  • copy /b强制使用二进制副本。