【问题标题】:How to Copy Newest File through Network Folder to Another Folder path using Batch File如何使用批处理文件通过网络文件夹将最新文件复制到另一个文件夹路径
【发布时间】:2015-07-28 20:41:24
【问题描述】:

我无法将最新文件从网络文件夹(例如 \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"

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

请帮帮我...

【问题讨论】:

  • 请将成功执行的代码添加到问题中。

标签: batch-file


【解决方案1】:

下一个代码 sn -p 应该复制最新的文件:

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 强制进行二进制复制。

【讨论】:

  • 嗨 JosefZ,非常感谢您的解释帮助!这个脚本现在运行良好。非常感谢它:-)
猜你喜欢
  • 2011-08-10
  • 2010-11-02
  • 2014-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-12
  • 2021-10-10
相关资源
最近更新 更多