【C#】Directoryクラスでディレクトリとファイルを一覧表示・操作する方法
C#のDirectoryクラスとは
C#のDirectoryクラス(System.IO名前空間)には、ディレクトリやサブディレクトリに対してさまざまな操作を行うためのメソッドが多数用意されています。ここでは、特によく使われる主要なメソッドを紹介します。
| 番号 | メソッドと説明 |
|---|---|
| 1 | CreateDirectory(String) 指定したパスにすべてのディレクトリとサブディレクトリを作成します(すでに存在する場合は何もしません)。 |
| 2 | CreateDirectory(String, DirectorySecurity) 指定したWindowsセキュリティ設定を適用しながら、指定したパスにすべてのディレクトリを作成します(すでに存在する場合を除く)。 |
| 3 | Delete(String) 指定したパスから空のディレクトリを削除します。 |
| 4 | Delete(String, Boolean) 指定したディレクトリを削除します。第2引数にtrueを指定すると、サブディレクトリやファイルもまとめて削除できます。 |
| 5 | EnumerateDirectories(String) 指定したパス内のディレクトリ名の列挙可能なコレクションを返します。 |
| 6 | EnumerateDirectories(String, String) 指定したパス内で、検索パターンに一致するディレクトリ名の列挙可能なコレクションを返します。 |
ディレクトリとファイルの一覧表示手順
ディレクトリ名を取得するには、EnumerateDirectoriesメソッドを使用します。まず、対象となるフォルダをDirectoryInfoクラスで設定しましょう。
DirectoryInfo info = new DirectoryInfo(@"D:/new");
続いて、フォルダ内のすべてのファイルの合計サイズを求めるには、LINQのSumメソッドと組み合わせて次のように記述します。
long totalSize = info.EnumerateFiles().Sum(file => file.Length);
サブディレクトリの一覧を取得したい場合は、以下のようにEnumerateDirectoriesメソッドを呼び出します。
info.EnumerateDirectories()
ポイントまとめ
- EnumerateFiles():ファイル情報を遅延評価で列挙するため、大きなフォルダでも効率的に処理できます。
- EnumerateDirectories():GetDirectories()と異なり、列挙中でも結果を逐次処理できるためパフォーマンスに優れています。
- これらのメソッドを使用する際は、
using System.IO;とusing System.Linq;を忘れずに追加してください。
-
PowerShellでファイルとフォルダーを削除する方法【Remove-Itemコマンド徹底解説】
ファイルやフォルダーをひとつずつ手動で削除するのは、意外と手間がかかる作業です。しかし、PowerShellの使い方をマスターしていれば、そんな面倒な作業も一瞬で終わらせられます。この記事では、PowerShellを使ってWindowsのファイルやフォルダーを削除するさまざまな方法を紹介します。 PowerShellとは PowerShellは、Windowsが無料で提供しているコマンドライン自動化ツールです。コマンドプロンプトのウィンドウ上で起動するシェルを通じて、OSをより細かくコントロールできるようになるのが特徴です。 PowerShellでは「コマンドレット(Cmdlet)」と呼ばれ
-
AirDropとは?iPhone・Mac間でファイルを共有する方法を徹底解説
AirDropとは? 今すぐ、近くにあるMac・iPhone・iPadにファイルを送信できます。 テクノロジーの進化とともに、古いものは新しいものへと置き換えられていきます。その流れの中で、長年親しまれてきたメールもAirDropに取って代わりつつあります。意外に思われるかもしれませんが、AirDropは面倒なメールよりもはるかに優れたコミュニケーション手段なのです。 AirDropを使えば、暗号化された接続を通じて、近くにあるMacやiOSデバイス間でワイヤレスにファイルを共有できます。 何より嬉しいのは、面倒な初期設定なしですぐにファイル共有を始められる点です。デバイスが同じネットワーク