情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

DirectoryInfo クラス

ディレクトリとサブディレクトリを作成、削除、および列挙するためのインスタンス メソッドを公開します。 このクラスは継承できません。

名前空間:  System.IO
アセンブリ:  mscorlib (mscorlib.dll 内)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class DirectoryInfo : FileSystemInfo

DirectoryInfo 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドXNA Framework によるサポートDirectoryInfo指定したパスに対する、DirectoryInfo クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティXNA Framework によるサポートAttributes現在のファイルまたはディレクトリの属性を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティXNA Framework によるサポートCreationTime現在のファイルまたはディレクトリの作成日時を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティCreationTimeUtc現在のファイルまたはディレクトリの作成日時を世界協定時刻 (UTC) で取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティXNA Framework によるサポートExistsディレクトリが存在するかどうかを示す値を取得します。 (FileSystemInfo.Exists をオーバーライドします。)
パブリック プロパティXNA Framework によるサポートExtensionファイルの拡張子部分を表す文字列を取得します。 (FileSystemInfo から継承されます。)
パブリック プロパティXNA Framework によるサポートFullNameディレクトリまたはファイルの絶対パスを取得します。 (FileSystemInfo から継承されます。)
パブリック プロパティXNA Framework によるサポートLastAccessTime現在のファイルまたはディレクトリに最後にアクセスした時刻を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティLastAccessTimeUtc現在のファイルまたはディレクトリに最後にアクセスした時刻を世界協定時刻 (UTC) で取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティXNA Framework によるサポートLastWriteTime現在のファイルまたはディレクトリに最後に書き込みが行われた時刻を取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティLastWriteTimeUtc現在のファイルまたはディレクトリに最後に書き込みが行われた時刻を世界協定時刻 (UTC) で取得または設定します。 (FileSystemInfo から継承されます。)
パブリック プロパティXNA Framework によるサポートName DirectoryInfo の現在のインスタンスの名前を取得します。 (FileSystemInfo.Name をオーバーライドします。)
パブリック プロパティXNA Framework によるサポートParent指定されたサブディレクトリの親ディレクトリを取得します。
パブリック プロパティXNA Framework によるサポートRootディレクトリのルート部分を取得します。
このページのトップへ

  名前説明
パブリック メソッドXNA Framework によるサポートCreate()ディレクトリを作成します。
パブリック メソッドCreate(DirectorySecurity) DirectorySecurity オブジェクトを使用してディレクトリを作成します。
パブリック メソッドCreateObjRefリモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッドXNA Framework によるサポートCreateSubdirectory(String)指定したパスに 1 つ以上のサブディレクトリを作成します。 パスは、この DirectoryInfo クラスのインスタンスに対する相対パスで指定できます。
パブリック メソッドCreateSubdirectory(String, DirectorySecurity)適用するセキュリティを指定して、指定したパスに 1 つ以上のサブディレクトリを作成します。 パスは、この DirectoryInfo クラスのインスタンスに対する相対パスで指定できます。
パブリック メソッドXNA Framework によるサポートDelete() DirectoryInfo が空の場合に、そのインスタンスを削除します。 (FileSystemInfo.Delete() をオーバーライドします。)
パブリック メソッドXNA Framework によるサポートDelete(Boolean)中に含まれているサブディレクトリとファイルを削除するかどうかを指定して、DirectoryInfo のインスタンスを削除します。
パブリック メソッドEnumerateDirectories()現在のディレクトリの列挙可能なディレクトリ情報のコレクションを返します。
パブリック メソッドEnumerateDirectories(String)指定された検索パターンに一致する列挙可能なディレクトリ情報のコレクションを返します。
パブリック メソッドEnumerateDirectories(String, SearchOption)指定された検索パターンと、サブディレクトリを検索するかどうかを指定するオプションの設定に一致する列挙可能なディレクトリ情報のコレクションを返します。
パブリック メソッドEnumerateFiles()現在のディレクトリに存在するファイル情報の列挙可能なコレクションを返します。
パブリック メソッドEnumerateFiles(String)検索パターンに一致する列挙可能なファイル情報のコレクションを返します。
パブリック メソッドEnumerateFiles(String, SearchOption)指定された検索パターンと、サブディレクトリを検索するかどうかを指定するオプションの設定に一致する列挙可能なファイル情報のコレクションを返します。
パブリック メソッドEnumerateFileSystemInfos()現在のディレクトリ内の列挙可能なファイル システム情報のコレクションを返します。
パブリック メソッドEnumerateFileSystemInfos(String)指定された検索パターンに一致する列挙可能なファイル システム情報のコレクションを返します。
パブリック メソッドEnumerateFileSystemInfos(String, SearchOption)指定された検索パターンと、サブディレクトリを検索するかどうかを指定するオプションの設定に一致する列挙可能なファイル システム情報のコレクションを返します。
パブリック メソッドXNA Framework によるサポートEquals(Object)指定のオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッドGetAccessControl()現在の DirectoryInfo オブジェクトが示すディレクトリのアクセス制御リスト (ACL) エントリをカプセル化する DirectorySecurity オブジェクトを取得します。
パブリック メソッドGetAccessControl(AccessControlSections)現在の DirectoryInfo オブジェクトで示されるディレクトリの、指定した種類のアクセス制御リスト (ACL) エントリをカプセル化する DirectorySecurity オブジェクトを取得します。
パブリック メソッドXNA Framework によるサポートGetDirectories()現在のディレクトリのサブディレクトリを返します。
パブリック メソッドXNA Framework によるサポートGetDirectories(String)現在の DirectoryInfo 内にあり、指定した検索基準に一致するディレクトリの配列を返します。
パブリック メソッドGetDirectories(String, SearchOption)現在の DirectoryInfo 内にある、指定した検索条件に一致し、サブディレクトリを検索するかどうかを決定する値を持つディレクトリの配列を返します。
パブリック メソッドXNA Framework によるサポートGetFiles()現在のディレクトリからファイル一覧を返します。
パブリック メソッドXNA Framework によるサポートGetFiles(String)現在のディレクトリから、指定した検索パターンに一致するファイル一覧を返します。
パブリック メソッドGetFiles(String, SearchOption)現在のディレクトリから、指定した検索パターンに一致し、サブディレクトリを検索するかどうかを決定する値を持つファイル一覧を返します。
パブリック メソッドXNA Framework によるサポートGetFileSystemInfos()ディレクトリ内のすべてのファイルとサブディレクトリを表す、厳密に型指定された FileSystemInfo エントリの配列を返します。
パブリック メソッドXNA Framework によるサポートGetFileSystemInfos(String)指定した検索条件に一致するファイルおよびサブディレクトリを表す、厳密に型指定された FileSystemInfo オブジェクトの配列を取得します。
パブリック メソッドGetFileSystemInfos(String, SearchOption)指定した検索条件に一致するファイルおよびサブディレクトリを表す FileSystemInfo オブジェクトの配列を取得します。
パブリック メソッドXNA Framework によるサポートGetHashCode既定のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetLifetimeService対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッドGetObjectDataファイル名と追加の例外情報を使用して SerializationInfo オブジェクトを設定します。 (FileSystemInfo から継承されます。)
パブリック メソッドXNA Framework によるサポートGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドInitializeLifetimeService対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッドXNA Framework によるサポートMoveTo DirectoryInfo のインスタンスとその内容を新しいパスに移動します。
パブリック メソッドXNA Framework によるサポートRefreshオブジェクトの状態を更新します。 (FileSystemInfo から継承されます。)
パブリック メソッドSetAccessControl DirectorySecurity オブジェクトが示すアクセス制御リスト (ACL) エントリを、現在の DirectoryInfo オブジェクトが示すディレクトリに適用します。
パブリック メソッドXNA Framework によるサポートToStringユーザーから渡された元のパスを返します。 (Object.ToString() をオーバーライドします。)
このページのトップへ

DirectoryInfo クラスは、ディレクトリのコピー、移動、名前変更、作成、削除などの一般的な操作に使用します。

オブジェクトを何回か再利用する場合は、必ずしもセキュリティ チェックが必要ではなくなるため、Directory の対応する静的メソッドの代わりに DirectoryInfo のインスタンス メソッドを使用することを検討してください。

メモメモ

入力文字列としてパスを受け入れるメンバーでは、そのパスが正しい書式である必要があります。それ以外の場合は、例外が発生します。 たとえば、パスが絶対パスであっても空白で始まっている場合、そのパスはクラスのメソッドではトリムされません。 このため、パスが正しい書式にならず、例外が発生します。 同様に、1 つのパスまたは複数のパスの組み合わせを絶対パスとして 2 度指定することはできません。 たとえば、"c:\temp c:\windows" でも、ほとんどの場合において例外が発生します。 パス文字列を受け入れるメソッドを使用するときは、パスが適切な書式であることを確認します。

パスを受け入れるメンバーでは、ファイルまたはディレクトリを参照するパスを指定できます。 指定するパスは、相対パス、またはサーバーおよび共有名を示す UNC (Universal Naming Convention) パスにすることができます。 たとえば、次に示すパスはすべて有効なパスです。

  • C# では "c:\\MyDir\\MyFile.txt"、Visual Basic では "c:\MyDir\MyFile.txt"。

  • C# では "c:\\MyDir"、Visual Basic では "c:\MyDir"。

  • C# では "MyDir\\MySubdir"、Visual Basic では "MyDir\MySubDir"。

  • C# では "\\\\MyServer\\MyShare"、Visual Basic では "\\MyServer\MyShare"。

既定では、すべてのユーザーに、新しいディレクトリに対する完全な読み書きアクセス権が与えられます。

共通 I/O タスクの一覧については、「共通 I/O タスク」を参照してください。

DirectoryInfo クラスの主要なメンバーの例を次に示します。


using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        // Specify the directories you want to manipulate.
        DirectoryInfo di = new DirectoryInfo(@"c:\MyDir");
        try 
        {
            // Determine whether the directory exists.
            if (di.Exists) 
            {
                // Indicate that the directory already exists.
                Console.WriteLine("That path exists already.");
                return;
            }

            // Try to create the directory.
            di.Create();
            Console.WriteLine("The directory was created successfully.");

            // Delete the directory.
            di.Delete();
            Console.WriteLine("The directory was deleted successfully.");

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        } 
        finally {}
    }
}


ディレクトリとその内容をコピーする方法の例を次に示します。


using System;
using System.IO;

class CopyDir
{
    public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
    {
        if (source.FullName.ToLower() == target.FullName.ToLower())
        {
            return;
        }

        // Check if the target directory exists, if not, create it.
        if (Directory.Exists(target.FullName) == false)
        {
            Directory.CreateDirectory(target.FullName);
        }

        // Copy each file into it's new directory.
        foreach (FileInfo fi in source.GetFiles())
        {
            Console.WriteLine(@"Copying {0}\{1}", target.FullName, fi.Name);
            fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
        }

        // Copy each subdirectory using recursion.
        foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
        {
            DirectoryInfo nextTargetSubDir =
                target.CreateSubdirectory(diSourceSubDir.Name);
            CopyAll(diSourceSubDir, nextTargetSubDir);
        }
    }

    public static void Main()
    {
        string sourceDirectory = @"c:\sourceDirectory";
        string targetDirectory = @"c:\targetDirectory";

        DirectoryInfo diSource = new DirectoryInfo(sourceDirectory);
        DirectoryInfo diTarget = new DirectoryInfo(targetDirectory);

        CopyAll(diSource, diTarget);
    }

    // Output will vary based on the contents of the source directory.
}


.NET Framework

サポート対象 : 4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

この .NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、次を参照してください。.NET Framework システム要件.

パブリック static (Visual Basic では Shared) メンバーがこの型である場合は、いずれもスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

コミュニティの追加

表示:
© 2014 Microsoft