恥は/dev/nullへ by 初心者

プログラミング素人がのろのろと学んだことをつづっています♪

robocopyのログを読みやすくする

 問題点

 バッチファイルにrobocopyコマンドを記述してデータのバックアップを取っているのですが、気になることが1つありました。

ログファイルの最後に出力される「合計」などの部分がズレて読みにくいんですよね^^;。

 

試しに「ピクチャ」フォルダをrobocopyでバックアップしてみます。

 

robocopy C:\Users\hogehoge\Pictures\ D:\Backup\Pictures\ /MIR /R:3 /W:3 /NP /NDL /LOG:D:\Backup\robocopy_Pictures.log

を実行して出力されたログファイルを見ると、以下のように、下段にある「合計」等の各列(赤文字にした部分)が読みにくいです。

 

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Windows の堅牢性の高いファイル コピー                              
-------------------------------------------------------------------------------

  開始: 2021年3月6日 6:29:42
   コピー元 : C:\Users\hogehoge\Pictures\
     コピー先 : D:\Backup\Pictures\

    ファイル: *.*
	    
  オプション: *.* /NDL /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /NP /R:3 /W:3 

------------------------------------------------------------------------------

	  *EXTRA File 		   14565	D:\Backup\Pictures\あとで削除.png

------------------------------------------------------------------------------

                  合計     コピー済み      スキップ       不一致        失敗    Extras
   ディレクトリ:         3         0         3         0         0         0
     ファイル:        25         0        25         0         0         1
      バイト:    2.09 m         0    2.09 m         0         0    14.2 k
       時刻:   0:00:00   0:00:00                       0:00:00   0:00:00
   終了: 2021年3月6日 6:29:42

 

 

次の問題点

 ネット情報によると、ログファイルを英語表記で出力すれば上述のズレが生じないそうです。やることはrobocopyを実行する前に、以下のコマンドを実行するだけです。 

chcp 65001

 これで、コマンドプロンプトで使用される文字コードが「UTF-8」になります。なお、65001はコードページと呼ばれるもので、以下のMicrosoftのページに記載されています。

 https://docs.microsoft.com/en-us/windows/win32/intl/code-page-identifiers

 

chcp 65001
robocopy C:\Users\hogehoge\Pictures\ D:\Backup\Pictures\ /MIR /R:3 /W:3 /NP /NDL /LOG:D:\Backup\robocopy_Pictures.log

を実行して出力されたログファイルは以下のとおりです。

 

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows                              
-------------------------------------------------------------------------------

  Started : 202136 6:28:19
   Source : C:\Users\hogehoge\Pictures\
     Dest : D:\Backup\Pictures\

    Files : *.*
	    
  Options : *.* /NDL /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /NP /R:3 /W:3 

------------------------------------------------------------------------------

	  *EXTRA File 		   14565	D:\Backup\Pictures\後ほど消す.png
	    New File  		   14565	C:\Users\hogehoge\Pictures\あとで削除.png

------------------------------------------------------------------------------

               Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :         3         0         3         0         0         0
   Files :        26         1        25         0         0         1
   Bytes :    2.11 m    14.2 k    2.09 m         0         0    14.2 k
   Times :   0:00:00   0:00:00                       0:00:00   0:00:00


   Speed :             3641250 Bytes/sec.
   Speed :             208.353 MegaBytes/min.
   Ended : 202136 6:28:19

 

 確かにズレは生じていません。しかし、日付の表記が分かりにくいですね。2021年3月6日が「202136」と表示されています。

 

解決策

 /LOGオプションの代わりに/UNILOGオプションを使うと、日付の表記が「2021年3月6日」になりました。というわけで、以下の手順を踏むことにしました。

 

(1)robocopyを実行する前に「chcp 65001」を実行する。

(2) /LOG  ではなく  /UNILOG  を使用する。

 

chcp 65001
robocopy C:\Users\hogehoge\Pictures\ D:\Backup\Pictures\ /MIR /R:3 /W:3 /NP /NDL /UNILOG:D:\Backup\robocopy_Pictures.log

を実行して出力されたログは以下のとおりです。ズレは解消され、かつ、日付の表記も分かりやすいです。

 

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows                              
-------------------------------------------------------------------------------

  Started : 2021年3月6日 6:23:42
   Source : C:\Users\hogehoge\Pictures\
     Dest : D:\Backup\Pictures\

    Files : *.*
	    
  Options : *.* /NDL /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /NP /R:3 /W:3 

------------------------------------------------------------------------------

	  *EXTRA File 		   14565	D:\Backup\Pictures\あとで消す.png
	    New File  		   14565	C:\Users\hogehoge\Pictures\後ほど消す.png

------------------------------------------------------------------------------

               Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :         3         0         3         0         0         0
   Files :        26         1        25         0         0         1
   Bytes :    2.11 m    14.2 k    2.09 m         0         0    14.2 k
   Times :   0:00:00   0:00:00                       0:00:00   0:00:00


   Speed :            14565000 Bytes/sec.
   Speed :             833.415 MegaBytes/min.
   Ended : 2021年3月6日 6:23:42