为什么 xcopy 返回“无效的参数数量”?

为什么 xcopy 返回“无效的参数数量”?

在某些情况下,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\"

相关内容