Compartir a través de


Path.GetFullPath Método

Definición

Sobrecargas

GetFullPath(String)

Devuelve la ruta de acceso absoluta para la cadena de ruta de acceso especificada.

GetFullPath(String, String)

Devuelve una ruta de acceso absoluta a partir de una ruta de acceso relativa y una ruta de acceso base completa.

GetFullPath(String)

Source:
Path.Unix.cs
Source:
Path.Unix.cs
Source:
Path.Unix.cs

Devuelve la ruta de acceso absoluta para la cadena de ruta de acceso especificada.

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

El archivo o directorio para el que se va a obtener información de la ruta de acceso absoluta.

Devoluciones

Ubicación completa de path, como "C:\MyFile.txt".

Excepciones

path es una cadena de longitud cero, contiene solo espacios en blanco en sistemas Windows o contiene uno o varios de los caracteres no válidos definidos en GetInvalidPathChars().

o bien

El sistema no pudo recuperar la ruta de acceso absoluta.

El llamador no dispone del permiso requerido.

path es null.

Solo .NET Framework: path contiene dos puntos (":") que no forma parte de un identificador de volumen (por ejemplo, "c:\").

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.

Ejemplos

En el ejemplo siguiente se muestra el GetFullPath método en una plataforma de escritorio basada en 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'

Comentarios

La ruta de acceso absoluta incluye toda la información necesaria para buscar un archivo o directorio en un sistema.

No es necesario que exista el archivo o directorio especificado por path . Por ejemplo, si c:\temp\newdir es el directorio actual, al llamar GetFullPath a en un nombre de archivo como test.txt devuelve c:\temp\newdir\test.txt. El archivo no necesita existir.

Importante

Si path es una ruta de acceso relativa, esta sobrecarga devuelve una ruta de acceso completa que se puede basar en la unidad actual y en el directorio actual. La unidad actual y el directorio actual pueden cambiar en cualquier momento a medida que se ejecuta una aplicación. Como resultado, la ruta de acceso devuelta por esta sobrecarga no se puede determinar de antemano. Para devolver una ruta de acceso determinista, llame a la GetFullPath(String, String) sobrecarga. También puede llamar al IsPathFullyQualified método para determinar si una ruta de acceso es completa o relativa y, por tanto, si es necesaria una llamada a GetFullPath .

Sin embargo, si path existe, el autor de la llamada debe tener permiso para obtener información de ruta de acceso para path. Tenga en cuenta que, a diferencia de la mayoría de los miembros de la Path clase, este método accede al sistema de archivos.

Este método usa el directorio actual y la información del volumen actual para calificar pathcompletamente . Si especifica un nombre de archivo solo en path, GetFullPath devuelve la ruta de acceso completa del directorio actual.

Si pasa un nombre de archivo corto, se expande a un nombre de archivo largo.

Si una ruta de acceso no contiene caracteres significativos, no es válido a menos que contenga uno o varios caracteres "." seguidos de cualquier número de espacios; a continuación, se analizará como "." o "..".

.NET Core 1.1 y versiones posteriores y .NET Framework 4.6.2 y versiones posteriores también admiten rutas de acceso que incluyen nombres de dispositivo, como "\\?\C:\".

Para obtener más información sobre los formatos de ruta de acceso de archivo en Windows, consulte Formatos de ruta de acceso de archivo en sistemas Windows. Para obtener una lista de tareas de E/S comunes, consulte Tareas de E/S comunes.

Consulte también

Se aplica a

GetFullPath(String, String)

Source:
Path.Unix.cs
Source:
Path.Unix.cs
Source:
Path.Unix.cs

Devuelve una ruta de acceso absoluta a partir de una ruta de acceso relativa y una ruta de acceso base completa.

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

Una ruta de acceso relativa para concatenar en basePath.

basePath
String

El principio de una ruta de acceso completa.

Devoluciones

La ruta de acceso absoluta.

Excepciones

path o basePath es null.

basePath no es una ruta de acceso completa.

o bien

path o basePath contiene uno o varios de los caracteres no válidos definidos en GetInvalidPathChars().

Ejemplos

En el ejemplo siguiente se define una variable, basePath, para representar el directorio actual de una aplicación. A continuación, lo pasa al GetFullPath método para obtener una ruta de acceso completa al directorio de datos de la aplicación.

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

Comentarios

Si path es una ruta de acceso vacía, el método devuelve basePath. Si path es una ruta de acceso completa, el método pasa path al GetFullPath(String) método y devuelve el resultado.

Use este método para devolver una ruta de acceso determinista basada en un volumen especificado y un directorio rooteado cuando use rutas de acceso relativas. El uso de un predefinido basePath en lugar de uno basado en el directorio de unidad actual protege contra las rutas de acceso de archivos no deseadas causadas por cambios inesperados en la unidad y el directorio actuales.

Se aplica a