This documentation is archived and is not being maintained.

Directory.SetCurrentDirectory Method

Sets the application's current working directory to the specified directory.

[Visual Basic]
Public Shared Sub SetCurrentDirectory( _
   ByVal path As String _
public static void SetCurrentDirectory(
 string path
public: static void SetCurrentDirectory(
 String* path
public static function SetCurrentDirectory(
   path : String


The path to which the current working directory is set.


Exception Type Condition
IOException An IO error occurred.
ArgumentException path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.
ArgumentNullException path is a null reference (Nothing in Visual Basic).
PathTooLongException The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.
SecurityException The caller does not have the required permission to access unmanaged code.
FileNotFoundException The specified path was not found.


When the application terminates, the working directory is restored to its original location (the directory where the process was started).

The path parameter is permitted to specify relative or absolute path information. Relative path information is interpreted as relative to the current working directory. To obtain the current working directory, see GetCurrentDirectory.

The path parameter is not case-sensitive.

The following table lists examples of other typical or related I/O tasks.

To do this... See the example in this topic...
Create a text file. Writing Text to a File
Write to a text file. Writing Text to a File
Read from a text file. Reading Text from a File
Copy a directory. Directory
Rename or move a directory. Directory.Move


Delete a directory. Directory.Delete


Create a directory. CreateDirectory


Create a subdirectory. CreateSubdirectory

.NET Compact Framework Platform Note:  The .NET Compact Framework does not support SetCurrentDirectory because current directory functionality is not used in devices running Windows CE .NET.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

.NET Framework Security: 

See Also

Directory Class | Directory Members | System.IO Namespace | Working with I/O | Reading Text from a File | Writing Text to a File