Anda dapat menggunakan Path.GetFullPathsebagian besar kasus. Tetapi jika Anda ingin mendapatkan path juga dalam hal nama file relatif terletak maka Anda dapat menggunakan metode generik di bawah ini:
OP perlu "C:\MyDirectory"dan tidak MyDirectory. Saran untuk menggunakan metode manipulasi string berisiko, ada banyak perangkap, daripada menggunakan Pathmetode khusus .
@"C:\MyDirectory\MyFile.bat"
Jawaban:
Jika Anda benar-benar memiliki jalur absolut, gunakan
Path.GetDirectoryName(path)
.Jika Anda mungkin hanya mendapatkan nama relatif, gunakan
new FileInfo(path).Directory.FullName
.Perhatikan bahwa
Path
danFileInfo
keduanya ditemukan di namespaceSystem.IO
.sumber
new FileInfo(path).Directory.FullName
harus bekerja dalam kedua kasus.sumber
sumber
Anda dapat menggunakan
System.IO.Path.GetDirectory(filename)
, atau mengubah jalur menjadiFileInfo
, dan menggunakanFileInfo.Directory
.Jika Anda melakukan hal-hal lain dengan jalan,
FileInfo
mungkin ada kelebihannya.sumber
Gunakan kode yang disebutkan di bawah untuk mendapatkan jalur folder
Ini akan mengembalikan "C: \ MyDirectory" dalam kasus Anda
sumber
Anda dapat menggunakan
Path.GetDirectoryName
dan hanya memasukkan nama file.Tautan MSDN
sumber
Jika Anda bekerja dengan
FileInfo
objek, maka ada cara mudah untuk mengekstrakstring
representasi path lengkap direktori melaluiDirectoryName
properti.Deskripsi
FileInfo.DirectoryName
Properti melalui MSDN:Penggunaan sampel:
Tautan ke dokumentasi MSDN .
sumber
Anda bisa mendapatkan Jalur Aplikasi saat ini menggunakan:
Semoga berhasil!
sumber
Pertama, Anda harus menggunakan namespace System.IO. Kemudian;
atau
sumber
Anda dapat menggunakan
Path.GetFullPath
sebagian besar kasus. Tetapi jika Anda ingin mendapatkan path juga dalam hal nama file relatif terletak maka Anda dapat menggunakan metode generik di bawah ini:Sebagai contoh:
GetPath("C:\Temp\Filename.txt")
kembali"C:\Temp\"
GetPath("Filename.txt")
kembalicurrent working directory
seperti"C:\Temp\"
sumber
Dalam kasus saya, saya perlu menemukan nama direktori path lengkap (dari direktori) jadi saya lakukan:
sumber
"C:\MyDirectory"
dan tidakMyDirectory
. Saran untuk menggunakan metode manipulasi string berisiko, ada banyak perangkap, daripada menggunakanPath
metode khusus .Path.GetDirectoryName (Context.Parameters ["assemblypath"])
sumber
Path.GetDirectoryName
disebutkan dalam banyak jawaban lain (termasuk jawaban yang diterima)