将变量传递给批处理文件

时间:2010-05-25 07:38:07

标签: batch-file

我正在调用xcopy的批处理文件。我将文件的路径复制到变量a中。我的代码是:

dim shell,z  
z="for.bat " & a & " " & b & " " & c  
set shell=createobject("wscript.shell")  

shell.Run z, 1, true  

其中for.bat是:

for %%f in (%1,%2,%3) do xcopy %%f D:\shipment\ /e  

当'a'具有像D:\flexcube这样的小路径时,它可以工作。但如果我提出一些大路,请说:
D:\flexcube1\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder 这是行不通的。是对%1类型变量的一些长度限制还是这个其他问题?任何帮助都非常感谢。

3 个答案:

答案 0 :(得分:4)

space是问题所在。 D:\flexcube1\New Folder\New Folder\在New和Folder之间有空格。您需要在路径周围提供""

答案 1 :(得分:2)

尝试将目录名称括在引号中,如下所示:

"D:\flexcube1\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder"

答案 2 :(得分:0)

在你的道路上( D:\flexcube1\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder)单词New和单词Folder之间有空格。我建议你应该做的是,在它周围加上引号,使它看起来像这样:

"D:\flexcube1\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder\New Folder"