C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でファイルやフォルダを検索する方法

C#でディレクトリ(フォルダ)を検索する方法

C#では、Directory.GetDirectoriesメソッドを使うことで、指定したパス以下に存在するサブフォルダの一覧を簡単に取得できます。

Directory.GetDirectoriesの基本的な使い方

まず、検索の起点となるパスからサブフォルダの一覧を取得します。その後、取得した各ディレクトリに対して同じ処理を繰り返すことで、階層全体を効率的に検索することが可能です。

string path = @"d:/New/Myfile";
string[] myDir = Directory.GetDirectories(path, "xml", SearchOption.AllDirectories);
Console.WriteLine(myDir.Length.ToString());
foreach (string res in myDir)
Console.WriteLine(res);

コードの解説

上記のコードでは、次のような処理を行っています。

  • path:検索を開始する起点となるフォルダのパスを指定します。
  • "xml":検索対象となるフォルダ名のパターンを指定します。
  • SearchOption.AllDirectories:このオプションを指定すると、すべてのサブディレクトリが再帰的に検索されます。

検索結果は文字列配列として返され、見つかったフォルダの総数(配列の長さ)と、各フォルダのフルパスがコンソールに出力されます。

検索範囲を制御するには

SearchOption.TopDirectoryOnlyを指定した場合は、指定したパスの直下にあるフォルダのみが検索対象となり、サブフォルダの中までは検索されません。用途に応じてこの2つのオプションを使い分けるとよいでしょう。

  1. 【findコマンド徹底解説】Linuxでファイルやディレクトリを柔軟に検索する方法

    Linuxのfindコマンドは、Linuxシステムにおいて最も重要かつ便利なコマンドの一つです。その名の通り、自分で設定したさまざまな条件や変数に基づいて、Linuxマシン上のファイルを検索できます。パーミッション、ユーザー、グループ、ファイルタイプ、日付、サイズなど、多彩な条件を組み合わせて目的のファイルを見つけられるのが特徴です。この記事では、findコマンドを使ってLinux上でファイルを検索する方法を詳しく解説します。 findコマンドはほとんどのLinuxディストリビューションにデフォルトで搭載されているため、追加でパッケージをインストールする必要はありません。 カレントディレクト

  2. Windows 10で大容量ファイルを簡単に見つける方法|ストレージ不足を解消する3つの手法

    「ストレージの空き領域が不足しています」という警告が表示され、空き容量を確保するのに苦労していませんか?そのようなときに最も効果的なのが、Windows 10の中にある大容量ファイルを特定することです。どのファイルが不要なのかを正確に把握できれば、それらを削除してストレージ容量を回復できます。 では、PC上の大きなファイルはどうやって探せばよいのでしょうか? 実は、Windows 10で大容量ファイルを見つける方法はいくつかあります。標準搭載のツールを使う方法と、「Disk Analyzer Pro」のようなサードパーティ製アプリを使う方法です。Disk Analyzer Proなら、あっとい