◆ robocopy G:\dir F:\dir /DCOPY:T
◆ robocopy の GUI 版 richcopy というソフトが古いけど便利 

タイムスタンプ変えるのやめて

vvv ウィルスが流行ってたこともあって ふとバックアップは大切だよね と思って 外付けハードにバックアップ取ることを考えました

HDD のコピーで思うことは更新日時と作成日時を変えてほしくない!です

昔 確か PSP でメモリースティックのデータをコピーして大きいサイズのものに移し替えた時に気づいたのですがコピーすると作成日時や更新日時がコピーした日時に書き換えられるんですよね

作成日時

「コピーを作成した日時」なんて使わないのにそんなデータのために本来の最初にファイルをつくった日時という意味のある日時のほうを消すなんておかしいです

電子データなのでコピー元もコピー先も全く同じデータです
どれが本当に最初に作ったファイルなのかなんて気にしないですしそんな情報不要です
途中からコピーした方を知らないうちにオリジナルだと思ってることなんてよくあることですし それがオリジナルじゃなくてコピーしたものだったところで困りません

ですが そのファイルを本当に最初につくった時を知りたいことはあると思います
そのときにコピーした作成日とか表示されても迷惑でしかないんです
知りたいのはコピーをいつしたかじゃなくて いつそのファイルが最初に作られたかなんです


とは言っても 実際は新規にファイル作成をしてるわけじゃなくて HTML なんかは すでにあるのコピーして doctype 宣言や meta タグなどの共通部分以外を消して使ったりしますし 画像も今開いてるのを全選択+削除して名前をつけて保存をしてから編集始めますし 名前変えるときもエクスプローラでやるのめんどうなのでエディタなどその時開いてるソフトで名前をつけて保存した後に前のものを消したり と正しい新規作成をしてない気がするので 自分で直接編集しないかつ自動で生成されるゲームのセーブデータや写真のようなデータでしか作成日時は使わないですけどね

更新日時

Windows では ファイルは更新日時は維持されて 作成日時は変更されます
フォルダの場合 作成日時だけでなく更新日時までも変更されます

作成日時は 普通自分で知りたいときに見るくらいでソフトで使われることなんて自分で作成日時ソートを選ぶ時くらいですが 更新日時はよく使われますし名前でソートと同じくらいよく使うソート条件です

最初に書いたように PSP でメモリースティックのサイズ大きくしたらフォルダの更新日時が変わって並びが最近やったゲームじゃなくなったのが地味にショックでした

タイムスタンプもコピーしよう

XP のころは拡張コピーというソフトを入れてタイムスタンプ込みでコピーしてました
ですが Windows の標準機能だけでも Vista からはタイムスタンプまでコピーできるようになってたらしいです

やり方は robocopy コマンドです
コマンドというからには コマンドプロンプトです

robocopy コマンドはこういう使い方です
robocopy F:\data G:\backup *
最初にコピー元のフォルダ 次にコピー先のフォルダを書きます
あとは フォルダ内でコピーしたいファイル名を好きなだけ書いていきます
上の例ではフォルダ内すべてなので * と書いてます
何も書かなくてもデフォルトが *.* なので省略可能です

指定したファイルを同じファイル名でコピーします


フォルダ単位でコピーする目的なので同じファイル内で別名にコピーする copy コマンドのような使い方はできません
copy test.txt test_copied.txt
こういうの


robocopy コマンドでは ファイルのコピーはデフォルト設定でタイムスタンプを含むようになっていますが フォルダはタイムスタンプをコピーするようになっていません
フォルダのタイムスタンプもコピーする場合はオプション /DCOPY:T をつけます

Windows 8 から /DCOPY オプションに T 以外に A(属性) と D(副ストリーム) も指定できるようになりましたが Windows 7 までは T しか使えません
タイムスタンプさえコピーできれば属性や副ストリームなんてどっちでもいいというなら Windows 8 以降でも T だけでいいです
robocopy D:\data\test F:\test2 /DCOPY:DAT

これでコピーした後にプロパティで確認するとちゃんとタイムスタンプもコピーされてるはずです

robocopy は Windows 標準のコピーコマンドで(たぶん)一番高機能なもので他にもオプションがいっぱいです
気になるなら他の機能も使ってみるといいと思います

それと Windows には xcopy というちょっと便利なコピーコマンドもありますが これではタイムスタンプコピーはできないようでした

GUIでコピーしたい

めったに使わないのでコマンドプロンプトでも構わないといえば構わないんですが やっぱりGUIがあったほうがいいですよね
ということで調べてみました

上に書いた拡張コピーは Windows 7 対応なのでたぶん 8 や 10 でも使えると思います
ですが 古いソフトなので他を探してみます

すると robocopy を GUI 化した richcopyというソフトを見つけました

2009年の技術誌に添付されてたものでそれ以降更新も無いようなのでこっちのほうが 古いですし Windows 8 の robocopy の追加機能が反映されてなさそうです

でもマイクロソフトから出しているということもあって Windows 8 の追加分の機能が必要なければ安定してそうですしこれでいいかもです

さっそく使ってみようかと Windows 8 の PC で落としてきた exe ファイルを実行すると……

richcopy-inst

えっとー……

読めないですけど


なんとなくテキストボックスには C:\ と書いてるように見えます
インストール先かなと指定して進めていきましたが これは 圧縮ファイルの解凍先だったようです
指定したところにインストーラが作られました
そのインストーラは普通に読めたので無事インストールできました

すごく設定できる項目多いですが 高機能なので robocopy を GUI で使いたい人は使ってみるといいと思います