Share via


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

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 セキュリティ:

参照

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