web-dev-qa-db-ja.com

コピーされるすべてのディレクトリのタイムスタンプを保持しながら、Windowsでディレクトリをコピーする方法

コピーされるファイルとディレクトリの子孫のタイムスタンプを保持しながら、ディレクトリツリーをコピーしたいと思います。

ソースディレクトリはデータDVD(ISO-9660ファイルシステム)にあります。 NTFSパーティションにコピーしています。 Windowsエクスプローラーでコピーすると、コピーされたすべてのフォルダーとファイルのタイムスタンプが、コピー操作が行われた日時に設定されていることがわかります。これは私には不十分です。ファイルデータだけでなく、通常のファイルやディレクトリのタイムスタンプもコピーしたい。

私は少しグーグルしてxcopyrobocopyの両方を使用してリコールしたので、次のように両方を試しました:

robocopy E:\projects C:\Users\me\projects foobar /E /DCOPY:T
xcopy E:\projects C:\Users\me\projects foobar /E /F /K

Robocopyはしばらくの間機能し、それから私にこれを教えてくれました。

2016/03/17 20:33:43 ERROR 87 (0x00000057) Time-Stamping Destination Directory c:\Users\me\projects\foobar\baz\mew\
The parameter is incorrect.
Waiting 30 seconds...

Xcopyは、コピーするサブディレクトリのタイムスタンプを保持していないようで、それを伝える方法がありません。

また、Robocopyに対するあらゆる種類の改善として宣伝されているMicrosoft TechNetのRichCopyも試しましたが、ディレクトリのタイムスタンプも保持されず、スイッチをオンにするオプションもありません。

ファイルのタイムスタンプを保存するのに問題はありません。言及された3つのプログラムすべてがそれを行うことができます。 Explorerを除いて、私が最初に試しましたが、実際には驚きません。

私はWindows1064ビットを使用しています。

他にどのようなプログラムまたは方法で、私が望む種類の振る舞いを取得できますか?

P.S. Stack Overflowの誰かがdirectoryタイムスタンプを保持すると言ったので、TotalCommanderも試しました。少なくとも私にとってはそうではありません。また、SyncBackはそれを実行できませんでした。

5
amn

.Zipファイルなどのデータの圧縮アーカイブを作成します。これで、その.Zipファイルを任意のドライブにコピーして解凍できるようになります。これで、すべてのフォルダとファイルが元の属性とともに表示されます。

もう1つのオプションは、ディスクのディスクイメージを作成し、それを任意のドライブにコピーすることです。データを表示する必要があるときはいつでも、ディスクイメージを開くだけです。すべてのファイル属性を保持する必要があります。

6
Monomeeth

Total Commanderは、少なくとも私にとってはディレクトリのタイムスタンプを保持しますが、最初にオプションダイアログでそれを行うように指示する必要があります。

ConfigurationOptionsをクリックし、Copy/Delete(左側のリストボックスのOperationの下)を選択し、Copy date/time of directoriesGeneral Copy+Deleteオプション)にチェックマークを付けます。下部のグループ)で、[OK]をクリックします。

タイムスタンプが保持されないコーナーケースがたくさんある可能性があります。たとえば、FAT32とNTFS間でコピーする場合、タイムスタンプを保持しないと言われています。ただし、単純なISO9660-> NTFSは、Zip/7zアーカイブを抽出するのと同じように問題なく機能します。

また、作成タイムスタンプは保持されないことに注意してください。

別のドライブにコピーして貼り付けた後、ファイルの作成日を保持するにはどうすればよいですか? (CNETフォーラム)によると、作成タイムスタンプを保持できるSafeCopyV2という名前のツールがあります。ただし、私はこれを自分で使用したことがありません(Total Commanderにデフォルトで表示されるタイムスタンプなので、最後に変更されたタイムスタンプで十分です)。

1
Krzyś

テストでは、/ moveパラメーターがコマンドに追加されたときに、フォルダーの変更日が変更されました。/moveが存在する場合、フォルダーの日付変更のタイムスタンプがコピーの時刻になります。/moveが存在しない場合、フォルダーデータ変更のタイムスタンプはコピー時に変更されません。

0
briceybrit

Xyplorerと呼ばれるツールでバックアップ機能を使用します。基本的に、ファイルのディレクトリをドライブから別のドライブに「バックアップ」すると、ファイルとディレクトリのタイムスタンプが保持されます。

0
djrichard