ネットワーク間コピー時、フォルダのタイムスタンプ維持方法

どうも、ITサービス事業部のCと申します。

 

4月といえば一般的に見ると入社の時期だと思います。
フラットにも新しくメンバーが2名入社されました!
先日、入社歓迎会で2名の新メンバーとお会いすることができました、2名とも向上心が高い印象をでした。
今後のご活躍に期待しております。

 

さて、今回紹介する内容ですが、「ネットワーク間コピー時、フォルダのタイムスタンプ維持方法」こちらについてご紹介いたします。技術紹介というよりは、便利なコマンド紹介といったところでしょうか。
ローカル内のデーターをコピーする際は、手動でドラック&ドロップまたはCtrl+C でコピーを行い、貼り付けを行っても、特にタイムスタンプは元データと同じ日時で問題なくコピーできます。
しかし、ネットワーク経由(NAS)などからデータをローカルや別のストレージへコピーするとフォルダのタイムスタンプがコピーを行った日時になってしまいます。
データによって更新日時が変更されては困る場合があります。
それを回避するために、ネットワーク間であってもタイムスタンプの情報を取得できるコマンドがWindowsコマンドにあります。
「robocopy」コマンドです。

 

■robocopyコマンドの使用方法

Windows コマンドプロンプトで使用します。以下ご覧下さい。

F:¥>robocopy [コピー元][コピー先][オプション]

コピー元とコピー先にはフルパスで指定を行います。

以前、社内でNASにてファイルコピーを行い、実行した際に使用したオプションは以下のとおりです。

F:¥>robocopy [コピー元][コピー先] /E /COPY:DAT /DCOPY:T /NP /LOG [ログファイル名]

オプションについてご説明 

/E 空のディレクトリを含むサブディレクトリをコピーします。
/COPY ファイルをコピー
コピーオプション:D データ A 属性 T タイムスタンプ
/DCOPY:T ディレクトリのタイムスタンプコピーします。
/NP コピー完了率の進行状況表示なしにします
/LOG ログを取得します。

その他、詳しい情報につきましては「robocopy /?」コマンドを実行でヘルプが表示されます。

※オプション「/DCOPY:T」は必ず入れてください、入れないとフォルダのタイムスタンプが取得されません。 

 

こちらはrobocopyコマンドを使用しないでコピーしました。
本当にタイムスタンプはコピーされないのでしょうか。

まず、以下の図をご覧ください。

図1

こちらがNASのフォルダのタイムスタンプです。
NASにあるフォルダをローカルへドラック&ドロップでコピーしてみました。

 

図2

こちらがローカルタイムスタンプの状況になります。

図をご覧のとおり、フォルダのタイムスタンプがコピーした日時になっています。

コマンドを使用しないコピーでは、タイムスタンプのコピーは確認できませんでした。

こちらはrobocopyコマンドを使用し、コピーを行いました。
以下の図をご覧ください。

図3

こちらが今回使用するコマンドのオプションです。
コピー元とコピー先は指定のものを入れましょう。
オプションに/DCOPY:T をいれましょう。

 

【実行結果】

図4

実行後、コピーの詳細情報が表示されます。
問題なく実行し、正常に終了することができれば、コピー正常にできています。
また、コピー先のフォルダがコピー元のタイムスタンプと同じになるはずです。

以上、「ネットワーク間コピー時、フォルダのタイムスタンプ維持方法」についてでした。

「robocopy」コマンドにはオプションが多く、オプションを深く調べることでやれることが多いと思います。
どこまでできるかは、調べきれていないので、まだまだ学習が必要になりますね。
今回はこの辺で終わりとします。