タイムスタンプも含めてコピーする
- コメント数:
- Comments: 5
◆ robocopy G:\dir F:\dir /DCOPY:T
◆ robocopy の GUI 版 richcopy というソフトが古いけど便利
◆ 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 ファイルを実行すると……

えっとー……
読めないですけど
なんとなくテキストボックスには C:\ と書いてるように見えます
インストール先かなと指定して進めていきましたが これは 圧縮ファイルの解凍先だったようです
指定したところにインストーラが作られました
そのインストーラは普通に読めたので無事インストールできました
すごく設定できる項目多いですが 高機能なので robocopy を GUI で使いたい人は使ってみるといいと思います
COMMENT
コメント一覧 (5)
-
- 2017/11/23 22:59
-
xcopyでもうまくやればコピー元とコピー先とでフォルダのタイムスタンプを同じ日付時刻にすることができます
-
- 2018/09/02 08:54
- フリーソフトのFastCopyでタイムスタンプを変えずにコピーできます。
-
- 2018/09/02 13:13
-
ありがとうございます
別のHDD間で多くのファイルをコピーするときには使ってるソフトなのですがそんな機能もあったのですね
-
- 2018/11/27 23:33
- WIndows10付属のものではすでに /DCOPYは使えないようです。
-
- 2019/02/17 17:17
-
>>4
Windows 10 の 1803 と 1809 どちらでも /DCOPY オプションは使えていますよ
xcopy と間違っていたりしませんか?