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 |
ディレクトリを削除する。 | Directory.Delete |
サブディレクトリを作成する。 | CreateSubdirectory |
ディレクトリ内のファイルを参照する。 | Name |
ディレクトリ内のサブディレクトリを参照する。 | 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 セキュリティ:
- FileIOPermission (ファイルやディレクトリから読み取りを行うために必要なアクセス許可) FileIOPermissionAccess.Read 、 FileIOPermissionAccess.Write (関連する列挙体)
参照
Directory クラス | Directory メンバ | System.IO 名前空間 | DirectoryInfo | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み