Windows filenames si pragul nebuniei

Exista multe momente cand computerul iti scoate peri albi. Sunt cazuri cand se blocheaza, se restarteaza, da erori cu send/don't send, nu gaseste fisiere de sistem si inca multe altele. Dar acum a comis-o de m-a scos rau din minti.

Am un hard extern pe care fac backup la o parte din lucrurile pe care le am pe sistem, in mare parte muzica. Pentru ca am ajuns (din prostie, se pare) sa nu mai verific si copy-paste-urile, m-am trezit intamplator (adica nu as fi verificat niciodata, daca nu se intampla sa vad din nimereala) urmatorul aspect:

Tot ce trece de o anumita limita de caractere pentru local path este trunchiat!

Intri pe D si dai copy la C:\bla bla bla\folder demo bla bla\bla.......(..)....\blablabla_filename.txt

Cand dai paste pe drive-ul extern, se copiaza:

X:\bla bla bla\folder demo bla bla\bla.......(..)....\bla~~~.t

si alte chestii de genul asta!!!

Nu am experienta cu asa ceva, dar ultima oara cand am patit ceva de genul asta imi facusem backup din DOS! Sunt peste 10 ani de-atunci...

Iata si informatia vitala:

Maximum Path Length

In the Windows API (with some exceptions discussed in the following paragraphs), the maximum length for a path is MAX_PATH, which is defined as 260 characters. A local path is structured in the following order: drive letter, colon, backslash, components separated by backslashes, and a terminating null character. For example, the maximum path on drive D is "D:\<some 256 character path string><NUL>" where "<NUL>" represents the invisible terminating null character for the current system codepage.

Deci, avem:

LITERA DRIVE-ULUI
DOUA PUNCTE
BACKSLASH
MAXIM 256 DE CARACTERE
CARACTER NULL INVIZIBIL

In cele 256 de caractere intra numele fisierelor respective, precum si backslash-urile care le separa.

Din cauza ca nu stiam chestia asta, am pierdut 2 zile si-o noapte si mai pierd si noapte asta, se pare. Intre timp, s-au adunat lucruri de facut, dar acest backup este vital pentru mine.

4 comentarii

6 Feb 2009 la 11:56
Tudor

lumineaza-ma tu. nu inteleg...cum ajungi totusi sa ai un path de peste 256 de caractere?

6 Feb 2009 la 13:18
pinkISH

L-am scris din memorie si nu le-am numarat, dar era ceva de genul:

E:\+ A E R O S M I T H +\myAEROSMITH\Downloaded\Aerosmith - [2001] - Young Lust - The Aerosmith Anthology [REX]\Aerosmith - [2001] - Young Lust - The Aerosmith Anthology [Left Disc] [REX]\Aerosmith - [2001] - Young Lust - The Aerosmith Anthology [REX] Back.jpg

si fisiere de genul:
Jeremy Piven at the Cap Off Grand Opening of The Cove Atlantis on Paradise Island - 5.12.2007.jpg

6 Feb 2009 la 14:55
Tudor

pai daca lasi spatii inainte si dupa liniute... :))

6 Feb 2009 la 19:01
pinkISH

pai nu facusem decat sa dezarhivez un download. la cate am pe hard, cine crezi ca sta de cosmetica?

din pacate, atunci cand apar probleme de genul asta, esti fortat sa le iei la mana si dureaza...

Linkuri