Batch file 将变量传递到批处理文件

Batch file 将变量传递到批处理文件,batch-file,Batch File,我正在调用xcopy的批处理文件。我在变量a中复制了文件到b的路径。我的代码是: 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

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

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

它不起作用。它们对%1类型变量的长度有限制吗?还是其他问题?非常感谢您的帮助。

空间是问题所在<代码>D:\flexcube1\New Folder\New Folder\
在New和Folder之间有空间。您需要在路径周围提供

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

"D:\flexcube1\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
之间有空格。我建议你应该做的是在它周围加上引号,使它看起来像这样:

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

是的,空间是个问题。很多。但如果我使用以下路径:“\\iflblw-bpd-12\Vercon\u IP-bpd-01\SOFT\FLEXCUBE\u Sites\BCHICL(BDC)\FC\u UBS\u V.UL.6.0.0.BCHICL.7.0”,则它不起作用。猜到了吗?是的,空间是个问题。很多。但如果我使用以下路径:“\\iflblw-bpd-12\Vercon\u IP-bpd-01\SOFT\FLEXCUBE\u Sites\BCHICL(BDC)\FC\u UBS\u V.UL.6.0.0.BCHICL.7.0”,则它不起作用。猜猜看,我又试了一次。现在它开始工作了。我犯了一些打字错误。谢谢你的帮助