web-dev-qa-db-ja.com

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
10
Slothman

これに対する解決策はトリッキーでした:それは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を定義している場合も、これに遭遇する可能性があります。

14
Slothman

私の発見は、オプションにスラッシュを2つ必要とすることでした。

c:\windows\system32\xcopy.exe //f //r //i //d //y * "..\bar\"
0
Kenneth Hov