【问题标题】:Is there a way to get this C# code to automatically overwrite files?有没有办法让这个 C# 代码自动覆盖文件?
【发布时间】:2011-04-28 08:41:14
【问题描述】:

有没有办法让这段代码自动覆盖文件?

// Requires project reference to Microsoft.VisualBasic
using Microsoft.VisualBasic.FileIO;
class FileProgress
{
   static void Main()
   {
      string sourcePath = @"C:\Users\public\documents\";
      string destinationPath = @"C:\testFolder";
      FileSystem.CopyDirectory(sourcePath, destinationPath,
          UIOption.AllDialogs);
   }
}

这是来自MSDN

谢谢

【问题讨论】:

    标签: c# file-io directory copy


    【解决方案1】:

    是的。

    使用FileSystem.CopyDirectory 的重载覆盖现有文件:

    public static void CopyDirectory(
        string sourceDirectoryName,
        string destinationDirectoryName,
        bool overwrite
    )
    

    所以你的代码变成了:

    // Requires project reference to Microsoft.VisualBasic 
    using Microsoft.VisualBasic.FileIO; 
    class FileProgress 
    { 
       static void Main() 
       { 
          string sourcePath = @"C:\Users\public\documents\"; 
          string destinationPath = @"C:\testFolder"; 
          FileSystem.CopyDirectory(sourcePath, destinationPath, True); 
       } 
    } 
    

    【讨论】:

    • 如果我使用该重载,我会丢失“UIOption.AllDialogs”和内置的进度条。我想我的蛋糕也吃不下了。 :( 不过谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    相关资源
    最近更新 更多