Beranda » bagaimana » Mengapa Windows Melaporkan Folder Ini Terlalu Panjang untuk Disalin?

    Mengapa Windows Melaporkan Folder Ini Terlalu Panjang untuk Disalin?

    Jika Anda bekerja dengan Windows cukup lama, terutama dengan folder dan file yang memiliki nama panjang, Anda akan mengalami kesalahan aneh: Windows akan melaporkan bahwa jalur folder atau nama file terlalu panjang untuk pindah ke tujuan baru atau bahkan menghapus. Apa masalahnya??

    Hai How-To Geek!

    Jadi suatu hari, saya mengatur ulang beberapa file di komputer saya, membuat folder, hal-hal semacam itu. Kemudian, ketika saya memindahkan beberapa file ke folder, saya mendapat pesan, yang menyatakan bahwa path folder yang dihasilkan akan terlalu panjang. Saya bingung. Saya tahu bahwa setiap OS sejak DOS mendukung Long Filenames, namun Windows mengklaim bahwa jalurnya terlalu panjang? Mengapa ini terjadi??

    Hormat kami,

    Mr. Disorganised

    Masalah yang Anda hadapi adalah persimpangan yang tidak menguntungkan dari dua sistem yang, dalam kasus seperti ini, menghasilkan kesalahan. Untuk memahami dengan tepat dari mana kesalahan itu berasal, kita perlu menggali sejarah Long Filenames (LFN) dan bagaimana Windows berinteraksi dengan mereka sebelum kita menggali solusi..

    Long Filenames diperkenalkan, melalui arsitektur MS-DOS yang mendasarinya, pada Windows 95. Sistem LFN yang baru memungkinkan untuk nama file dan direktori hingga 255 karakter. Ini adalah perluasan selamat datang dari sistem nama file sebelumnya, biasanya disebut nama file 8,3 karena nama itu terbatas pada delapan karakter dan ekstensi tiga digit, tetapi juga dikenal sebagai Short Filename (SFN). Seperti yang dapat Anda bayangkan, saat itu masih ada banyak aplikasi berbasis DOS di sekitar dan ada lebih dari beberapa sakit kepala mencoba untuk mendapatkan LFN yang lebih baru dan SFNs warisan untuk bermain baik satu sama lain. Jika Anda pernah menemukan disket atau CD-ROM yang lebih tua dengan file yang terpotong secara aneh di atasnya (seperti abcdef ~ 1.txt) nama file itu dikurangi oleh beberapa aplikasi warisan menggunakan SFN dari LFN yang lebih lama dan tidak didukung (seperti abcdefghijk. txt).

    Kami jauh dari pertengahan 1990-an, dan seluruh nama file panjang (sebagian besar) benar-benar tersingkir. Jika Anda menjalankan versi Windows dari 10 tahun terakhir, Anda kemungkinan besar tidak akan pernah menemukan konflik panjang nama file seperti yang biasa kami jalankan kembali dalam DOS / Windows 95 hari. Yang mengatakan, kami masih mengalami cegukan, seperti yang Anda temukan dengan proyek pembersihan disk Anda. Tapi kenapa? Jika sistem Long Filename Windows mendukung folder dan nama file hingga 255 karakter per komponen, Anda menggunakan dinding apa? Kita tidak bisa menyalahkan NTFS (sistem file yang digunakan sebagian besar mesin Windows modern) karena NTFS akan mendukung rantai folder dan nama file hingga total panjang jalur 32.767 karakter. Sejauh itu melebihi struktur direktori khas yang paling dibutuhkan oleh pengguna.

    Di mana semuanya berantakan adalah pembatasan buatan tumpukan Windows di atas sistem LFN / NTFS: variabel MAX_PATH. Variabel MAX_PATH menentukan bahwa struktur direktori lengkap di Windows tidak dapat melebihi 260 total karakter, termasuk huruf drive, titik dua, garis miring terbalik, dan garis miring nol di bagian akhir. Dengan demikian Anda hanya memiliki MAX_PATH nyata 256 potensi, mis. C: \ your-256-character-path \.

    Jadi yang terjadi ketika Anda membersihkan komputer adalah bahwa Anda memiliki direktori dengan jalur yang sudah panjang (baik karena nama folder panjang, nama file panjang, atau keduanya), dan ketika Anda mencoba untuk memindahkan satu atau lebih dari direktori tersebut ke direktori lain dengan jalur panjang, panjang total nama jalur melebihi 260 karakter yang ditentukan oleh variabel MAX_PATH.

    Sekarang, Anda mungkin berpikir “Ah-hah! Kami hanya akan mengubah variabel MAX_PATH dan menyelesaikan masalah! "Sayangnya, itu tidak sesederhana itu. Variabel MAX_PATH tidak hanya pada dasarnya hard coded ke Windows, tetapi bahkan jika Anda melalui kerumitan yang besar untuk mengubahnya, Anda akan berakhir dengan melanggar begitu banyak sehingga tidak layak. Terlalu banyak aplikasi berharap variabel path sesuai dengan yang ditentukan Windows sebelumnya. Kita tidak bisa seenaknya mengubahnya tanpa membuat kekacauan besar.

    Di mana itu meninggalkan Anda? Nah, solusi paling sederhana adalah dengan hanya mengedit data jalur. Sebagai contoh, jika Anda memiliki satu ton artikel yang disimpan di mana aplikasi / ekstensi yang Anda gunakan untuk menyimpannya dari web membuat direktori yang merupakan judul lengkap artikel + artikel utama, dan kemudian nama file itu sendiri adalah judul lengkap dari artikel + artikel utama, akan sangat mudah untuk mencapai atau melebihi MAX_PATH dengan sekali simpan. Mengedit folder besar dan judul artikel ke ukuran yang lebih masuk akal adalah cara mudah untuk memperbaiki masalah.

    Jika Anda memiliki banyak file dengan jalur yang panjang dan Anda tidak ingin mengedit semuanya (atau jika Anda mau menghapus satu ton direktori lama yang terlalu panjang untuk ditangani oleh Windows ketika dibatasi oleh variabel MAX_PATH), ada pekerjaan baris perintah. Meskipun Windows dibatasi oleh variabel MAX_PATH, insinyur Windows menyadari akan ada situasi di mana pengguna perlu berurusan dengan nama jalur yang lebih panjang. Dengan demikian, API Windows memiliki fungsi untuk menangani jalur yang sangat panjang.

    Untuk memanfaatkan API itu dan menggunakan alat baris perintah pada folder / nama file yang sulit, Anda hanya perlu menambahkan nama direktori dengan beberapa karakter tambahan. Misalnya, jika Anda memiliki struktur direktori besar yang ingin Anda hapus (tetapi menerima kesalahan karena panjang lintasan ketika Anda mencobanya), Anda bisa mengubah perintah dari:

    rmdir c: \ document \ some-really-super-long-folder-name-schema \

    untuk:

    rmdir \\? \ c: \ document \ some-really-super-long-folder-name-schema \

    Kuncinya adalah penambahan \\? \ bagian sebelum dimulainya jalur file; ini menginstruksikan Windows untuk mengabaikan batasan yang diberlakukan oleh variabel MAX_PATH dan untuk berinteraksi dengan jalur yang baru saja Anda berikan sebagaimana disediakan / dipahami secara langsung oleh sistem file yang mendasarinya (yang jelas dapat mendukung jalur yang lebih panjang). Seperti biasa, berhati-hatilah pada prompt perintah untuk menghindari penghapusan file atau direktori yang tidak sengaja Anda tinggalkan.

    Jika tinjauan umum kami tentang masalah ini membuat Anda penasaran, pasti gali artikel ini dari perpustakaan Jaringan Pengembang Microsoft, Penamaan File, Paths, dan Namespaces, untuk informasi lebih lanjut tentang apa yang terjadi di bawah tenda.


    Punya pertanyaan teknologi yang mendesak? Kirimkan email kepada kami di [email protected] dan kami akan melakukan yang terbaik untuk menjawabnya.