Directory.SetCurrentDirectory(String) Directory.SetCurrentDirectory(String) Directory.SetCurrentDirectory(String) Directory.SetCurrentDirectory(String) Method

Definition

Legt das aktuelle Arbeitsverzeichnis der Anwendung auf das angegebene Verzeichnis fest.Sets the application's current working directory to the specified directory.

public:
 static void SetCurrentDirectory(System::String ^ path);
public static void SetCurrentDirectory (string path);
static member SetCurrentDirectory : string -> unit
Public Shared Sub SetCurrentDirectory (path As String)

Parameter

path
String String String String

Der Pfad, auf den das aktuelle Arbeitsverzeichnis festgelegt ist.The path to which the current working directory is set.

Ausnahmen

E/A-FehlerAn I/O error occurred.

path ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.path is a zero-length string, contains only white space, or contains one or more invalid characters. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.You can query for invalid characters with the GetInvalidPathChars() method.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung zum Zugreifen auf nicht verwalteten Code.The caller does not have the required permission to access unmanaged code.

Der angegebene Pfad wurde nicht gefunden.The specified path was not found.

Das angegebene Verzeichnis wurde nicht gefunden.The specified directory was not found.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie das aktuelle Verzeichnis festgelegt und der Verzeichnis Stamm angezeigt wird.The following example illustrates how to set the current directory and display the directory root.

// This sample shows how to set the current directory and how to determine
// the root directory.
using namespace System;
using namespace System::IO;
int main()
{
   
   // Create string for a directory. This value should be an existing directory
   // or the sample will throw a DirectoryNotFoundException.
   String^ dir = "C:\\test";
   try
   {
      
      //Set the current directory.
      Directory::SetCurrentDirectory( dir );
   }
   catch ( DirectoryNotFoundException^ e ) 
   {
      Console::WriteLine( "The specified directory does not exist. {0}", e );
   }

   
   // Print to console the results.
   Console::WriteLine( "Root directory: {0}", Directory::GetDirectoryRoot( dir ) );
   Console::WriteLine( "Current directory: {0}", Directory::GetCurrentDirectory() );
}

// The output of this sample depends on what value you assign to the variable dir.
// If the directory c:\test exists, the output for this sample is:
// Root directory: C:\
// Current directory: C:\test
// This sample shows how to set the current directory and how to determine
// the root directory.
using System;
using System.IO;

namespace IOSamples
{
  public class DirectoryRoot
  {
    public static void Main()
    {
    // Create string for a directory. This value should be an existing directory
    // or the sample will throw a DirectoryNotFoundException.
      string dir = @"C:\test";		
      try
      {
          //Set the current directory.
          Directory.SetCurrentDirectory(dir);
      }
      catch (DirectoryNotFoundException e)
      {
          Console.WriteLine("The specified directory does not exist. {0}", e);
      }
    // Print to console the results.
      Console.WriteLine("Root directory: {0}", Directory.GetDirectoryRoot(dir));
      Console.WriteLine("Current directory: {0}", Directory.GetCurrentDirectory());
    }
  }
}
// The output of this sample depends on what value you assign to the variable dir.
// If the directory c:\test exists, the output for this sample is:
// Root directory: C:\
// Current directory: C:\test

' This sample shows how to set the current directory and how to determine
' the root directory.
Imports System.IO

Public Class DirectoryRoot
   
   Public Shared Sub Main()
      ' Create string for a directory. This value should be an existing directory
      ' or the sample will throw a DirectoryNotFoundException.
      Dim dir As String = "C:\test"
      Try
         'Set the current directory.
         Directory.SetCurrentDirectory(dir)
      Catch e As DirectoryNotFoundException
         Console.WriteLine("The specified directory does not exist. {0}", e)
      End Try
      ' Print to console the results.
      Console.WriteLine("Root directory: {0}", Directory.GetDirectoryRoot(dir))
      Console.WriteLine("Current directory: {0}", Directory.GetCurrentDirectory())
   End Sub
End Class
' The output of this sample depends on what value you assign to the variable dir.
' If the directory c:\test exists, the output for this sample is:
' Root directory: C:\
' Current directory: C:\test

Hinweise

Wenn die Anwendung beendet wird, wird das Arbeitsverzeichnis am ursprünglichen Speicherort wieder hergestellt (das Verzeichnis, in dem der Prozess gestartet wurde).When the application terminates, the working directory is restored to its original location (the directory where the process was started).

Der path -Parameter darf relative oder absolute Pfadinformationen angeben.The path parameter is permitted to specify relative or absolute path information. Relative Pfadinformationen werden als relativ zum aktuellen Arbeitsverzeichnis interpretiert.Relative path information is interpreted as relative to the current working directory. Informationen zum Abrufen des aktuellen Arbeitsverzeichnisses finden GetCurrentDirectorySie unter.To obtain the current working directory, see GetCurrentDirectory.

Nachfolgende Leerzeichen werden am Ende des path -Parameters vor dem Festlegen des Verzeichnisses entfernt.Trailing spaces are removed from the end of the path parameter before setting the directory.

Der path -Parameter berücksichtigt nicht die Groß-/Kleinschreibung.The path parameter is not case-sensitive.

Wenn Sie das Verzeichnis auf ein Laufwerk mit Wechselmedien (z. b. "E:" für einen USB-Speicherstick) festlegen, können Sie mithilfe der IsReady -Eigenschaft feststellen, ob das Laufwerk bereit ist.If you are setting the directory to a drive with removable media (for example, "E:" for a USB flash drive), you can determine whether the drive is ready by using the IsReady property.

Sicherheit

FileIOPermission
zum Schreiben in Dateien oder Verzeichnisse.for writing to files or directories. Zugehörige Enumeration:WriteAssociated enumeration: Write

SecurityPermission
zum Aufrufen von nicht verwaltetem Code.for calling unmanaged code. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

Gilt für:

Siehe auch