批处理文件"unc路径不受支持"复制文件

分享于 

3分钟阅读

电脑

 

问题:

我正在尝试使用以下脚本将文件从网络位置复制到本地计算机,但它给我一个错误消息

unc路径不受支持

脚本


SET DESTINATION=c:tempnew


SET DATE_FROM=02/13/2019


SET DATE_TO=02/13/2019



> nul forfiles/P sdpw9123appworkActiveMQlogfile/S/D +%DATE_FROM%/C"cmd/C if @isdir==FALSE 2> nul forfiles/M @file/D -%DATE_TO% &&> con ( echo @path && copy/V @path %DESTINATION% )"



pause



我还尝试使用一些Robocopy命令,但是我不能让它工作,但理想情况下我希望使用 forfiles 命令来执行复制操作。


回答 1:

问题似乎是使用 forfiles 命令,它不支持UNC路径。 can pushd map map map,然后使用你需要运行命令的文件夹的路径,然后使用该路径的其余部分。 使用 popd 命令结束脚本以断开使用 pushd 命令创建的任何临时映射驱动器。

脚本


SET DESTINATION=c:tempnew


SET DATE_FROM=02/13/2019


SET DATE_TO=02/13/2019



PUSHD sdpw9123appwork


> nul forfiles/P ActiveMQlogfile/S/D +%DATE_FROM%/C"cmd/C if @isdir==FALSE 2> nul forfiles/M @file/D -%DATE_TO% &&> con ( echo @path && copy/V @path %DESTINATION% )"


POPD



pause



澄清

  • 而不是使用 forfiles/P sdpw9123appworkActiveMQlogfile

    • forfiles 命令之前的行上使用 PUSHD sdpw9123appwork
    • forfiles 命令行 作为 forfiles/P ActiveMQlogfile 运行
    • forfiles 命令之后的行上使用 popd

更多资源

  • pushd

    UNC网络路径

    指定UNC路径后,pushd 将创建临时驱动器映射,然后使用该新驱动器。 临时驱动器字母按字母顺序分配,所以如果 Z: 是免费的,将首先使用。

  • popd

    popd 还将删除 pushd 创建的任何临时驱动器映射


回答 2:

在批处理文件中,你需要在引用变量时两次使用 %,而 IE %%DATE_TO%% 只需要在 命令行 上执行一次。 试着修复这个问题,看看当你把它粘贴到中时上面是否能正常工作。



文件  files  SUP  bat  cop  路径  
相关文章