エクスポート (0) 印刷
すべて展開

Directory.GetFileSystemEntries メソッド (String, String)

指定した検索条件に一致するファイル システム エントリの配列を返します。

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

public static string[] GetFileSystemEntries (
	string path,
	string searchPattern
)
public static String[] GetFileSystemEntries (
	String path, 
	String searchPattern
)
public static function GetFileSystemEntries (
	path : String, 
	searchPattern : String
) : String[]
適用できません。

パラメータ

path

検索されるパス。

searchPattern

path 内のファイル名と対応させる検索文字列。この searchPattern パラメータは、2 つのピリオド ("..") で終了することはできません。また、2 つのピリオド ("..") に続けて DirectorySeparatorChar または AltDirectorySeparatorChar を指定したり、InvalidPathChars の文字を含めたりすることはできません。

戻り値

検索条件に一致するファイル システム エントリの String 配列。

例外の種類条件

UnauthorizedAccessException

呼び出し元に、必要なアクセス許可がありません。

ArgumentException

path が、長さが 0 の文字列であるか、空白しか含んでいないか、または InvalidPathChars で定義されている無効な文字を 1 つ以上含んでいます。

または

searchPattern に、有効なパターンが含まれていません。

ArgumentNullException

path または searchPattern が null 参照 (Visual Basic では Nothing) です。

PathTooLongException

指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windows ベースのプラットフォームの場合、パスの長さは 248 文字未満、ファイル名の長さは 260 文字未満である必要があります。

IOException

path はファイル名です。

DirectoryNotFoundException

指定したパスが無効です (割り当てられていないドライブであるなど)。

searchPattern で許可されるワイルドカード指定子を次に示します。

ワイルドカード文字

説明

*

0 個以上の文字。

?

1 文字。

ワイルドカード指定子以外の文字は、その文字自体を表します。たとえば、searchPattern 文字列 "*t" は、path 内で、文字 "t" で終わるすべての名前を検索します。searchPattern 文字列 "s*" は、path 内で、文字 "s" で始まるすべての名前を検索します。

拡張子の長さがちょうど 3 文字の場合の searchPattern の一致の動作は、拡張子が 3 文字を超えている場合の動作と異なります。ちょうど 3 文字の searchPattern の場合は、3 文字以上の拡張子を持つファイルが返されます。searchPattern の文字数が 1、2、または 4 以上の場合は、その長さを持つ拡張子のファイルだけが返されます。

searchPattern パラメータにさまざまな長さが設定された場合の動作を次のリストに示します。

  • "*.abc" の場合、.abc、.abcd、.abcde、.abcdef などの拡張子を持つファイルが返されます。

  • "*.abcd" の場合、拡張子が .abcd のファイルだけが返されます。

  • "*.abcde" の場合、拡張子が .abcde のファイルだけが返されます。

  • "*.abcdef" の場合、拡張子が .abcdef のファイルだけが返されます。

path パラメータは、相対パス情報または絶対パス情報を指定することを許可されています。相対パス情報は、現在の作業ディレクトリに対して相対的に解釈されます。現在の作業ディレクトリを取得するには、GetCurrentDirectory のトピックを参照してください。

path パラメータでは大文字と小文字が区別されません。

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

using System;

namespace GetFileSystemEntries
{
    class Class1 
    {
        static void Main(string[] args) 
        {
            Class1 snippets = new Class1();

            string path = System.IO.Directory.GetCurrentDirectory();
            string filter = "*.exe";

            snippets.PrintFileSystemEntries(path);
            snippets.PrintFileSystemEntries(path, filter);		
            snippets.GetLogicalDrives();
            snippets.GetParent(path);
            snippets.Move("C:\\proof", "C:\\Temp");
        }

		
        void PrintFileSystemEntries(string path) 
        {
			
            try 
            {
                // Obtain the file system entries in the directory path.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path); 

                foreach (string str in directoryEntries) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException) 
            {
                System.Console.WriteLine("The path encapsulated in the " + 
                    "Directory object does not exist.");
            }
        }
        void PrintFileSystemEntries(string path, string pattern) 
        {
            try 
            {
                // Obtain the file system entries in the directory
                // path that match the pattern.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path, pattern); 

                foreach (string str in directoryEntries) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException) 
            {
                System.Console.WriteLine("The path encapsulated in the " + 
                    "Directory object does not exist.");
            }
        }

        // Print out all logical drives on the system.
        void GetLogicalDrives() 
        {
            try 
            {
                string[] drives = System.IO.Directory.GetLogicalDrives();

                foreach (string str in drives) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (System.IO.IOException) 
            {
                System.Console.WriteLine("An I/O error occurs.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
        }
        void GetParent(string path) 
        {
            try 
            {
                System.IO.DirectoryInfo directoryInfo =
                    System.IO.Directory.GetParent(path);

                System.Console.WriteLine(directoryInfo.FullName);
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, or " +
                    "contains invalid characters.");
            }
        }
        void Move(string sourcePath, string destinationPath) 
        {
            try 
            {
                System.IO.Directory.Move(sourcePath, destinationPath);
                System.Console.WriteLine("The directory move is complete.");
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");	
            }
            catch (System.IO.IOException) 
            {
                System.Console.WriteLine("An attempt was made to move a " +
                    "directory to a different " +
                    "volume, or destDirName " +
                    "already exists."); 
            }
        }
    }
}

package GetFileSystemEntries ;
import System.*;

class Class1
{
    public static void main(String[] args)
    {
        Class1 snippets = new Class1();

        String path = System.IO.Directory.GetCurrentDirectory();
        String filter = "*.exe";

        snippets.PrintFileSystemEntries(path);
        snippets.PrintFileSystemEntries(path, filter);
        snippets.GetLogicalDrives();
        snippets.GetParent(path);
        snippets.Move("C:\\proof", "C:\\Temp");
    } //main

    void PrintFileSystemEntries(String path)
    {
        try {
            // Obtain the file system entries in the directory path.
            String directoryEntries[] = 
                System.IO.Directory.GetFileSystemEntries(path);

            for (int iCtr = 0; iCtr < directoryEntries.length; iCtr++) {
                String str = directoryEntries[iCtr];
                System.Console.WriteLine(str);
            }
        }
        catch (ArgumentNullException exp) {
            System.Console.WriteLine("Path is a null reference.");
        }
        catch (System.Security.SecurityException exp) {
            System.Console.WriteLine(("The caller does not have the "
                + "required permission."));
        }
        catch (ArgumentException exp) {
            System.Console.WriteLine(("Path is an empty string, "
                + "contains only white spaces, "
                + "or contains invalid characters."));
        }
        catch (System.IO.DirectoryNotFoundException exp) {
            System.Console.WriteLine(("The path encapsulated in the "
                + "Directory object does not exist."));
        }
    } //PrintFileSystemEntries

    void PrintFileSystemEntries(String path, String pattern)
    {
        try {
            // Obtain the file system entries in the directory
            // path that match the pattern.
            String directoryEntries[] = 
                System.IO.Directory.GetFileSystemEntries(path, pattern);

            for (int iCtr = 0; iCtr < directoryEntries.length; iCtr++) {
                String str = directoryEntries[iCtr];
                System.Console.WriteLine(str);
            }
        }
        catch (ArgumentNullException exp) {
            System.Console.WriteLine("Path is a null reference.");
        }
        catch (System.Security.SecurityException exp) {
            System.Console.WriteLine(("The caller does not have the "
                + "required permission."));
        }
        catch (ArgumentException exp) {
            System.Console.WriteLine(("Path is an empty string, "
                + "contains only white spaces, "
                + "or contains invalid characters."));
        }
        catch (System.IO.DirectoryNotFoundException exp) {
            System.Console.WriteLine(("The path encapsulated in the "
                + "Directory object does not exist."));
        }
    } //PrintFileSystemEntries

    // Print out all logical drives on the system.
    void GetLogicalDrives()
    {
        try {
            String drives[] = System.IO.Directory.GetLogicalDrives();

            for (int iCtr = 0; iCtr < drives.length; iCtr++) {
                String str = drives[iCtr];
                System.Console.WriteLine(str);
            }
        }
        catch (System.IO.IOException exp) {
            System.Console.WriteLine("An I/O error occurs.");
        }
        catch (System.Security.SecurityException exp) {
            System.Console.WriteLine(("The caller does not have the "
                + "required permission."));
        }
    } //GetLogicalDrives

    void GetParent(String path)
    {
        try {
            System.IO.DirectoryInfo directoryInfo = 
                System.IO.Directory.GetParent(path);
            System.Console.WriteLine(directoryInfo.get_FullName());
        }
        catch (ArgumentNullException exp) {
            System.Console.WriteLine("Path is a null reference.");
        }
        catch (ArgumentException exp) {
            System.Console.WriteLine(("Path is an empty string, "
                +"contains only white spaces, or contains invalid characters."));
        }
    } //GetParent

    void Move(String sourcePath, String destinationPath)
    {
        try {
            System.IO.Directory.Move(sourcePath, destinationPath);
            System.Console.WriteLine("The directory move is complete.");
        }
        catch (ArgumentNullException exp) {
            System.Console.WriteLine("Path is a null reference.");
        }
        catch (System.Security.SecurityException exp) {
            System.Console.WriteLine(("The caller does not have the "
                + "required permission."));
        }
        catch (ArgumentException exp) {
            System.Console.WriteLine(("Path is an empty string, "
                +"contains only white spaces, or contains invalid characters."));
        }
        catch (System.IO.IOException exp) {
            System.Console.WriteLine(("An attempt was made to move a "
                + "directory to a different "
                + "volume, or destDirName "
                + "already exists."));
        }
    } //Move
} //Class1

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

.NET Compact Framework

サポート対象 : 2.0,1.0

XNA Framework

サポート対象 : 1.0

コミュニティの追加

追加
表示:
© 2014 Microsoft