将文件复制到另一个目录的命令

本文关键字:命令 另一个 文件 复制 | 更新日期: 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))); 

您的代码存在许多问题。

  1. 您的格式字符串不正确。月份的日期由dd而不是DD表示
  2. 您没有以任何有意义的方式使用您的格式字符串
  3. 您正在连接字符串,而不是使用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);