.NET Framework Class Library
Environment..::.CurrentDirectory Property

Gets or sets the fully qualified path of the current working directory.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
Syntax

Visual Basic (Declaration)
Public Shared Property CurrentDirectory As String
Visual Basic (Usage)
Dim value As String

value = Environment.CurrentDirectory

Environment.CurrentDirectory = value
C#
public static string CurrentDirectory { get; set; }
Visual C++
public:
static property String^ CurrentDirectory {
    String^ get ();
    void set (String^ value);
}
JScript
public static function get CurrentDirectory () : String
public static function set CurrentDirectory (value : String)

Property Value

Type: System..::.String
A string containing a directory path.
Exceptions

ExceptionCondition
ArgumentException

Attempted to set to an empty string ("").

ArgumentNullException

Attempted to set to nullNothingnullptra null reference (Nothing in Visual Basic).

IOException

An I/O error occurred.

DirectoryNotFoundException

Attempted to set a local path that cannot be found.

SecurityException

The caller does not have the appropriate permission.

Remarks

By definition, if this process starts in the root directory of a local or network drive, the value of this property is the drive name followed by a trailing slash (for example, "C:\"). If this process starts in a subdirectory, the value of this property is the drive and subdirectory path, without a trailing slash (for example, "C:\mySubDirectory").

Examples

The following code example demonstrates setting the CurrentDirectory property.

Visual Basic
' Change the directory to %WINDIR%                            
Environment.CurrentDirectory = Environment.GetEnvironmentVariable("windir")
Dim info As New DirectoryInfo(".")
Console.WriteLine(("Directory Info:   " + info.FullName))        
C#
        // Change the directory to %WINDIR%                            
        Environment.CurrentDirectory = Environment.GetEnvironmentVariable("windir");        
        DirectoryInfo info = new DirectoryInfo(".");
            lock(info)
            {      
            Console.WriteLine("Directory Info:   "+info.FullName);
            }
Visual C++
// Change the directory to %WINDIR%       
Environment::CurrentDirectory = Environment::GetEnvironmentVariable( "windir" );
DirectoryInfo^ info = gcnew DirectoryInfo( "." );
System::Threading::Monitor::Enter( info );
try
{
   Console::WriteLine( "Directory Info:   {0}", info->FullName );
}
finally
{
   System::Threading::Monitor::Exit( info );
}


.NET Framework Security

Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
See Also

Reference

Tags :


Community Content

Medinoc
There is only one "current directory" per process
Not one per thread. Beware!

Page view tracker