复制文件夹的批处理文件出错:“参数数量无效”

Dan*_*iel 7 batch windows-xp

我正在 Windows XP 中制作一个批处理文件,以将我需要的文件夹复制到我 PC 上的另一个文件夹中。我收到一个错误。

我收到错误“参数数量无效”。

xcopy /s/z D:\Documents and Settings\%username%\Desktop C:\SomeRandomFolder\
xcopy /s/z D:\Documents and Settings\%username%\Favorites C:\SomeRandomFolder\
xcopy /s/z D:\Documents and Settings\%username%\Start Menu C:\SomeRandomFolder\
xcopy /s/z D:\Documents and Settings\%username%\My Documents C:\SomeRandomFolder\
xcopy /s/z D:\Documents and Settings\%username%\PrintHood C:\SomeRandomFolder\
xcopy /s/z D:\Documents and Settings\%username%\NetHood C:\SomeRandomFolder\
xcopy /s/z D:\Documents and Settings\%username%\Templates C:\SomeRandomFolder\
xcopy /s/z D:\Documents and Settings\%username%\Searches C:\SomeRandomFolder\
xcopy /s/z D:\Documents and Settings\%username%\Local Settings\Application Data\Microsoft\Outlook C:\SomeRandomFolder\
pause
Run Code Online (Sandbox Code Playgroud)

然后我更改了批处理并收到此错误:“找不到文件 - 桌面”

xcopy /s/z D:\...\%username%\Desktop C:\SomeRandomFolder\
pause
Run Code Online (Sandbox Code Playgroud)

如何修复这些错误?

lau*_*ent 8

您至少需要在文件名或带有空格的目录周围加上引号,但最好是引用整个参数以避免其他问题,如 Marcks Thomas 在评论中所建议的那样:

xcopy /s/z "D:\Documents and Settings\%username%\Favorites" "C:\SomeRandomFolder\"
Run Code Online (Sandbox Code Playgroud)

或者在这种特殊情况下,如 Phillip R. 评论的那样,从用户主目录复制以适用于所有 Windows 版本(也包括其他语言),您可以使用:

xcopy /s/z "%userprofile%\<somefolder>" "C:\SomeRandomFolder\"
Run Code Online (Sandbox Code Playgroud)

  • 我建议将整个路径用引号括起来,以避免 %username% 中的潜在空格被解析为分隔符。 (4认同)