批处理文件中的robocopy出错

时间:2014-11-20 10:31:37

标签: batch-file robocopy

我有这个批处理文件将所有文件从一个目录复制到另一个目录。源目标和目标目录是在文本文件中写入的。所以我有这个:

批量文件

for /f "delims=: tokens=2,3" %%j in (C:\temp\copy_list_test.txt) do ROBOCOPY.EXE %%j %%j\..\BACKUP *.* /R:2 /W:5 /log+:%%j\..\LOGS\GOLD2MES.log & ROBOCOPY.EXE %%j %%k *.* /R:2 /W:5 /MOV /log+:%%j\..\LOGS\GOLD2MES.log

这是一个copy_list_test.txt文件

TC C2 #001 from instrument to C:\temp\GOLDS\IMPORT:C:\temp\MESSE\IMPORT

因此,当我尝试运行脚本时,他在" C:\ Users \ mcastrio \ Desktop \ C \"上创建了一个新文件夹。而不是将文件放在C:\ temp \ MESSERVER

我的错误在哪里?

我们可以帮助我吗?最好的勋章

1 个答案:

答案 0 :(得分:2)

当您在输入文件中使用冒号作为分隔符时,标记生成器会看到

TC C2 #001 from instrument to C:\temp\GOLDS\IMPORT:C:\temp\MESSE\IMPORT
^.............................. ^................. ^ ^.................
1                               2                  3 4

即,

%%j = \temp\GOLDS\IMPORT
%%k = C

您可以将tokens子句更改为tokens=2,*以获取

TC C2 #001 from instrument to C:\temp\GOLDS\IMPORT:C:\temp\MESSE\IMPORT
^.............................. ^................. ^.................. 
1                               2                  3 

但请记住%%j中的驱动器引用已丢失。