it-swarm.asia

Apa jalur file terpanjang yang dapat ditangani Windows?

Apa jalur file terpanjang yang dapat ditangani Windows?

56
Ron Tuffin

Panjang Jalur Maksimum (dari MSDN)

Dalam Windows API (dengan beberapa pengecualian yang dibahas dalam paragraf berikut), panjang maksimum untuk jalur adalah MAX_PATH, yang didefinisikan sebagai 260 karakter . Jalur lokal disusun dalam urutan berikut: huruf kandar, titik dua, garis miring terbalik, komponen yang dipisahkan oleh garis miring terbalik, dan karakter null terminating. Sebagai contoh, jalur maksimum pada drive D adalah "D:\<beberapa string jalur 256 karakter> <NUL>" di mana "<NUL>" mewakili karakter null penghentian yang tidak terlihat untuk codepage sistem saat ini. (Karakter <> digunakan di sini untuk kejelasan visual dan tidak dapat menjadi bagian dari string jalur yang valid.)

47
Adam Matan

Jalur file XP - 250 karakter

Jalur file Vista - 260 karakter

Jalur terpanjang pada instalasi Windows XP yang bersih adalah 152 karakter.

Jalur terpanjang pada instalasi Windows Vista semi-bersih adalah 195 karakter:

Windows XP memungkinkan panjang nama file hingga 255 karakter

Windows Vista memungkinkan bahkan nama file yang lebih panjang berisi hingga 260 karakter.

http://www.codinghorror.com/blog/archives/000729.html

15
joe

Konstanta Windows MAX_PATH sama dengan 260 seperti jawaban lain mengatakan, bagaimanapun, jalur terpanjang nyata adalah 32767.

Lihat di sini .

32k saat menggunakan UNICODE, tapi sekarang kita harus menggunakannya, jadi kita juga harus menggunakan panjang jalur maks.

Juga, Anda dapat melihat ke jawaban saya di SO yang menjelaskan beberapa hal lebih rinci tentang panjang jalur maksimum.

8
ST3

Batas "klasik" adalah 260 karakter : drive letter + :\ + 255 characters of filename + \ (atau untuk pembulatan) + null terminator seperti yang dikatakan dalam jawaban lain

Namun batas internal sebenarnya adalah 32767 karakter yang dapat dicapai dengan menambahkan \\?\ untuk mendapatkan jalur yang sepenuhnya memenuhi syarat

Windows API memiliki banyak fungsi yang juga memiliki versi Unicode untuk mengizinkan jalur panjang-panjang untuk panjang jalur total maksimum 32.767 karakter. Tipe jalur ini terdiri dari komponen yang dipisahkan oleh garis miring terbalik, masing-masing hingga nilai yang dikembalikan dalam parameter lpMaximumComponentLength dari fungsi GetVolumeInformation (nilai ini biasanya 255 karakter). Untuk menentukan jalur panjang yang diperluas, gunakan awalan "\\?\". Misalnya, "\\?\D:\very long path".

Jika karena beberapa alasan jalur yang sepenuhnya memenuhi syarat tidak dapat digunakan maka direktori yang lebih dalam dapat diakses dengan me-mount ke huruf drive dengan subst / diskpart atau dengan membuat persimpangan / symlink untuk mempersingkat jalur

Sejak Windows 10 batas MAX_PATH juga telah dihapus meskipun tidak secara default

Mulai di Windows 10, versi 1607, pembatasan MAX_PATH telah dihapus dari fungsi file dan direktori Win32 yang umum. Namun, Anda harus ikut serta ke perilaku baru.

https://docs.Microsoft.com/en-us/windows/desktop/FileIO/naming-a-file

1
phuclv