有没有办法让这个 C# 代码自动覆盖文件?

Posted

技术标签:

【中文标题】有没有办法让这个 C# 代码自动覆盖文件?【英文标题】:Is there a way to get this C# code to automatically overwrite files? 【发布时间】: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

谢谢

【问题讨论】:

【参考方案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”和内置的进度条。我想我的蛋糕也吃不下了。 :( 不过谢谢。

以上是关于有没有办法让这个 C# 代码自动覆盖文件?的主要内容,如果未能解决你的问题,请参考以下文章

由于编辑器没有自动更新,有没有办法防止在 git pull 后意外覆盖?

解压缩文件夹时如何让文件自动覆盖现有文件?

如何使用 c# 读取此代码覆盖率 xml 文件报告

c# WINFORM 导入EXCEL数据覆盖问题

解决Sonar扫描Lombok注解的代码没有覆盖率

如何从业力代码覆盖率报告中排除文件?