脚本中的RoboCopy不起作用

时间:2015-08-03 12:10:16

标签: windows batch-file robocopy

我的下面的脚本很简单,但我无法使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 . . .

由于

1 个答案:

答案 0 :(得分:0)

循环变量的正确语法是%%a,没有尾随%。在您的代码中,挂起%后面会有一个变量名称,并且在所需的结束%%变量中有效地剥离开始%remotePath%之前没有任何内容跳过所有内容为什么路径不正确。

这是正确的语法:

robocopy "%path%%%a" "%remotePath%%%a" /XD *