Windows(コピーの中断再開)


ドラマ『カンナさーん ! 』

明るいことは良いことなんでしょう。たいていの人は明るい人が好きなんでしょうね。六千枚の値札のミスも、明るく乗り切ります。
でも現実カンナさんみたいな人が近くにいたら、なんだか面倒そう。ああでも、その面倒と思うことさえも通り越して、楽しくなるんでしょう。

さて。面倒なのは、大量のファイルのコピーです。バックアップとったりとか。古いストレージだからなのか私のPC環境では、ファイルコピー中に、よくPCがいかれてしまいます。
robocopyなら中断したファイルコピーの再開も簡単です。

では実験用の6000個のファイルを作ります。

PS C:\Users\takk\aaa> cd dir1
PS C:\Users\takk\aaa\dir1> 1..6000 | %{1..1000 >> file$_.txt}
PS C:\Users\takk\aaa\dir1> (gci -name).count
6000
PS C:\Users\takk\aaa\dir1> cd ..
PS C:\Users\takk\aaa>

ファイル数は以下のとおり6000です。

PS C:\Users\takk\aaa> (gci dir1).count
6000
PS C:\Users\takk\aaa>

ではdir1をコピーしてdir2を作成します。コピーを途中で中断させます。

PS C:\Users\takk\aaa> robocopy /ndl /nfl /z dir1 dir2

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

  開始: 2017年8月1日 21:57:44
   コピー元 : C:\Users\takk\aaa\dir1\
     コピー先 : C:\Users\takk\aaa\dir2\

    ファイル: *.*

  オプション: *.* /NDL /NFL /DCOPY:DA /COPY:DAT /Z /R:1000000 /W:30

------------------------------------------------------------------------------
PS C:\Users\takk\aaa> (gci dir2 -name).count
2941
PS C:\Users\takk\aaa>

半分の3000弱で停止しました。

ではコピーの再開です。同じコマンド実行するだけです。

PS C:\Users\takk\aaa> robocopy /ndl /nfl /z dir1 dir2

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

  開始: 2017年8月1日 21:59:04
   コピー元 : C:\Users\takk\aaa\dir1\
     コピー先 : C:\Users\takk\aaa\dir2\

    ファイル: *.*

  オプション: *.* /NDL /NFL /DCOPY:DA /COPY:DAT /Z /R:1000000 /W:30

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


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

                  合計     コピー済み      スキップ       不一致        失敗    Extras
   ディレクトリ:         1         0         0         0         0         0
     ファイル:      6000      3059      2941         0         0         0
      バイト:   56.00 m   28.55 m   27.45 m         0         0         0
       時刻:   0:00:15   0:00:15                       0:00:00   0:00:00


       速度:             1925621 バイト/秒
       速度:             110.184 MB/分
   終了: 2017年8月1日 21:59:20

PS C:\Users\takk\aaa>
6000
PS C:\Users\takk\aaa>

結果をみてみると、コピー済の2941ファイルがスキップされ、残りの3059ファイルだけコピーされたことがわかります。
dir1のファイルがすべて、dir2にコピーされました。

dir1とdir2の内容は一致するでしょうか。

PS C:\Users\takk\aaa> $dir1=gci dir1 -name | %{get-filehash dir1\$_}
PS C:\Users\takk\aaa> $dir2=gci dir1 -name | %{get-filehash dir2\$_}
PS C:\Users\takk\aaa> diff $dir1 $dir2
PS C:\Users\takk\aaa>

差分が表示されませんでした。一致したということです。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA