Robocopyを使用しようとしていますが、ディレクトリ名にスペースがあるため、robocopyを動作させることができません。
3つのディレクトリ(マイドキュメント、マイミュージック、マイピクチャ)を「C:\ test-backup」にコピーしようとしていますが、最終結果を
'C:\ test-backup\My Documents'
'C:\ test-backup\My Music'
'C:\ test-backup\My Pictures'
私のコマンドは機能しません:robocopy C:\Users\Angie C:\test-backup "My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
私が何をしても、それは起きていないだけです。誰か提案やトリックがありますか?
My Documents
をC:\test-backup
から分離するのは何ですか?そして、なぜMy Documents
のみを引用符で囲むのですか?
私はそれがタイプミスだと仮定しています、robocopy C:\Users\Angie "C:\test-backup\My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
を使用してみてください
[編集:]ドキュメントで指定されている構文(robocopy <Source> <Destination> [<File>[ ...]]
)にはFileと記述されているため、 フォルダ。
使用する必要がありますrobocopy "C:\Users\Angie\My Documents" "C:\test-backup\My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
試行錯誤を繰り返し、結果を観察した後(つまり、ハッキングしました)、動作するようになりました。
スペースを含むパス名を使用するには、引用符が必要です。秘Theは、パス名の後に引用符の前にスペースがなければならないということです...このように...
robocopy "C:\Source Path " "C:\Destination Path " /option1 /option2...
これはほとんどバグのようで、確かにあまり直感的ではありません。
トッド・K.
パスに末尾のバックスラッシュが含まれていない場合、引用符を閉じる前にスペースを追加する必要はありません。したがって、次のコマンドが機能するはずです。
robocopy "C:\Source Path" "C:\Destination Path" /option1 /option2...
ただし、以下は機能しません。
robocopy "C:\Source Path\" "C:\Destination Path\" /option1 /option2...
これは here で説明されているエスケープの問題によるものです。
\エスケープは、末尾のバックスラッシュを含む引用されたディレクトリパスで問題を引き起こす可能性があります。これは、行末の閉じ引用符が\でエスケープされるためです。
robocopy "C:\Users\Angie\My Documents" "C:\test-backup\My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
robocopy "C:\Users\Angie\My Music" "C:\test-backup\My Music" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
robocopy "C:\Users\Angie\My Pictures" "C:\test-backup\My Pictures" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
パスの最後のディレクトリを指定する場合は、最後のディレクトリを削除します。
たとえば、「\ server\directory with space\directory with space」など。
それはそれを行う必要があります。
このフォルダーがコマンドの最初のフォルダーである場合、フォルダー名のスペースを使用しても機能しないため、フォルダー名のスペースをアンダースコアに置き換えます。