Path.GetFullPath Yöntem

Tanım

Aşırı Yüklemeler

GetFullPath(String)

Belirtilen yol dizesi için mutlak yolu döndürür.

GetFullPath(String, String)

Göreli bir yoldan ve tam taban yoldan mutlak bir yol döndürür.

GetFullPath(String)

Kaynak:
Path.Unix.cs
Kaynak:
Path.Unix.cs
Kaynak:
Path.Unix.cs

Belirtilen yol dizesi için mutlak yolu döndürür.

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

Parametreler

path
String

Mutlak yol bilgilerinin alındığı dosya veya dizin.

Döndürülenler

öğesinin path"C:\MyFile.txt" gibi tam konumu.

Özel durumlar

path sıfır uzunluklu bir dizedir, yalnızca Windows sistemlerinde boşluk içerir veya içinde GetInvalidPathChars()tanımlanan geçersiz karakterlerden birini veya daha fazlasını içerir.

-veya-

Sistem mutlak yolu alamadı.

Çağıranın gerekli izinleri yok.

path, null değeridir.

Yalnızca .NET Framework: path birim tanımlayıcısının parçası olmayan iki nokta üst üste (":") içerir (örneğin, "c:\").

Belirtilen yol, dosya adı veya her ikisi birden sistem tarafından tanımlanan en fazla uzunluğu aşıyor.

Örnekler

Aşağıdaki örnekte Windows tabanlı bir masaüstü platformunda yöntemi gösterilmektedir GetFullPath .

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'

Açıklamalar

Mutlak yol, sistemdeki bir dosyayı veya dizini bulmak için gereken tüm bilgileri içerir.

tarafından path belirtilen dosya veya dizinin var olması gerekli değildir. Örneğin, geçerli dizin c:\temp\newdir ise,test.txtgibi bir dosya adıyla çağrısı GetFullPathc:\temp\newdir\test.txt döndürür. Dosyanın mevcut olması gerekmez.

Önemli

Göreli bir yolsa path , bu aşırı yükleme geçerli sürücüyü ve geçerli dizini temel alan tam bir yol döndürür. Geçerli sürücü ve geçerli dizin, bir uygulama yürütülürken herhangi bir zamanda değişebilir. Sonuç olarak, bu aşırı yükleme tarafından döndürülen yol önceden belirlenemez. Belirleyici bir yol döndürmek için aşırı yüklemeyi çağırın GetFullPath(String, String) . Ayrıca, bir yolun tam niteleyici mi yoksa göreli mi olduğunu ve dolayısıyla çağrısının gerekli olup olmadığını belirlemek için GetFullPath yöntemini çağırabilirsinizIsPathFullyQualified.

Ancak, varsa path , çağıranın için pathyol bilgilerini alma izni olmalıdır. Sınıfın üyelerinin çoğundan farklı olarak bu yöntemin Path dosya sistemine eriştiğine dikkat edin.

Bu yöntem, tam niteleme pathiçin geçerli dizini ve geçerli birim bilgilerini kullanır. yalnızca içinde pathGetFullPath bir dosya adı belirtirseniz, geçerli dizinin tam yolunu döndürür.

Kısa bir dosya adı geçirirseniz, uzun bir dosya adına genişletilir.

Yol önemli karakterler içermiyorsa, bir veya daha fazla "." karakter ve ardından herhangi bir sayıda boşluk içermediği sürece geçersizdir; ardından "." veya ".." olarak ayrıştırılır.

.NET Core 1.1 ve sonraki sürümleri ile .NET Framework 4.6.2 ve sonraki sürümleri de "\\?\C:\" gibi cihaz adlarını içeren yolları destekler.

Windows'da dosya yolu biçimleri hakkında daha fazla bilgi için bkz. Windows sistemlerinde dosya yolu biçimleri. Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.

Ayrıca bkz.

Şunlara uygulanır

GetFullPath(String, String)

Kaynak:
Path.Unix.cs
Kaynak:
Path.Unix.cs
Kaynak:
Path.Unix.cs

Göreli bir yoldan ve tam taban yoldan mutlak bir yol döndürür.

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

Parametreler

path
String

ile birleştirmek basePathiçin göreli bir yol.

basePath
String

Tam yol başlangıcı.

Döndürülenler

Mutlak yol.

Özel durumlar

path veya basePath şeklindedir null.

basePath tam olarak nitelenmiş bir yol değil.

-veya-

path veya basePath içinde GetInvalidPathChars()tanımlanan geçersiz karakterlerden birini veya daha fazlasını içerir.

Örnekler

Aşağıdaki örnek, basePathbir uygulamanın geçerli dizinini temsil eden bir değişkeni tanımlar. Daha sonra uygulamanın veri dizinine GetFullPath tam yol almak için yöntemine geçirir.

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

Açıklamalar

Boş bir yolsa path , yöntemi döndürür basePath. Tam yol isepath, yöntemi yöntemine GetFullPath(String) geçer path ve sonucu döndürür.

Göreli yollar kullanırken belirtilen birime ve kök dizinine dayalı belirlenimci bir yol döndürmek için bu yöntemi kullanın. Geçerli sürücü dizinini temel alan bir yerine önceden tanımlanmış basePath bir kullanmak, geçerli sürücü ve dizindeki beklenmeyen değişikliklerin neden olduğu istenmeyen dosya yollarına karşı koruma sağlar.

Şunlara uygulanır