Apa jalur file terpanjang yang dapat ditangani Windows?
Apa jalur file terpanjang yang dapat ditangani Windows?
Jawaban:
Panjang Jalur Maksimum (dari MSDN)
Di 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. Misalnya, 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.)
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 nama file dengan panjang hingga 255 karakter
Windows Vista memungkinkan bahkan nama file yang lebih panjang berisi hingga 260 karakter.
Konstanta Windows MAX_PATH
sama dengan 260 karena jawaban lain mengatakan, bagaimanapun, jalur terpanjang nyata adalah 32767.
Lihat di sini .
32k saat menggunakan UNICODE, tetapi sekarang kita harus menggunakannya, jadi kita juga harus menggunakan panjang jalur maks.
Juga, Anda dapat melihat jawaban saya di SO yang menjelaskan beberapa hal lebih rinci tentang panjang jalur maksimum.
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
lpMaximumComponentLength
parameterGetVolumeInformation
fungsi (nilai ini biasanya 255 karakter). Untuk menentukan jalur panjang yang diperluas, gunakan"\\?\"
awalan. Sebagai contoh"\\?\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 MAX_PATH
batasnya juga telah dihapus meskipun tidak secara default
Mulai di Windows 10, versi 1607,
MAX_PATH
batasan telah dihapus dari fungsi Win32 file dan direktori umum. Namun, Anda harus ikut serta ke perilaku baru.https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file