如何复制粘贴已经存在的文件?

Iva*_*an 2 c#

我使用这行简单的代码来复制粘贴文件:

File.Copy(filename, temp_file);
Run Code Online (Sandbox Code Playgroud)

现在,如果一个文件已经存在,我想在复制到一些保证不存在于目标文件夹中的名称之前重命名它,方法是添加一些扩展名,如“copy1”“copy2”......通过资源管理器复制粘贴。如何以编程方式执行此操作?

Dmi*_*nko 5

类似的东西:

    private static void MoveCopy(String source, String target) {
      // assuming that target directory exists

      if (!File.Exists(target))
        File.Copy(source, target);
      else
        for (int i = 1; ; ++i) {
          String name = Path.Combine(
            Path.GetDirectoryName(target),
            Path.GetFileNameWithoutExtension(target) + String.Format("(copy{0})", i) +
            Path.GetExtension(target));

          if (!File.Exists(name)) {
            File.Copy(source, name);

            break;
          }
        }
    }

...

  MoveCopy(filename, temp_file);
Run Code Online (Sandbox Code Playgroud)