Directory.GetCurrentDirectory メソッド
アプリケーションの現在の作業ディレクトリを取得します。
Public Shared Function GetCurrentDirectory() As String
[C#]
public static string GetCurrentDirectory();
[C++]
public: static String* GetCurrentDirectory();
[JScript]
public static function GetCurrentDirectory() : String;
戻り値
現在の作業ディレクトリのパスを格納している文字列。
例外
例外の種類 | 条件 |
---|---|
UnauthorizedAccessException | 呼び出し元に、必要なアクセス許可がありません。 |
解説
現在のディレクトリは、元のディレクトリとは異なり、プロセスが開始されたディレクトリです。
このメソッドの使用例については、以下の「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。
実行するタスク | 参考例があるトピック |
---|---|
テキスト ファイルを作成する。 | ファイルへのテキストの書き込み |
テキスト ファイルに書き込む。 | ファイルへのテキストの書き込み |
テキスト ファイルから読み取る。 | ファイルからのテキストの読み取り |
ディレクトリ内のファイルを参照する。 | Name |
ディレクトリ内のサブディレクトリを参照する。 | GetDirectories |
ディレクトリ内のすべてのサブディレクトリにあるすべてのファイルを参照する。 | GetFileSystemInfos |
ディレクトリのサイズを取得する。 | Directory |
ファイルが存在するかどうかを判別する。 | Exists |
ディレクトリが存在するかどうかを判別する。 | Exists |
.NET Compact Framework - Windows CE .NET プラットフォームに関する注意点: Windows CE .NET を実行するデバイスではカレント ディレクトリ機能が使用されないため、.NET Compact Framework では GetCurrentDirectory がサポートされていません。
使用例
[Visual Basic, C#, C++] GetCurrentDirectory メソッドを実行する例を次に示します。
Imports System
Imports System.IO
Public Class Test
Public Shared Sub Main()
Try
' Get the current directory.
Dim path As String = Directory.GetCurrentDirectory()
Dim target As String = "c:\temp"
Console.WriteLine("The current directory is {0}", path)
If Directory.Exists(target) = False Then
Directory.CreateDirectory(target)
End If
' Change the current directory.
Environment.CurrentDirectory = (target)
If path.Equals(Directory.GetCurrentDirectory()) Then
Console.WriteLine("You are in the temp directory.")
Else
Console.WriteLine("You are not in the temp directory.")
End If
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()
{
try
{
// Get the current directory.
string path = Directory.GetCurrentDirectory();
string target = @"c:\temp";
Console.WriteLine("The current directory is {0}", path);
if (!Directory.Exists(target))
{
Directory.CreateDirectory(target);
}
// Change the current directory.
Environment.CurrentDirectory = (target);
if (path.Equals(Directory.GetCurrentDirectory()))
{
Console.WriteLine("You are in the temp directory.");
}
else
{
Console.WriteLine("You are not in the temp directory.");
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::IO;
int main() {
try {
// Get the current directory.
String* path = Directory::GetCurrentDirectory();
String* target = S"c:\\temp";
Console::WriteLine(S"The current directory is {0}", path);
if (!Directory::Exists(target)) {
Directory::CreateDirectory(target);
}
// Change the current directory.
Environment::CurrentDirectory = target;
if (path->Equals(Directory::GetCurrentDirectory())) {
Console::WriteLine(S"You are in the temp directory.");
} else {
Console::WriteLine(S"You are not in the temp directory.");
}
} catch (Exception* e) {
Console::WriteLine(S"The process failed: {0}", e);
}
}
[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, Common Language Infrastructure (CLI) Standard
.NET Framework セキュリティ:
- FileIOPermission (現在のディレクトリのパス情報にアクセスするために必要な許可) FileIOPermissionAccess.PathDiscovery (関連する列挙体)
参照
Directory クラス | Directory メンバ | System.IO 名前空間 | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み