将文件复制到另一个目录的命令
本文关键字:命令 另一个 文件 复制 | 更新日期: 2023-09-27 18:24:44
我执行此代码是为了将文件复制到另一个目的地,但我需要他的名字(到复制的文件)以及我电脑的日期和时间。。。怎么了??
string fileToCopy = "d:''pst''2015.pst";
string destinationDirectory ="C:''Users''pierr_000''Desktop''New folder (3)''ba-{0:MM-DD_hh-mm}.pst";
File.Copy(fileToCopy, destinationDirectory + Path.GetFileName(fileToCopy));
它不起作用,因为destinationDirectory
引用了一个文件。使用Path.GetDirectoryName检索实际目录,使用Path.Combine组合路径。
File.Copy(fileToCopy, Path.Combine(Path.GetDirectoryName(String.Format(destinationDirectory, DateTime.Now)), Path.GetFileName(fileToCopy)));
您的代码存在许多问题。
- 您的格式字符串不正确。月份的日期由
dd
而不是DD
表示 - 您没有以任何有意义的方式使用您的格式字符串
- 您正在连接字符串,而不是使用
System.IO.Path
来构造路径
看起来你正试图做以下事情:
string fileToCopy = @"d:'pst'2015.pst";
string destinationDirectoryTemplate =
@"C:'Users'pierr_000'Desktop'New folder (3)'ba-{0:MM-dd_hh-mm}";
var dirPath = string.Format(destinationDirectoryTemplate, DateTime.UtcNow);
var di = new DirectoryInfo(dirPath);
if(!di.Exists)
{
di.Create();
}
var fileName = Path.GetFileName(fileToCopy);
var targetFilePath = Path.Combine(dirPath, fileName);
File.Copy(fileToCopy, targetFilePath);