在某些情况下,xcopy 会返回错误,Invalid number of parameters
而不会给您任何有关发生了什么的线索。通常的解决方案是确保您的文件名括在引号中,因为这可能是批处理文件的问题,因为您有类似的东西xcopy %1 %2
,而您确实需要xcopy "%1" "%2"
。然而,我最近遇到了一个问题,问题不是空格:
C:\Temp\foo>c:/windows/system32/xcopy.exe /f /r /i /d /y * ..\bar\
Invalid number of parameters
答案1
这个问题的解决方案很棘手:事实证明 xcopy 正在将路径中的正斜杠解析为其自己的二进制文件。这可以正常工作:
C:\Temp\foo>c:\windows\system32\xcopy.exe /f /r /i /d /y * ..\bar\
C:\Temp\foo\blah -> C:\Temp\bar\blah
1 File(s) copied
PATH
如果您使用正斜杠而不是反斜杠进行定义,也会遇到这种情况。
答案2
我发现我需要在选项上使用双斜杠
c:\windows\system32\xcopy.exe //f //r //i //d //y * "..\bar\"