首页 文章

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

提问于
浏览
1

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

  • 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 强制二进制复制 .

相关问题