繁体   English   中英

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

[英]Command to copy a file to another directory?

我执行此代码将文件复制到另一个目标,但是我需要他的名字(复制到文件中)以及我的PC的日期和小时……这是怎么回事?

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); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM