コピーコマンドの世代交代(Windows/robocopy)


『カーズ/クロスロード』

ものすごく感動しました。一作目のカーズもすごくわんさかいろいろ詰まってる映画で、大人が見てももちろん面白いのすが、今回もすごい。余すことなく伏線回収するところ、いちいち感動します。ネタバレになるのですごいしかいいませんけど。
クロスロードは、岐路って意味ですね。私も岐路についてよく考えます。若いとき、年老いた先輩たちの低すぎる技術スキルを、もう終わってんなあ、あんな風に年を取りたくないなあ、なんて思ったこともありましたが、光陰矢の如し、いまや自分の番です。プログラミングできなくなる年齢なのか、限界がきてる気が。そろそろ若い人材を育てることに専念した方がよいか。。。いや待てよ!
コマンド、いやプログラミングに関しては、そんな岐路はそもそもないんじゃないか、という気がしています。体を使う例えば野球選手は、衰える体力に能力の限界を感じてコーチや監督する側に立ち位置を変えるだろうし、頭を使う例えばプロ棋士は、若き天才に破られて、一線を退く決意をするんでしょう。でも、プログラミングって、最初から能力が衰えたこと前提で組んだりしますよね。例えば、忘れにくくなるようにゴロ良い名前を付けるとか、一年後に自分が忘れた時のために、コメントをきれいに書いたりとか。未来の自分は他人だと思ってプログラミングするので、最初から他人への指導が、実践に組み込まれてると思うんです。常に自分を育てながら自分が活躍できるんです。生涯現役でいいじゃないでしょうか。それに生業としなくとも、コマンド(プログラミング)は、一生続けられる最高の趣味になるに違いありません。

さて今回は、コマンドの世代交代で、Windowsのxcopyとrobocopyを見ていきます。

コピー元のフォルダdir1があります。

PS C:\Users\takk\aaa> gci -name -re
dir1
dir1\file1.txt
dir1\file2.txt
dir1\file3.txt
dir1\file4.txt
dir1\file5.txt
PS C:\Users\takk\aaa>

xcopyでコピーするには、
xcopy /I コピー元フォルダ コピー先フォルダ と入力して実行。

PS C:\Users\takk\aaa> xcopy /i dir1 dir2
dir1\file1.txt
dir1\file2.txt
dir1\file3.txt
dir1\file4.txt
dir1\file5.txt
5 個のファイルをコピーしました
PS C:\Users\takk\aaa> gci dir2 -name -re
file1.txt
file2.txt
file3.txt
file4.txt
file5.txt
PS C:\Users\takk\aaa>

robocopyもコピー元 コピー先。左から右へコピーするという順序は同じです。

PS C:\Users\takk\aaa> robocopy dir1 dir2

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

  開始: 2017年7月31日 21:26:54
   コピー元 : C:\Users\takk\aaa\dir1\
     コピー先 : C:\Users\takk\aaa\dir2\

    ファイル: *.*

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

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

        新しいディレクトリ       5      C:\Users\takk\aaa\dir1\
100%      新しいファイル                      16        file1.txt
100%      新しいファイル                      16        file2.txt
100%      新しいファイル                      16        file3.txt
100%      新しいファイル                      16        file4.txt
100%      新しいファイル                      16        file5.txt

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

                  合計     コピー済み      スキップ       不一致        失敗    Extras
   ディレクトリ:         1         1         0         0         0         0
     ファイル:         5         5         0         0         0         0
      バイト:        80        80         0         0         0         0
       時刻:   0:00:00   0:00:00                       0:00:00   0:00:00
   終了: 2017年7月31日 21:26:54

PS C:\Users\takk\aaa>

情報が多すぎてこまったら表示を抑制できます。

PS C:\Users\takk\aaa> gci -name -re
dir1
dir1\file1.txt
dir1\file2.txt
dir1\file3.txt
dir1\file4.txt
dir1\file5.txt
PS C:\Users\takk\aaa> robocopy dir1 dir2 /njh /njs /nfl /ndl

PS C:\Users\takk\aaa> gci -name -re
dir1
dir2
dir1\file1.txt
dir1\file2.txt
dir1\file3.txt
dir1\file4.txt
dir1\file5.txt
dir2\file1.txt
dir2\file2.txt
dir2\file3.txt
dir2\file4.txt
dir2\file5.txt
PS C:\Users\takk\aaa>

Leave a Reply

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

CAPTCHA