web-dev-qa-db-ja.com

属性を変更せずにフォルダ/ファイルをコピーしますか?

私はstackoverflowでこれを尋ねました...しかし私はここでそれを尋ねるべきだと思います:属性データを変更せずにある場所から別の場所にファイルまたはフォルダーをコピーすることは可能ですか?

たとえば、ネットワークドライブにフォルダがあり、それが2007年2月3日に作成され、それをc:ドライブにコピーしたい場合、..日付/タイムスタンプは2007年2月3日のままにします。それは可能ですか?

6
yantwill

Robocopy。タイムスタンプを含むさまざまな属性をコピーするオプションがあります

http://www.ss64.com/nt/robocopy.html

Syntax
      ROBOCOPY source_folder destination_folder [file(s)_to_copy] [options]

Key
   file(s)_to_copy : A list of files or a wildcard.
                          (defaults to copying *.*)

  Source options
                /S : Copy Subfolders
                /E : Copy Subfolders, including Empty Subfolders.
 /COPY:copyflag[s] : What to COPY (default is /COPY:DAT).
                      (copyflags : D=Data, A=Attributes, T=Timestamps).
                      (S=Security=NTFS ACLs, O=Owner info, U=aUditing info).
              /SEC : Copy files with SECurity (equivalent to /COPY:DATS).
          /DCOPY:T : Copy Directory Timestamps. ##
          /COPYALL : Copy ALL file info (equivalent to /COPY:DATSOU).
           /NOCOPY : Copy NO file info (useful with /PURGE)
6
Kevin Kuphal

rsyncには、時間を保持するためのオプション「-t、-times」があります。

2
thepocketwade

Total Commander(ギシュラー)を使用できます。セットアップユーティリティのコピーでは、日付と時刻をコピーするようにコピーフォルダを設定できます。 c:からe:へのフォルダーのコピーは機能しますが、e:からデスクトップへのコピーには問題がありました。

0
vagn hansen

これもC#でタグ付けされているので見てください:

ファイルと、好きな属性/タイムスタンプを一緒にコピーできます。

File.Copy(myFile, myNewFile);
File.SetCreationTime(myNewFile, File.GetCreationTime(myFile));
0
patjbs