Compartilhar via


Directory.SetCurrentDirectory(String) Método

Definição

Define o diretório de trabalho atual do aplicativo para o diretório especificado.

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)

Parâmetros

path
String

O caminho para o qual o diretório de trabalho atual está definido.

Exceções

Ocorreu um erro de E/S.

Versões do .NET Framework e do .NET Core anteriores à 2.1: path é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Você pode consultar caracteres inválidos com o GetInvalidPathChars() método.

path é null.

O caminho especificado, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

O chamador não tem a permissão necessária para acessar código não gerenciado.

O caminho especificado não foi encontrado.

O diretório especificado não foi encontrado.

Exemplos

O exemplo a seguir ilustra como definir o diretório atual e exibir a raiz do diretório.

// 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.
open System.IO

// Create string for a directory. This value should be an existing directory
// or the sample will throw a DirectoryNotFoundException.
let dir = @"C:\test"
try
    //Set the current directory.
    Directory.SetCurrentDirectory dir
with :? DirectoryNotFoundException as e ->
    printfn $"The specified directory does not exist. {e}"
    
// Print to console the results.
printfn $"Root directory: {Directory.GetDirectoryRoot dir}"
printfn $"Current directory: {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

Comentários

Quando o aplicativo é encerrado, o diretório de trabalho é restaurado para seu local original (o diretório onde o processo foi iniciado).

O path parâmetro tem permissão para especificar informações de caminho relativas ou absolutas. As informações de caminho relativo são interpretadas como relativas ao diretório de trabalho atual. Para obter o diretório de trabalho atual, consulte GetCurrentDirectory.

Espaços à direita são removidos do final do parâmetro antes de path definir o diretório.

A confidencialidade de maiúsculas e minúsculas do path parâmetro corresponde à do sistema de arquivos no qual o código está em execução. Por exemplo, não diferencia maiúsculas de minúsculas no NTFS (o sistema de arquivos padrão do Windows) e diferencia maiúsculas de minúsculas em sistemas de arquivos Linux.

Se você estiver definindo o diretório para uma unidade com mídia removível (por exemplo, "E:" para uma unidade flash USB), poderá determinar se a unidade está pronta usando a IsReady propriedade.

Aplica-se a

Confira também