以编程方式复制并粘贴文件

时间:2014-02-26 15:17:18

标签: c# file copy

问题背景:

我需要将文件从一个文件夹位置复制并粘贴(移动)到另一个文件夹位置。

问题:

File.Copy的{​​{1}}方法要求两个参数都是已知的文件位置。我只知道一个文件路径位置 - 在本例中为System.IOlocalDevPath是我希望移动复制文件的文件夹路径。

localQAPath

任何人都可以告诉我如何执行我正在尝试实施的“复制和粘贴”方法。

4 个答案:

答案 0 :(得分:2)

string localDevPath = @"C:\Folder1\testFile.cs";
string localQaPath = @"C:\Folder2\";
FileInfo fi = new FileInfo(localDevPath);
fi.MoveTo(Path.Combine(localQaPath, fi.Name));

答案 1 :(得分:1)

假设这些是用户提供的路径,并且您不能简单地在第二个路径中包含文件名,那么您需要从localDevPath中提取最后一个路径元素,然后将其添加到localQaPath 。你可以用Path.GetFilename来做到这一点。

答案 2 :(得分:0)

我猜这里的问题是文件名是可变的,在这种情况下,你可以做类似的事情从localDevPath的完整路径中提取文件名:

string localDevPath = @"C:\Folder1\testFile.cs";
string localQaPath = @"C:\Folder2\";
string[] tokens = localDevPath.Split(@"\");
localQaPath += tokens[tokens.Length-1];

File.Copy(localDevPath, localQaPath);

File.Copy上的文档位于MSDN。有一个接受布尔值的重载,如果存在命名冲突,则允许覆盖。

答案 3 :(得分:0)

如果您要执行的操作是将文件从一个位置移动到另一个位置,那么您要查找的方法是MoveTo。它是FileInfo类的一种方法。这里有一个非常完整的MSDN库示例:FileInfo.MoveTo Example