我正在尝试使用以下脚本将文件从网络位置复制到本地计算机,但它给了我一条错误消息:
不支持 unc 路径
剧本
SET DESTINATION=c:\temp\new
SET DATE_FROM=02/13/2019
SET DATE_TO=02/13/2019
> nul forfiles /P \\sdpw9123app\work\ActiveMQ\logfile /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
Run Code Online (Sandbox Code Playgroud)
我还尝试使用一些 Robocopy 命令,但我也无法让它工作,但理想情况下我想使用该forfiles
命令来执行复制操作。
问题似乎与使用该forfiles
命令有关,并且它不支持 UNC 路径。您可以使用pushd
它来映射 UNC 路径,然后只需使用该映射后的路径的其余部分\\servername\sharename
,其中包含您需要运行命令的文件夹。使用以下命令结束脚本,popd
以断开使用该pushd
命令创建的任何临时映射驱动器。
SET DESTINATION=c:\temp\new
SET DATE_FROM=02/13/2019
SET DATE_TO=02/13/2019
PUSHD \\sdpw9123app\work
> nul forfiles /P \ActiveMQ\logfile /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
Run Code Online (Sandbox Code Playgroud)
澄清
而不是使用
forfiles /P \\sdpw9123app\work\ActiveMQ\logfile
- 在命令
PUSHD \\sdpw9123app\work
之前的行上使用forfiles
- 运行
forfiles
命令行为forfiles /P \ActiveMQ\logfile
- 在命令
POPD
后一行使用forfiles
UNC 网络路径
指定 UNC 路径后,
PUSHD
将创建临时驱动器映射,然后使用该新驱动器。临时驱动器号按相反的字母顺序分配,因此如果Z:
有空闲,将首先使用它。
POPD
还将删除由创建的任何临时驱动器映射PUSHD
归档时间: |
|
查看次数: |
20873 次 |
最近记录: |