web-dev-qa-db-ja.com

フォルダーをコピーするバッチファイルのエラー: 'パラメーターの数が無効です'

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

次に、バッチを変更してこのエラーが発生しました:「ファイルが見つかりません-デスクトップ」

xcopy /s/z D:\...\%username%\Desktop C:\SomeRandomFolder\
pause

これらのエラーを修正するにはどうすればよいですか?

7
Daniel

少なくともスペースを含むファイル名またはディレクトリを引用符で囲む必要がありますが、Marcks Thomasのコメントで示唆されている他の問題を回避するために、パラメータ全体を引用符で囲むのが最善です。

xcopy /s/z "D:\Documents and Settings\%username%\Favorites" "C:\SomeRandomFolder\"

または、この特定のケースでは、Phillip R.がコメントしたように、すべてのバージョンのWindows(他の言語も含む)で機能するように、ユーザーのホームディレクトリからコピーすることもできます。

xcopy /s/z "%userprofile%\<somefolder>" "C:\SomeRandomFolder\"
8
laurent

ディレクトリパスを引用符で囲む必要があります。

xcopy /s/z "D:\Documents and Settings\%username%\Desktop" "C:\SomeRandomFolder\"

ディレクトリパスにスペースがあるため、エラーが発生し、そうでない場合は新しいディレクトリとして認識され、検出できません。

4
JustinD