Path.GetFullPath Metodo

Definizione

Overload

GetFullPath(String)

Restituisce il percorso assoluto della stringa di percorso specificata.Returns the absolute path for the specified path string.

GetFullPath(String, String)

Restituisce un percorso assoluto da un percorso base completo e un percorso relativo.Returns an absolute path from a fully qualified base path and a relative path.

GetFullPath(String)

Restituisce il percorso assoluto della stringa di percorso specificata.Returns the absolute path for the specified path string.

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.The file or directory for which to obtain absolute path information.

Restituisce

Percorso completo di path, ad esempio "C:\MyFile.txt".The fully qualified location of path, such as "C:\MyFile.txt".

Eccezioni

path è una stringa di lunghezza zero, contiene solo spazi vuoti oppure uno o più caratteri non validi definiti nel metodo GetInvalidPathChars().path is a zero-length string, contains only white space, or contains one or more of the invalid characters defined in GetInvalidPathChars().

-oppure--or- Il sistema non è riuscito a recuperare il percorso assoluto.The system could not retrieve the absolute path.

Il chiamante non ha le autorizzazioni richieste.The caller does not have the required permissions.

path è null.path is null.

path contiene due punti (":") che non fanno parte di un identificatore di volume (ad esempio "c:\").path contains a colon (":") that is not part of a volume identifier (for example, "c:\").

Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.The specified path, file name, or both exceed the system-defined maximum length.

Esempi

Nell'esempio seguente viene illustrato il metodo GetFullPath in una piattaforma desktop basata su Windows.The following example demonstrates the GetFullPath method on a Windows-based desktop platform.

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.The absolute path includes all information required to locate a file or directory on a system.

Non è necessario che il file o la directory specificata da path esistano.The file or directory specified by path is not required to exist. 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.For example, if c:\temp\newdir is the current directory, calling GetFullPath on a file name such as test.txt returns c:\temp\newdir\test.txt. Il file non deve esistere.The file need not exist.

Importante

Se path è un percorso relativo, questo overload restituisce un percorso completo che può essere basato sull'unità corrente e la directory corrente.If path is a relative path, this overload returns a fully qualified path that can be based on the current drive and current directory. L'unità corrente e la directory corrente possono cambiare in qualsiasi momento durante l'esecuzione di un'applicazione.The current drive and current directory can change at any time as an application executes. Di conseguenza, non è possibile determinare in anticipo il percorso restituito da questo overload.As a result, the path returned by this overload cannot be determined in advance. Per restituire un percorso deterministico, chiamare l'overload GetFullPath(String, String).To return a deterministic path, call the GetFullPath(String, String) overload. È anche possibile chiamare il metodo IsPathFullyQualified per determinare se un percorso è completo o relativo e quindi se è necessaria una chiamata a GetFullPath.You can also call the IsPathFullyQualified method to determine whether a path is fully qualified or relative and therefore whether a call to GetFullPath is necessary.

Tuttavia, se path esiste, il chiamante deve disporre dell'autorizzazione per ottenere informazioni sul percorso per path.However, if path does exist, the caller must have permission to obtain path information for path. Si noti che, a differenza della maggior parte dei membri della classe Path, questo metodo accede al file system.Note that unlike most members of the Path class, this method accesses the file system.

Questo metodo utilizza la directory corrente e le informazioni sul volume corrente per qualificare completamente path.This method uses the current directory and current volume information to fully qualify path. Se si specifica un nome di file solo in path, GetFullPath restituisce il percorso completo della directory corrente.If you specify a file name only in path, GetFullPath returns the fully qualified path of the current directory.

Se si passa un nome di file breve, questo viene espanso in un nome di file lungo.If you pass in a short file name, it is expanded to a long file name.

Se un percorso non contiene caratteri significativi, non è valido a meno che non contenga uno o più caratteri "." seguiti da un numero qualsiasi di spazi. quindi verrà analizzato come "." o "..".If a path contains no significant characters, it is invalid unless it contains one or more "." characters followed by any number of spaces; then it will be parsed as either "." or "..".

.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: "..NET Core 1.1 and later versions and .NET Framework 4.6.2 and later versions also support paths that include device names, such as "\?\C:".

Per ulteriori informazioni sui formati dei percorsi di file in Windows, vedere formati di percorso file nei sistemi Windows.For more information on file path formats on Windows, see File path formats on Windows systems. Per un elenco delle attività di I/O comuni, vedere attività di i/o comuni.For a list of common I/O tasks, see Common I/O Tasks.

Sicurezza

FileIOPermission
per l'accesso al percorso.for access to the path.

Vedi anche

GetFullPath(String, String)

Restituisce un percorso assoluto da un percorso base completo e un percorso relativo.Returns an absolute path from a fully qualified base path and a relative path.

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.A relative path to concatenate to basePath.

basePath
String

Inizio di un percorso completo.The beginning of a fully qualified path.

Restituisce

Percorso assoluto.The absolute path.

Eccezioni

path o basePath è null.path or basePath is null.

basePath non è un percorso completo.basePath is not a fully qualified path.

-oppure--or-

path o basePath contiene caratteri del percorso non validi, ad esempio U+0000.path or basePath contains invalid path characters, such as U+0000.

Commenti

Se path è un percorso vuoto, il metodo restituisce basePath.If path is an empty path, the method returns basePath. Se path è un percorso completo, il metodo passa path al metodo GetFullPath(String) e restituisce il risultato.If path is a fully qualified path, the method passes path to the GetFullPath(String) method and returns the result.

Usare questo metodo per restituire un percorso deterministico basato su un volume specificato e una directory radice quando si usano percorsi relativi.Use this method to return a deterministic path based on a specified volume and rooted directory when you're using relative paths. L'uso di un basePath predefinito anziché di uno basato sulla directory dell'unità corrente protegge da percorsi di file indesiderati causati da modifiche impreviste nell'unità e nella directory correnti.Using a predefined basePath rather than one based on the current drive directory guards against unwanted file paths caused by unexpected changes in the current drive and directory.

EsempioExample

Nell'esempio seguente viene definita una variabile, basePath, per rappresentare la directory corrente di un'applicazione.The following example defines a variable, basePath, to represent an application's current directory. Viene quindi passato al metodo GetFullPath per ottenere un percorso completo della directory dei dati dell'applicazione.It then passes it to the GetFullPath method to get a fully qualified path to the application's data directory.

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

Si applica a