次の方法で共有


Directory.CreateDirectory メソッド

path で指定したすべてのディレクトリとサブディレクトリを作成します。

Public Shared Function CreateDirectory( _
   ByVal path As String _) As DirectoryInfo
[C#]
public static DirectoryInfo CreateDirectory(stringpath);
[C++]
public: static DirectoryInfo* CreateDirectory(String* path);
[JScript]
public static function CreateDirectory(
   path : String) : DirectoryInfo;

パラメータ

  • path
    作成するディレクトリ パス。

戻り値

path で指定された DirectoryInfo

例外

例外の種類 条件
IOException path によって指定されたディレクトリが、読み取り専用であるか、空ではありません。
UnauthorizedAccessException 呼び出し元に、必要なアクセス許可がありません。
ArgumentException path が、長さが 0 の文字列であるか、空白しか含んでいないか、または InvalidPathChars で定義されている無効な文字を 1 つ以上含んでいます。
ArgumentNullException path が null 参照 (Visual Basic では Nothing) です。
PathTooLongException 指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windows ベースのプラットフォームの場合、パスの長さは 248 文字未満、ファイル名の長さは 260 文字未満である必要があります。
DirectoryNotFoundException 割り当てられていないドライブであるなど、指定されたパスが無効です。
NotSupportedException コロン (:) 文字だけでディレクトリを作成しようとしました。

解説

path で指定したすべてのディレクトリが既に存在するか、 path の一部が無効である場合を除き、それらのディレクトリが作成されます。 path パラメータでは、ファイル パスではなく、ディレクトリ パスを指定します。コロン (:) 文字だけで作成したディレクトリはサポートされず、 NotSupportedException がスローされます。

このメソッドの使用例については、以下の「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。

実行するタスク 参考例があるトピック
ディレクトリをコピーする。 Directory
ディレクトリの名前を変更、またはディレクトリを移動する。 Directory.Move

DirectoryInfo.MoveTo

ディレクトリを削除する。 Directory.Delete

DirectoryInfo.Delete

サブディレクトリを作成する。 CreateSubdirectory
ディレクトリ内のファイルを参照する。 Name
ディレクトリ内のサブディレクトリを参照する。 GetDirectories

GetDirectories

ディレクトリ内のすべてのサブディレクトリにあるすべてのファイルを参照する。 GetFileSystemInfos

使用例

[Visual Basic, C#, C++] 指定したディレクトリを作成し、削除する例を次に示します。

 
Imports System
Imports System.IO
Imports Microsoft.VisualBasic

Public Class Test
    Public Shared Sub Main()
        ' Specify the directory you want to manipulate.
        Dim path As String = "c:\MyDir"

        Try
            ' Determine whether the directory exists.
            If Directory.Exists(path) Then
                Console.WriteLine("That path exists already.")
                Return
            End If

            ' Try to create the directory.
            Dim di As DirectoryInfo = Directory.CreateDirectory(path)
            Console.WriteLine("The directory was created successfully at {0}.", Directory.GetCreationTime(path))

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

        Catch e As Exception
            Console.WriteLine("The process failed: {0}.", e.ToString())
        End Try
    End Sub
End Class

[C#] 
using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        // Specify the directory you want to manipulate.
        string path = @"c:\MyDir";

        try 
        {
            // Determine whether the directory exists.
            if (Directory.Exists(path)) 
            {
                Console.WriteLine("That path exists already.");
                return;
            }

            // Try to create the directory.
            DirectoryInfo di = Directory.CreateDirectory(path);
            Console.WriteLine("The directory was created successfully at {0}.", Directory.GetCreationTime(path));

            // Delete the directory.
            di.Delete();
            Console.WriteLine("The directory was deleted successfully.");
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        } 
        finally {}
    }
}

[C++] 
#using <mscorlib.dll>

using namespace System;
using namespace System::IO;

int main() {
    // Specify the directory you want to manipulate.
    String* path = S"c:\\MyDir";

    try {
        // Determine whether the directory exists.
        if (Directory::Exists(path)) {
            Console::WriteLine(S"That path exists already.");
            return 0;
        }

        // Try to create the directory.
        DirectoryInfo* di = Directory::CreateDirectory(path);
        Console::WriteLine(S"The directory was created successfully at {0}.",
             __box(Directory::GetCreationTime(path)));

        // Delete the directory.
        di->Delete();
        Console::WriteLine(S"The directory was deleted successfully.");
    } catch (Exception* e) {
        Console::WriteLine(S"The process failed: {0}", e);
    } 
}

[Visual Basic, C#, C++] 現在のディレクトリが C:\Users\User1 の場合にディレクトリ C:\Users\User1\Public\Html を作成するには、次の呼び出しを使用して、円記号が正しく解釈されていることを確認してください。

[Visual Basic, C#, C++] Visual Basic の場合:

Directory.CreateDirectory("Public\Html") 
    Directory.CreateDirectory("\Users\User1\Public\Html") 
    Directory.CreateDirectory("c:\Users\User1\Public\Html")

[Visual Basic, C#, C++] C# の場合:

Directory.CreateDirectory("Public\\Html");
    Directory.CreateDirectory("\\Users\\User1\\Public\\Html");
    Directory.CreateDirectory("c:\\Users\\User1\\Public\\Html");

[Visual Basic, C#, C++] C++ の場合:

Directory::CreateDirectory("Public\\Html");
    Directory::CreateDirectory("\\Users\\User1\\Public\\Html");
    Directory::CreateDirectory("c:\\Users\\User1\\Public\\Html");

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

.NET Framework セキュリティ:

参照

Directory クラス | Directory メンバ | System.IO 名前空間 | DirectoryInfo | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み