Path.GetFullPath Metodo

Definizione

Overload

GetFullPath(String)

Restituisce il percorso assoluto della stringa di percorso specificata.

GetFullPath(String, String)

Restituisce un percorso assoluto da un percorso relativo e un percorso di base completo.

GetFullPath(String)

Origine:
Path.Unix.cs
Origine:
Path.Unix.cs
Origine:
Path.Unix.cs

Restituisce il percorso assoluto della stringa di percorso specificata.

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

Parametri

path
String

File o directory per cui ottenere informazioni relative al percorso assoluto.

Restituisce

Percorso completo di path, ad esempio "C:\MyFile.txt".

Eccezioni

path è una stringa di lunghezza zero, contiene solo spazi vuoti nei sistemi Windows o contiene uno o più caratteri non validi definiti in GetInvalidPathChars().

-oppure-

Il sistema non è riuscito a recuperare il percorso assoluto.

Il chiamante non ha le autorizzazioni richieste.

path è null.

Solo .NET Framework: path contiene un punto (":") che non fa parte di un identificatore di volume ,ad esempio "c:\").

Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.

Esempio

Nell'esempio seguente viene illustrato il GetFullPath metodo in una piattaforma desktop basata su 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'

Commenti

Il percorso assoluto include tutte le informazioni necessarie per individuare un file o una directory in un sistema.

Il file o la directory specificata da path non è necessario che esista. Ad esempio, se c:\temp\newdir è la directory corrente, chiamare GetFullPath su un nome di file, ad esempio test. txt restituisce c:\temp\newdir\test.txt. Il file non è necessario.

Importante

Se path è un percorso relativo, questo overload restituisce un percorso completo che può essere basato sull'unità corrente e sulla directory corrente. L'unità corrente e la directory corrente possono cambiare in qualsiasi momento durante l'esecuzione di un'applicazione. Di conseguenza, il percorso restituito da questo overload non può essere determinato in anticipo. Per restituire un percorso deterministico, chiamare l'overload GetFullPath(String, String) . È anche possibile chiamare il IsPathFullyQualified metodo per determinare se un percorso è completo o relativo e quindi se è necessaria una chiamata a GetFullPath .

Tuttavia, se path esiste, il chiamante deve disporre dell'autorizzazione per ottenere le informazioni sul percorso per path. Si noti che a differenza della maggior parte dei membri della Path classe, questo metodo accede al file system.

Questo metodo usa la directory corrente e le informazioni sul volume corrente per qualificare pathcompletamente . Se si specifica un nome di file solo in path, GetFullPath restituisce il percorso completo della directory corrente.

Se si passa un nome di file breve, viene espanso in un nome di file lungo.

Se un percorso non contiene caratteri significativi, non è valido a meno che non contenga uno o più caratteri "." seguiti da qualsiasi numero di spazi; verrà quindi analizzato come "." o ".".".

.NET Core 1.1 e versioni successive e .NET Framework 4.6.2 e versioni successive supportano anche percorsi che includono nomi di dispositivo, ad esempio "\\?\C:\".

Per altre informazioni sui formati di percorso file in Windows, vedere Formati di percorso file nei sistemi Windows. Per un elenco di attività di I/O comuni, vedere Attività di I/O comuni.

Vedi anche

Si applica a

GetFullPath(String, String)

Origine:
Path.Unix.cs
Origine:
Path.Unix.cs
Origine:
Path.Unix.cs

Restituisce un percorso assoluto da un percorso relativo e un percorso di base completo.

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

Parametri

path
String

Percorso relativo da concatenare a basePath.

basePath
String

Inizio di un percorso completo.

Restituisce

Percorso assoluto.

Eccezioni

path o basePath è null.

basePath non è un percorso completo.

-oppure-

path o basePath contiene uno o più caratteri non validi definiti in GetInvalidPathChars().

Esempio

Nell'esempio seguente viene definita una variabile, basePath, per rappresentare la directory corrente di un'applicazione. Passa quindi al GetFullPath metodo per ottenere un percorso completo alla directory dei dati dell'applicazione.

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

Commenti

Se path è un percorso vuoto, il metodo restituisce basePath. Se path è un percorso completo, il metodo passa path al GetFullPath(String) metodo e restituisce il risultato.

Usare questo metodo per restituire un percorso deterministico basato su un volume e una directory root specificata quando si usano percorsi relativi. L'uso di un valore predefinito basePath anziché quello basato sulla directory dell'unità corrente protegge i percorsi di file indesiderati causati da modifiche impreviste nell'unità e nella directory correnti.

Si applica a