繁体   English   中英

如何在控制台应用程序中将文件移动到回收站?

[英]How to move file to recycle bin in Console application?

我已经能够使用以下代码永久删除文件:

var DeleteFromDir = new DirectoryInfo(sFromPath);
var files = DeleteFromDir.GetFiles(".txt");
foreach(var file in files)
{
    if(bDeletePermanently)
        file.Delete();
    else
        ; //Move to recycle bin
}

我在下面试过:

添加对 Microsoft.VisualBasic 程序集的引用。 在这个库中可以找到所需的类。

  • 使用 Microsoft.VisualBasic.FileIO 将此 using 语句添加到文件的顶部;

  • 使用 FileSystem.DeleteFile 删除文件,它可以选择是否指定回收站。

但这仅适用于 UI 上下文,而我的应用程序是基于控制台的。

如果您有对 Microsoft.VisualBasic 程序集的引用(如果您愿意,还有一个用于此的 NuGet 包),那么您应该能够使用下面的代码。

var DeleteFromDir = new DirectoryInfo(sFromPath);
var files = DeleteFromDir.GetFiles("*.txt");
foreach (var file in files)
{
    if (bDeletePermanently)
    {
        file.Delete();
    }
    else
    {
        FileSystem.DeleteFile(file.FullName, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);
    }
}

针对您对 UI 上下文的关注,该功能只会“显示错误对话框和隐藏进度对话框”。 如果你想进一步阅读,我在微软的文档中找到了这个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM