C#删除.git文件夹

C#在通常情况下删除文件只需要调用下面的方法即可:

Directory.Delete(dir.FullName, true);

上面的代码会删除指定的文件夹及文件夹下面所有的子文件夹和文件。

但是用上面的代码去删除.git文件夹的目录时,貌似会失败,报异常。
具体的失败原因不是特别清楚,也没有去仔细钻研。
可能的原因是因为.git文件夹下面有隐藏文件和隐藏文件夹之类的。也有可能是用户权限,或者文件/文件夹的所属权的问题。

想了个变通的方法,可以调用控制台命令rd来删除文件夹。在操作系统的控制台下只需要调用下面的命令即可实现删除文件夹及文件夹下面所有的子文件夹和文件的功能:

rd /s /q 文件夹的路径

在WPF中调用控制台命令,可以借助CliWrap来完成。
1、安装CliWrap

Install-Package CliWrap

2、调用命令

CommandResult result = await Cli.Wrap("cmd.exe")
    .WithArguments(new[] { "/C", "rd", "/s", "/q", dir.FullName })
    .ExecuteAsync();
posted @   wzwyc  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示