Path.GetFullPath Método

Definição

Sobrecargas

GetFullPath(String)

Retorna o caminho absoluto para a cadeia de caracteres do caminho especificado.

GetFullPath(String, String)

Retorna um caminho absoluto de um caminho relativo e um caminho base totalmente qualificado.

GetFullPath(String)

Retorna o caminho absoluto para a cadeia de caracteres do caminho especificado.

public:
 static System::String ^ GetFullPath(System::String ^ path);
public static string GetFullPath (string path);
static member GetFullPath : string -> string
Public Shared Function GetFullPath (path As String) As String

Parâmetros

path
String

O arquivo ou diretório para o qual as informações de caminho absoluto serão obtidas.

Retornos

String

O local totalmente qualificado de path, como "C:\MyFile.txt".

Exceções

path é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco em sistemas Windows ou contém um ou mais dos caracteres inválidos definidos em GetInvalidPathChars().

- ou -

O sistema não pôde recuperar o caminho absoluto.

O chamador não tem as permissões necessárias.

path é null.

path contém dois-pontos (":") que não fazem parte de um identificador de volume (por exemplo, "c:\").

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

Exemplos

O exemplo a seguir demonstra o GetFullPath método em uma plataforma de área de trabalho baseada no Windows.

String^ fileName = "myfile.ext";
String^ path = "\\mydir\\";
String^ fullPath;
fullPath = Path::GetFullPath( path );
Console::WriteLine( "GetFullPath('{0}') returns '{1}'", path, fullPath );
fullPath = Path::GetFullPath( fileName );
Console::WriteLine( "GetFullPath('{0}') returns '{1}'", fileName, fullPath );

// Output is based on your current directory, except
// in the last case, where it is based on the root drive
// GetFullPath('mydir') returns 'C:\temp\Demo\mydir'
// GetFullPath('myfile.ext') returns 'C:\temp\Demo\myfile.ext'
// GetFullPath('\mydir') returns 'C:\mydir'
string fileName = "myfile.ext";
string path1 = @"mydir";
string path2 = @"\mydir";
string fullPath;

fullPath = Path.GetFullPath(path1);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
    path1, fullPath);

fullPath = Path.GetFullPath(fileName);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
    fileName, fullPath);

fullPath = Path.GetFullPath(path2);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
    path2, fullPath);

// Output is based on your current directory, except
// in the last case, where it is based on the root drive
// GetFullPath('mydir') returns 'C:\temp\Demo\mydir'
// GetFullPath('myfile.ext') returns 'C:\temp\Demo\myfile.ext'
// GetFullPath('\mydir') returns 'C:\mydir'
Dim fileName As string = "myfile.ext"
Dim path1 As string = "mydir"
Dim path2 As string = "\mydir"
Dim fullPath As string

fullPath = Path.GetFullPath(path1)
Console.WriteLine("GetFullPath('{0}') returns '{1}'", _
    path1, fullPath)

fullPath = Path.GetFullPath(fileName)
Console.WriteLine("GetFullPath('{0}') returns '{1}'", _
    fileName, fullPath)

fullPath = Path.GetFullPath(path2)
Console.WriteLine("GetFullPath('{0}') returns '{1}'", _
    path2, fullPath)

' Output is based on your current directory, except
' in the last case, where it is based on the root drive
' GetFullPath('mydir') returns 'C:\temp\Demo\mydir'
' GetFullPath('myfile.ext') returns 'C:\temp\Demo\myfile.ext'
' GetFullPath('\mydir') returns 'C:\mydir'

Comentários

O caminho absoluto inclui todas as informações necessárias para localizar um arquivo ou diretório em um sistema.

O arquivo ou diretório especificado por path não precisa existir. Por exemplo, se c:\temp\newdir for o diretório atual, chamar GetFullPath em um nome de arquivo como test.txt retornará c:\temp\newdir\test.txt. O arquivo não precisa existir.

Importante

Se path for um caminho relativo, essa sobrecarga retornará um caminho totalmente qualificado que pode ser baseado na unidade atual e no diretório atual. A unidade atual e o diretório atual podem ser alterados a qualquer momento à medida que um aplicativo é executado. Como resultado, o caminho retornado por essa sobrecarga não pode ser determinado com antecedência. Para retornar um caminho determinístico, chame a GetFullPath(String, String) sobrecarga. Você também pode chamar o IsPathFullyQualified método para determinar se um caminho é totalmente qualificado ou relativo e, portanto, se uma chamada para GetFullPath é necessária.

No entanto, se path existir, o chamador deverá ter permissão para obter informações de caminho para path. Observe que, ao contrário da maioria dos membros da Path classe , esse método acessa o sistema de arquivos.

Esse método usa o diretório atual e as informações de volume atuais para qualificar pathtotalmente . Se você especificar um nome de arquivo somente em path, GetFullPath retornará o caminho totalmente qualificado do diretório atual.

Se você passar um nome de arquivo curto, ele será expandido para um nome de arquivo longo.

Se um caminho não contiver caracteres significativos, ele será inválido, a menos que contenha um ou mais caracteres "." seguidos por qualquer número de espaços; em seguida, ele será analisado como "." ou "..".

O .NET Core 1.1 e versões posteriores e .NET Framework 4.6.2 e versões posteriores também dão suporte a caminhos que incluem nomes de dispositivo, como "\\?\C:\".

Para obter mais informações sobre formatos de caminho de arquivo no Windows, consulte Formatos de caminho de arquivo em sistemas Windows. Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.

Confira também

Aplica-se a

GetFullPath(String, String)

Retorna um caminho absoluto de um caminho relativo e um caminho base totalmente qualificado.

public:
 static System::String ^ GetFullPath(System::String ^ path, System::String ^ basePath);
public static string GetFullPath (string path, string basePath);
static member GetFullPath : string * string -> string
Public Shared Function GetFullPath (path As String, basePath As String) As String

Parâmetros

path
String

Um caminho relativo a ser concatenado com basePath.

basePath
String

O início de um caminho totalmente qualificado.

Retornos

String

O caminho absoluto.

Exceções

path ou basePath é null.

basePath não é um caminho totalmente qualificado.

- ou -

path ou basePath contém um ou mais caracteres inválidos definidos em GetInvalidPathChars().

Exemplos

O exemplo a seguir define uma variável, basePath, para representar o diretório atual de um aplicativo. Em seguida, ele o passa para o GetFullPath método para obter um caminho totalmente qualificado para o diretório de dados do aplicativo.

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string basePath = Environment.CurrentDirectory;
        string relativePath = "./data/output.xml";
 
        // Unexpectedly change the current directory.
        Environment.CurrentDirectory = "C:/Users/Public/Documents/";
        
        string fullPath = Path.GetFullPath(relativePath, basePath);
        Console.WriteLine($"Current directory:\n   {Environment.CurrentDirectory}");
        Console.WriteLine($"Fully qualified path:\n   {fullPath}");
    }
}
// The example displays the following output:
//   Current directory:
//      C:\Users\Public\Documents
//   Fully qualified path:
//      C:\Utilities\data\output.xml
Imports System.IO

Module Program
    Public Sub Main()
        Dim basePath As String = Environment.CurrentDirectory
        Dim relativePath As String = "./data/output.xml"
 
        ' Unexpectedly change the current directory.
        Environment.CurrentDirectory = "C:/Users/Public/Documents/"
        
        Dim fullPath As String = Path.GetFullPath(relativePath, basePath)
        Console.WriteLine($"Current directory:\n   {Environment.CurrentDirectory}")
        Console.WriteLine($"Fully qualified path:\n   {fullPath}")
    End Sub
End Module
' The example displays the following output:
'   Current directory:
'      C:\Users\Public\Documents
'   Fully qualified path:
'      C:\Utilities\data\output.xml

Comentários

Se path for um caminho vazio, o método retornará basePath. Se path for um caminho totalmente qualificado, o método passará path para o GetFullPath(String) método e retornará o resultado.

Use esse método para retornar um caminho determinístico com base em um volume especificado e diretório com raiz quando você estiver usando caminhos relativos. O uso de um predefinido basePath em vez de um com base no diretório de unidade atual protege contra caminhos de arquivo indesejados causados por alterações inesperadas na unidade e no diretório atuais.

Aplica-se a