Hanya menyebutkan trik yang belum saya lihat disebutkan di sini.
Ambil file ini misalnya:
C:\Folder1\Really Long Path\Such Recursion\So Deep\Wow\Still Going\I will run out of ideas soon\I have organizational problems\Obsessive compulsive subdirectory disorder\Here is a guid for no good reason\936DA01F-9ABD-4d9d-80C7-02AF85C822A8\Almost there\Tax Returns\2013\2013_tax_return.pdf
Jalur file lengkap ini sepanjang 290 karakter. Shell (Windows Explorer) dan sebagian besar utilitas baris perintah mungkin tidak akan membiarkan Anda menyentuhnya.
Gunakan subst
perintah seperti ini:
subst X: "C:\Folder1\Really Long Path\Such Recursion\So Deep\Wow"
Sekarang Anda dapat mengakses (dan menghapus, memindahkan, dll.) File dengan demikian:
X:\Still Going\I will run out of ideas soon\I have organizational problems\Obsessive compulsive subdirectory disorder\Here is a guid for no good reason\936DA01F-9ABD-4d9d-80C7-02AF85C822A8\Almost there\Tax Returns\2013\2013_tax_return.pdf
Dan sekarang nama file itu hanya ~ 235 karakter atau lebih, jadi Anda tidak akan menemui masalah "Nama file terlalu panjang" lagi.
Di Windows API, ada konstanta terkenal yang dikenal sebagai MAX_PATH
. MAX_PATH adalah 260 karakter. Sistem file NTFS sebenarnya mendukung jalur file hingga 32.767 karakter. Dan Anda masih dapat menggunakan 32.767 nama jalur panjang karakter dengan mengakses versi Unicode (atau "lebar") dari fungsi Windows API, dan juga dengan mengawali lintasan dengan \\?\
.
MAX_PATH
didirikan di batu sangat lama di dunia Windows. Saya pikir itu ada hubungannya dengan standar ANSI pada saat itu ... tetapi itu adalah salah satu hal yang sangat sulit bagi Microsoft untuk berubah sekarang, karena sekarang kami memiliki ribuan program dan aplikasi, termasuk beberapa yang ditulis oleh Microsoft sendiri, yang menggunakan MAX_PATH
dan akan gagal dengan cara baru yang aneh jika konstanta tiba-tiba berubah. (Buffer meluap, menumpuk korupsi, dll.)