【发布时间】:2015-11-17 08:59:41
【问题描述】:
我正在尝试从 cd 复制文件,然后复制它以复制文件的创建日期。 复制命令如下所示:
Microsoft.VisualBasic.FileIO.FileSystem.CopyFile(sourcePath, destPath);
它可以正常工作并将文件从 cd(源)复制到桌面(目标)。
下一步我要做的是从源文件中获取创建时间:
DateTime creationTime = File.GetCreationTime(sourcePath);
这一步也可以正常工作,创建时间在creationTime变量中。
最后一步是将创建时间放到目标文件中:
File.SetCreationTime(destPath, creationTime);
这就是问题所在,最后一步抛出“访问被拒绝:“C:....”(目标路径)”。
奇怪的是我可以访问 cd(源)中的文件,但为什么我不能更改目标中文件的创建时间? 其次,当我尝试从密钥上的磁盘复制到桌面或从计算机中的一个文件夹复制到另一个文件夹时,它非常完美。 这让我认为问题是当我试图从 cd 复制时,我在另一张 cd 上检查了是否发生了相同的结果,它无法复制创建日期。 如何解决并复制创建时间?
【问题讨论】:
-
将系统时钟更改为 CD 中的创建日期,然后复制文件。呵呵;)
-
我只是在开玩笑.. 但我想帮忙。您是否有足够的权限来编辑桌面上的文件?
-
不使用 CopyFile 复制文件,而是使用 File.OpenRead() 从 CD 打开文件,使用 File.Create() 创建目标文件,然后使用 Stream 复制源文件的字节。复制到()。完成后,您可以对目标文件执行我认为的任何操作。
-
为什么要使用 Visual Basic 复制文件?
-
是的,我有权编辑其位于桌面的文件,如果我从其他来源(不是 cd)复制到桌面@NickGames 中的同一文件夹,则创建副本可以正常工作