我在 stackoverflow 上问过这个问题......但我想我应该在这里问:是否可以将文件或文件夹从一个位置复制到另一个位置而不修改其属性数据?
例如,如果我在网络驱动器上有一个文件夹,它是在 2007 年 2 月 3 日创建的,而我想将其复制到我的 c: 驱动器..但将日期/时间戳保留为 2007 年 2 月 3 日...可以吗?
答案1
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)
答案2
rsync 有选项“-t,--times”来保留时间。
答案3
鉴于这也是用 C# 标记的:
您可以复制文件以及您喜欢的任何属性/时间戳:
File.Copy(myFile, myNewFile);
File.SetCreationTime(myNewFile, File.GetCreationTime(myFile));
答案4
您可以使用 Total Commander (ghishler)。在设置实用程序、复制中,您可以设置复制文件夹的复制日期和时间。它可以将 c: 文件夹复制到 e:,但将 e: 文件夹复制到桌面时出现了问题。