そこで、RoboCopy を使用して多数のファイルをコピーし、コピーした内容を記録するスクリプトを作成しています。
ログファイル以外は、かなりうまく動作します。ログファイルは次のようになります。
C:\Users\Tech\Documents\desktop.initechscan1.jpgtechscan2.jpgtechscan3.jpgtechscan4.jpgtechscan5.jpgwsus.jpgwsus2.jpgC:\Users\Tech\Documents\My Music\C:\Users\Tech\Documents\My Pictures\C:\Users\Tech\Documents\My Videos\C:\Users\Tech\Documents\My Digital Editions\
ご覧のとおり、ログにはエントリ間の空白と区切り文字がすべて欠落しているようです。これを修正する方法はありますか? ちょっとイライラします。
私が使用しているコマンドラインは次のとおりです:
C:\Users\Tech\Desktop>Robocopy.exe C:\Users\Tech\Documents c:\Temp /e /l /b /xj /xf ntuser.* desktop.ini *.lnk /np /njh /log:migratedfiles.txt /v
デバッグ中なので /l を入れていますが、これはすべてを何百万回もコピーしないようにする最も簡単な方法です。
答え1
私も同じ問題に遭遇していました。Robocopy のログがすべて 1 行に詰め込まれ、読み取れる情報はほとんどありませんでした。私の場合は、コードにも見られるように、デスクトップから Robocopy コマンドを実行していました。たとえば、ドキュメントから実行してみてください (bat ファイルを使用している場合はそれを移動するか、cmd から直接アクセスしている場合はコマンド プロンプトでディレクトリを変更します)。
私は持っているいいえ理由はわかりませんが、私の場合はこれですぐに問題が解決しました。cd.. を押して c:\users\ishan\desktop から cd:\users\ishan に移動するやいなや、robocopy は再び適切なログを表示しました。私は robocopy コマンドに .bat ファイルを使用しているので、それをドキュメントに移動し、そこから実行したところ、あっという間に問題が解決しました。
これがあなたの問題にも役立つことを願っています。
答え2
私も同じ問題に悩まされていましたが、答えを見つけたと思います。少し検索する必要がありますが、その後はかなり簡単なはずです。
robo
ドライブ上で または類似のを検索します。およびC:
の場所を見つけます。私が使用していた 32 ビット Windows 7 テスト システムでは、次のディレクトリにこれらのファイルがありました。RoboCopy.EXE
RoboCopy.EXE.MUI
C:\Windows\System32\RoboCopy.EXE
C:\Windows\System32\en-US\RoboCopy.EXE.MUI
これらのファイルを別のディレクトリにコピーしますが、 以降のディレクトリ構造はそのままにしておきますSystem32
。例:
C:\Test_PGM\RoboCopy.EXE
C:\Test_PGM\en-US\RoboCopy.EXE.MUI
次に、RoboCopy
代替ディレクトリから実行します。例:
C:\>"C:\Test_PGM\RoboCopy.EXE" "C:\Test_SRC" "C:\Test_DST" /COPYALL
これにより、正しくフォーマットされた出力が提供されます。
答え3
バッチ ファイルの実行時に使用される PATH が重要だと思います。 Path 変数には (私の場合) %SystemRoot%\system32; %SystemRoot%; などがあります。
ただし、ROBOCOPY.EXE /JOB:jobname.RCJ で bat ファイルを実行するジョブは、C:\Windows\System32\ROBOCOPY.EXE /JOB:jobname.RCJ とは異なって実行されます。
ジョブを正しく実行するために、呼び出しでフルパスを指定します... Robocopy.exe の 2 つのバージョン (両方とも同じ年齢、製品バージョン、および適切に機能) が見つかったため、フルネームを指定しないパスに実行可能ファイルの異なるバージョンがあるかどうかはわかりませんが、それは間違っています。