请问C#如何实现 删除指定路径下的目录或者文件到回收站?有哪些比较好的方法?
4条回答 默认 最新
- Kwan的解忧杂货铺@新空间代码工作室 2024-03-12 16:22关注
薛定谔不养猫 下午好🌅🌅🌅
本答案参考ChatGPT-3.5要实现删除指定路径下的目录或文件到回收站,可以使用以下方法:
- 使用
FileSystem.Delete
方法:此方法可以删除文件或目录,并将其移动到回收站。可以使用FileAttributes
枚举中的FileAttributes.RecycleBin
属性来指示删除操作将文件移动到回收站。示例代码如下:
using System.IO; string path = "C:\\path\\to\\fileOrDirectory"; // 检查指定路径是文件还是目录 if (File.Exists(path)) { // 删除文件 FileSystem.DeleteFile(path, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin); } else if (Directory.Exists(path)) { // 删除目录 FileSystem.DeleteDirectory(path, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin); }
注意: 需要添加
Microsoft.VisualBasic
命名空间的引用。- 使用
Shell32
COM组件:通过使用Shell32 COM组件,可以实现将指定路径下的文件或目录移动到回收站。首先需要添加对Shell32
COM组件的引用。然后使用以下代码执行删除操作:
string path = "C:\\path\\to\\fileOrDirectory"; // 创建Shell对象 dynamic shell = Activator.CreateInstance(Type.GetTypeFromProgID("Shell.Application")); // 获取指定路径的文件或目录 dynamic directory = shell.NameSpace(Path.GetDirectoryName(path)); dynamic item = directory.ParseName(Path.GetFileName(path)); // 将文件或目录移动到回收站 item.InvokeVerb("Delete");
- 使用第三方库:还可以使用第三方库来实现将文件或目录移动到回收站。其中一个比较好的库是
Microsoft.VisualBasic.FileIO.FileSystem
,它提供了类似于FileSystem
的删除方法。示例代码如下:
using Microsoft.VisualBasic.FileIO; string path = "C:\\path\\to\\fileOrDirectory"; // 检查指定路径是文件还是目录 if (File.Exists(path)) { // 删除文件 FileSystem.DeleteFile(path, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin); } else if (Directory.Exists(path)) { // 删除目录 FileSystem.DeleteDirectory(path, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin); }
以上方法可以实现将指定路径下的文件或目录移动到回收站。使用其中任何一种方法都可以根据需要执行删除操作。
解决 无用评论 打赏 举报 - 使用
悬赏问题
- ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
- ¥15 找一个QT页面+目标识别(行人检测)的开源项目
- ¥15 有没有整苹果智能分拣线上图像数据
- ¥20 有没有人会这个东西的
- ¥15 cfx考虑调整“enforce system memory limit”参数的设置
- ¥30 航迹分离,航迹增强,误差分析
- ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
- ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
- ¥15 LLM accuracy检测
- ¥15 pycharm添加远程解释器报错