Path.GetFullPath Metoda

Definice

Přetížení

Name Description
GetFullPath(String)

Vrátí absolutní cestu pro zadaný řetězec cesty.

GetFullPath(String, String)

Vrátí absolutní cestu z relativní cesty a plně kvalifikovanou základní cestu.

GetFullPath(String)

Zdroj:
Path.Unix.cs
Zdroj:
Path.Unix.cs
Zdroj:
Path.Unix.cs
Zdroj:
Path.Unix.cs
Zdroj:
Path.Unix.cs

Vrátí absolutní cestu pro zadaný řetězec cesty.

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

Parametry

path
String

Soubor nebo adresář, pro který chcete získat absolutní informace o cestě.

Návraty

Plně kvalifikované umístění path, například "C:\MyFile.txt".

Výjimky

path je řetězec nulové délky, obsahuje pouze prázdné znaky v systémech Windows nebo obsahuje jeden nebo více neplatných znaků definovaných v GetInvalidPathChars().

nebo

Systém nemohl načíst absolutní cestu.

Volající nemá požadovaná oprávnění.

path je null.

pouze .NET Framework: path obsahuje dvojtečku (":"), která není součástí identifikátoru svazku (například "c:\").

Zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.

Příklady

Následující příklad ukazuje metodu GetFullPath na desktopové platformě založené na Windows.

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'

Poznámky

Absolutní cesta obsahuje všechny informace potřebné k vyhledání souboru nebo adresáře v systému.

Soubor nebo adresář zadaný path pomocí není nutné existovat. Například pokud c:\temp\newdir je aktuální adresář, volání GetFullPath názvu souboru, například test.txt vrátí c:\temp\newdir\test.txt. Soubor nemusí existovat.

Important

Pokud path je relativní cesta, toto přetížení vrátí plně kvalifikovanou cestu, která může být založena na aktuální jednotce a aktuálním adresáři. Aktuální jednotka a aktuální adresář se můžou kdykoli změnit při provádění aplikace. V důsledku toho nelze předem určit cestu vrácenou tímto přetížením. Chcete-li vrátit deterministické cesty, zavolejte GetFullPath(String, String) přetížení. Můžete také volat metodu IsPathFullyQualified k určení, zda je cesta plně kvalifikovaná nebo relativní, a proto zda je nutné volání GetFullPath .

Pokud path však existuje, volající musí mít oprávnění získat informace o cestě pro path. Všimněte si, že na rozdíl od většiny členů Path třídy tato metoda přistupuje k systému souborů.

Tato metoda používá aktuální adresář a aktuální informace o svazku k plnému kvalifikace path. Pokud zadáte pouze pathnázev souboru, GetFullPath vrátí plně kvalifikovanou cestu k aktuálnímu adresáři.

Pokud předáte krátký název souboru, rozbalí se na dlouhý název souboru.

Pokud cesta neobsahuje žádné významné znaky, je neplatná, pokud neobsahuje jeden nebo více znaků" následovaných libovolným počtem mezer; pak se parsuje jako "." nebo ".".

.NET Core 1.1 a novějších verzích a .NET Framework 4.6.2 a novějších verzích podporují také cesty, které obsahují názvy zařízení, například \\?\C:\.

Další informace o formátech cest k souborům ve Windows naleznete v tématu Formáty cest k souborům v systémech Windows. Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Viz také

Platí pro

GetFullPath(String, String)

Zdroj:
Path.Unix.cs
Zdroj:
Path.Unix.cs
Zdroj:
Path.Unix.cs
Zdroj:
Path.Unix.cs
Zdroj:
Path.Unix.cs

Vrátí absolutní cestu z relativní cesty a plně kvalifikovanou základní cestu.

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

Parametry

path
String

Relativní cesta ke zřetězení basePath.

basePath
String

Začátek plně kvalifikované cesty.

Návraty

Absolutní cesta.

Výjimky

path nebo basePath je null.

basePath není plně kvalifikovaná cesta.

nebo

path nebo basePath obsahuje jeden nebo více neplatných znaků definovaných v GetInvalidPathChars().

Příklady

Následující příklad definuje proměnnou, basePathkterá představuje aktuální adresář aplikace. Pak ji GetFullPath předá metodě, aby získala plně kvalifikovanou cestu k datovému adresáři aplikace.

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

Poznámky

Pokud path je prázdná cesta, metoda vrátí basePath. Pokud path je plně kvalifikovaná cesta, metoda předá pathGetFullPath(String) metodě a vrátí výsledek.

Tuto metodu použijte k vrácení deterministické cesty na základě zadaného svazku a kořenového adresáře při použití relativních cest. Použití předdefinované basePath místo toho, které vychází z adresáře aktuální jednotky, chrání před nežádoucími cestami k souborům způsobeným neočekávanými změnami v aktuální jednotce a adresáři.

Platí pro