我的下面的脚本很简单,但我无法使robocopy
工作。
@echo off & setlocal
set remotePath=E:\RemotePath\
set s=001 002 003
set path=Y:\P25_Ladybug\RENDER\Comp\LB003\Sc001\
for %%a in (%s%) DO (
robocopy "%path%%%a%" "%remotePath%%%a%" /XD *
)
pause
如果我将远程路径("%remotePath%%%a%"
)更改为Desktop
之类的简单路径,那么它将起作用:
robocopy "%path%%%a%" Desktop /XD *
有关我的错误的任何建议?
cmd结果类似于
Y:\P25_Ladybug\RENDER\Comp\LB003\Sc001\001remotePath%\*.*
*
*.* /COPY:DAT /R:1000000 /W:30 Y:\P25_Ladybug\RENDER\Comp\LB003\Sc00
1\002remotePath%\*.*
*
*.* /COPY:DAT /R:1000000 /W:30 Y:\P25_Ladybug\RENDER\Comp\LB003\Sc00
1\003remotePath%\*.*
*
*.* /COPY:DAT /R:1000000 /W:30 Press any key to continue . . .
由于
答案 0 :(得分:0)
循环变量的正确语法是%%a
,没有尾随%
。在您的代码中,挂起%
后面会有一个变量名称,并且在所需的结束%
从%
变量中有效地剥离开始%remotePath%
之前没有任何内容跳过所有内容为什么路径不正确。
这是正确的语法:
robocopy "%path%%%a" "%remotePath%%%a" /XD *