代码之家  ›  专栏  ›  技术社区  ›  user1352057

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

  •  0
  • user1352057  · 技术社区  · 11 年前

    问题背景:

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

    问题:

    这个 File.Copy 方法 System.IO 要求两个参数都是已知的文件位置。我只知道一个文件路径位置-在本例中 localDevPath . localQAPath 是我希望复制文件也移动到的文件夹路径。

    string localDevPath = @"C:\Folder1\testFile.cs";
    
    string localQaPath = @"C:\Folder2\";
    
    File.Copy(localDevPath, localQaPath);
    

    有人能告诉我如何实施我正在尝试实施的“复制粘贴”方法吗。

    4 回复  |  直到 11 年前
        1
  •  2
  •   gsharp    11 年前
    string localDevPath = @"C:\Folder1\testFile.cs";
    string localQaPath = @"C:\Folder2\";
    FileInfo fi = new FileInfo(localDevPath);
    fi.MoveTo(Path.Combine(localQaPath, fi.Name));
    
        2
  •  1
  •   dandan78 Tom Cool    11 年前

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

        3
  •  0
  •   Nathan    11 年前

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

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

    文件中的文档。副本已打开 MSDN 。有一个接受布尔值的重载,如果存在命名冲突,则允许重写。

        4
  •  0
  •   Irene    11 年前

    如果您要做的是将文件从一个位置移动到另一个位置,则要查找的方法是MoveTo。它是FileInfo类的一个方法。MSDN Library中有一个非常完整的示例: FileInfo.MoveTo Example