Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
System Namespace
Environment Class
 CurrentDirectory Property

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.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)
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.
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.

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").

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 );
}



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.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
There is only one "current directory" per process      Medinoc   |   Edit   |   Show History
Not one per thread. Beware!
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker