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

C#のGetLogicalDrivesでシステム上の論理ドライブ一覧を取得する方法

C#のGetLogicalDrivesメソッドとは

システム上に存在するすべてのディスクドライブ(論理ドライブ)の一覧を取得したい場合は、C#のEnvironment.GetLogicalDrives()メソッドを使用します。このメソッドは、現在の実行環境で利用可能な論理ドライブのパスを文字列配列として返します。

Environment.GetLogicalDrives()

カンマ区切りでドライブ一覧を出力する

取得したドライブ名を見やすく表示したい場合は、string.Joinメソッドと組み合わせると便利です。これにより、論理ドライブの一覧をカンマ区切りの1つの文字列として出力できます。

string.Join(",", Environment.GetLogicalDrives())

サンプルコード

以下は、GetLogicalDrives()メソッドを使ってシステム上の論理ドライブをコンソールに表示する完全なプログラム例です。

using System;
using System.IO;
namespace Demo {
    class Program {
        static void Main(string[] args) {
            Console.WriteLine(string.Join(",", Environment.GetLogicalDrives()));
        }
    }
}

実行結果

/,/etc/resolv.conf,/etc/hostname,/etc/hosts,/run/secrets,/home/cg/root

解説

上記の実行結果はLinux環境での例であり、マウントされているルートパスや設定ファイルへのパスなどが表示されています。

Windows環境で実行した場合、「C:\」「D:\」のように、接続されている各ドライブのルートパスが返されます。

このようにEnvironment.GetLogicalDrives()を利用すれば、OSの種類に依存することなく、システムで利用可能なドライブ情報を簡単に取得できるため、ストレージ管理ツールやファイル操作アプリケーションの開発などで幅広く活用できます。

  1. C#のSystem.Reflection.Moduleとは何か?基本概念と実装例をわかりやすく解説

    C#におけるSystem.Reflection名前空間は、アプリケーションに関する情報を取得したり、型・値・オブジェクトを動的に追加したりするためのクラス群を提供しています。リフレクション(Reflection)機能を使うことで、プログラムの実行時にアセンブリやモジュール、クラスのメタデータにアクセスできるようになります。ModuleクラスとはSystem.Reflectionには、Moduleクラスの新しいインスタンスを初期化するためのモジュールコンストラクタが用意されています。ここでいう「モジュール」とは、1つ以上のクラスやインターフェースを含むポータブル実行可能ファイル(PEファイル)の

  2. Windowsエラーコード43とは?主な原因と解決方法を徹底解説

    Windowsエラーコード43は、PCがハードウェアを正常に動作させるために必要な設定や情報を正しく処理できない場合に発生するトラブルです。このエラーは、主にデバイスドライバーが古くなっている、あるいは正しくインストールされていないことが原因で表示されます。本記事では、Windowsエラーコード43の発生原因と、具体的な解決手順について詳しく解説していきます。 Windowsエラーコード43の原因は? このエラーが発生すると、画面には次のようなメッセージが表示されます。 「Windows は、このデバイスに問題が発生したため停止しました(コード 43)」 エラーコード43は、システムに接続さ