Apakah Windows 7 telah Memperbaiki Batas Jalur File 255 Karakter?

92

Seperti yang saya pahami, batasan 255 karakter dalam jalur file adalah batasan Windows. Apa alasannya? Jika ya, apakah ini telah diatasi di Windows 7?

Dalam praktik integrasi berkelanjutan kami, kami sering kali memiliki struktur proyek yang sangat bersarang dan akan sangat berguna untuk dapat melampaui 255 karakter. Saat ini kami agak dipaksa untuk menyusun proyek kami sedemikian rupa agar tidak mencapai langit-langit buatan ini.

The Matt
sumber
3
@DavidHeffernan Tapi 260 itu menyertakan karakter null di akhir dan `C: \` di awal, jadi hanya 255 karakter yang bisa digunakan.
Aaron Dufour
2
@Wildan_wrg saya salah. Microsoft sering mengutip panjang 256, yang Anda dapatkan saat Anda mengurangi dengan benar, bukan 260, yang secara teknis merupakan batasnya.
Aaron Dufour
5
Masalah ini membuat saya marah. Itu masih ada di windows 8.1. Sepertinya saya tidak dapat memindahkan file saya, meskipun BEBERAPA BAGAIMANA file itu dibuat di tempat pertama. Jika Anda menemukan cara untuk membuat file dengan 255+ nama jalur file, Anda benar-benar dapat mengacaukan mesin windows seseorang.
Automatico
Menurut Jeremy Kuhne, masalah ini sedang ditangani dan mungkin segera ada solusinya. Lihat video ini. youtube.com/watch?v=ZppqEMegCAA
J Edward Ellis
Pertanyaannya adalah tentang Windows 7, tetapi bagaimanapun, Windows 10 memang memiliki opsi untuk mengaktifkan jalur panjang untuk beberapa aplikasi. Untuk detail lebih lanjut, lihat jawaban ini: stackoverflow.com/questions/27680647/…
quasoft

Jawaban:

44

Lihat http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx

Ini menjelaskan bahwa versi Unicode dari Windows API memiliki batas yang lebih tinggi, dan cara mengaktifkannya.

Drew Hoskins
sumber
14
Tapi peringatan: Ada banyak kode (kebanyakan utilitas sistem pihak ketiga dan sejenisnya) yang tidak berfungsi dengan baik dengan jalur yang lebih panjang. Anda mungkin mengalami masalah dengan itu jika Anda mulai menggunakan jalur yang lebih panjang.
ReinstateMonica Larry Osterman
2
Apakah artikel ini benar? Saya melakukan tes sederhana dengan Windows Explorer dan Windows Command Prompt di Windows 7 dan saya tidak dapat membuat jalur file dengan lebih dari 260 karakter. Apakah Microsoft belum memperbarui aplikasi ini untuk menggunakan versi Unicode dari Windows API?
Templar
7
Sayangnya Windows Explorer pada Windows 7 x64 masih tunduk pada batasan jalur ini. Ini memberi kesan bahwa seluruh sistem operasi belum mengatasi batas ini, padahal sebenarnya hanya Windows Explorer yang belum diperbarui untuk bekerja dengan jalur yang lebih panjang. Ada kemungkinan bahwa pengelola file pihak ketiga yang menggunakan API terbaru dapat mengatasi masalah ini. Pada akhirnya, apakah suatu program tampaknya mencapai batas jalur akan bergantung pada apakah program tersebut menggunakan API terbaru di Windows.
pengguna1445967
2
Ini bukan pertanyaan tentang API "lebih baru" atau "lebih lama". Anda hanya mendapatkan dukungan jalur panjang jika Anda secara eksplisit memintanya, dan Explorer tidak melakukannya, mungkin karena alasan yang jelas: kompatibilitas dengan aplikasi pihak ketiga yang ada.
Harry Johnston
9
-1 - Tautan ke solusi potensial selalu diterima, tetapi harap tambahkan konteks di sekitar tautan sehingga sesama pengguna Anda akan mengetahui apa itu dan mengapa itu ada. Selalu kutip bagian paling relevan dari tautan penting, jika situs target tidak dapat dijangkau atau offline secara permanen. meta.stackoverflow.com/tags/link-only-answers/info
Aaron Hall
20

Anda bisa menyiasati batas itu dengan menggunakan subst jika perlu.

Joshua
sumber
1
Atau robocopy yang dibangun di dalam Windows, berdasarkan jawaban ini, stackoverflow.com/questions/29865863/…
KAE
5
Anda harus menunjukkan caranya dan memberikan link ke dokumentasi yang relevan. -1
Aaron Hall
3
Sementara saya memberi suara positif, saya setuju sebuah contoh akan berguna: subst E: D:\TESTDATA\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1 Itu membawa saya pada jalur yang sedalam 500 karakter. Alasan untuk ~ 1s adalah cara Explorer memformat jalur.
Adam Marcionek
1
Solusi serupa akan menggunakan persimpangan , baik melalui ekstensi shell atau melalui mklink Contoh:mklink /J C:\newdir C:\some\really\long\path\
Charles Grunwald
14

Solusi bukanlah solusi, oleh karena itu jawabannya adalah "Tidak".

Masih mencari solusi, berikut ini solusi yang memungkinkan: http://support.code42.com/CrashPlan/Latest/Troubleshooting/Windows_File_Paths_Longer_Than_255_Characters

pengguna1767754
sumber
1
Elemen inti windows termasuk PowerShell, windows explorer shell, dan utilitas cmd seperti del masih tidak dapat menangani jalur yang melebihi 250 karakter, dan tidak ada solusi yang memperbaiki fakta bahwa teknologi inti Microsoft tidak menangani jalur yang panjang, pada tahun 2016. Jawaban singkatnya di sini adalah sampai Microsoft mendapatkan dukungan kolektifnya, hanya sedikit yang dapat kami lakukan.
Warren P
4

@ Cort3z: jika masalah masih ada, hotfix ini: https://support.microsoft.com/en-us/kb/2891362 harus menyelesaikannya (dari win7 sp1 hingga 8.1)

ale.com
sumber
Ini adalah solusi yang bagus. Apakah Anda mengalami masalah setelah menggunakannya?
Gabriel Fair