c# Windowsでファイルを削除せずにゴミ箱に入れる方法

ファイルを削除したいときもあれば、あとで復元させやすいようにするために、ゴミ箱に入れておきたいときもあります。

この記事では、c#でファイルを削除せずにゴミ箱に入れる方法を紹介します。

1. サンプルコード

サンプルコード全文は以下のとおりです。

using System;
using Microsoft.VisualBasic.FileIO;


namespace sendtorecycle
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            SendToRecycleBin("test.txt");
        }

        static void SendToRecycleBin(string filepath)
        {
            FileSystem.DeleteFile(filepath, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);
        }
    }
}

このコードのポイントは、名前空間「Microsoft.VisualBasic.FileIO」にあるFileSystem.DeleteFileメソッドです。

2. メソッド説明

公式ドキュメントはこちらです。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.fileio.filesystem.deletefile?view=net-5.0

DeleteFileメソッドは3つのパラメタを入力にします。

public static void DeleteFile (string file, Microsoft.VisualBasic.FileIO.UIOption showUI, Microsoft.VisualBasic.FileIO.RecycleOption recycle);

1つ目は、ゴミ箱に入れるファイルのパスです。上記のサンプルコードでは、カレントディレクトリにあるtest.txtを対象にしています。

2つ目は、ユーザーインタフェースの表示おオプションです。ここでは、エラーがあったときのみ表示するUIOption.OnlyErrorDialogsをセットしています。

3つ目は、ゴミ箱に入れるかどうかのオプションです。RecycleOption.SendToRecycleBinだと、ゴミ箱に入ります。ここをRecycleOption.DeletePermanentlyとすると、ゴミ箱に入らず、完全に削除されます。

3. 実行例

このように、カレントディレクトリに「test.txt」が存在するとします。

そして、dotnet runコマンドで実行します。

すると、以下のようにゴミ箱に入れば成功です。

速攻でメモできる QuickNote リリースしました!

QuickNoteは動作が超軽量でサクサクかけるノートアプリです。一瞬の閃きを逃さずにノートを開き書き始めることができます。 アカウント登録も不要です。お試しあれ!

Excel操作をコマンドで! proBoarderExcel

Excelはマウスで操作するのが基本ですが、マウス操作に疲れてはいませんか? キーボードでExcel操作ができるようになるアプリです。オープンソースで無料です。

積み上げ! Daily Stack リリースしました!

Daily Stack は日々の積み上げを管理するToDoアプリです。過去の積み上げの振り返りだけでなく、ツイート機能もあります。 アカウント登録不要ですぐに使い始めることができます。

ExecNote.app リリースしました!

ExecNoteは、コードが実行できるMarkdownアプリケーションです。Markdownドキュメント内に記載したコードをクリックすると実行ができます。わざわざターミナルを 起動させる必要がありません!無料ですのでもしよければダウンロードをお願いします。

About Me

11年目のシステムエンジニアです。アプリで生活や仕事を改善したい🐱仕事効率化、自動化のアプリ開発が得意です、ご相談ください。 🚀エンタメ系アプリの開発も模索中🐬社内SEや個人アプリ開発者、システムエンジニアになりたい人と繋がりたい🐱