Příliš dlouhé názvy souborů - nějaká pomůcka?
Příliš dlouhé názvy souborů - nějaká pomůcka?
Při migraci dat na diskových polí jsem se po čase opět setkal se stejným problémem: příliš dlouhé názvy souborů. Zpravidla se jedná o sehrávání složitých adresářových struktur (dokumentové generované adresáře Windows, zálohy strukturovaných adresářů uživatelů), občas jsou zbytečně dlouhá i samotná jména souborů. I když se svým způsobem jedná o uživatelskou chybu/neobratnost, v danou chvíli se s věcí musím vypořádat. Meditování a nadávání nepomůže...
V některých, spíše těch mezních, případech stačí tradiční,manuální postup: rozhodit zanořené podadresáře ven ze struktura a ručně zesynchronizovat. V případě sehrávání rozsáhlých a špatně strukturovaných záloh uživatelských dat to je na mrtvicu. Teoreticky by mohlo být lepší využít Robocopy v některé z jeho variant, ale když už je zle,tak skončí s chybovým hlášením i "robáč".
Nevíte někdo o nějaké utilitě, která by dokázala analyzovat tento druh problémů a pomoci při odchytu problémových cest a hluboko zanořených souborů s dlouhými jmény? Ideální by byl plugin pro AS . To byl samozřejmě žert. Ve skutečnosti nemám jasno, do jaké míry se AS s věcí vypořádává. V jedné ze starších diskusí bylo řečeno, že AS část omezení (256 znaků) dokáže překonat, ale spíš mu vadí příliš dlouhá cesta k souboru. /Jestli se nepletu, tak nějakou oklikou přes 8.3 jména./ Pokud si to dobře pamatuju, tak si s tím dokáže poradit bez mrknutí oka Symantec Backup Exec, ale momentálně jej nemám k dispozici.
Jakákoliv rada bude vítána. Prosím - neříkejte mi, že nejlepší je takové chuťovky vůbec nevytvářet. To bohužel vím . Ale v určitých situacích s tím nemůžu nic dělat, jen přetrpět.
Díky
Michal
EDIT: Win Srv 2003 Eng /"lokál" nastaven na češtinu/ + AS 2.54
V některých, spíše těch mezních, případech stačí tradiční,manuální postup: rozhodit zanořené podadresáře ven ze struktura a ručně zesynchronizovat. V případě sehrávání rozsáhlých a špatně strukturovaných záloh uživatelských dat to je na mrtvicu. Teoreticky by mohlo být lepší využít Robocopy v některé z jeho variant, ale když už je zle,tak skončí s chybovým hlášením i "robáč".
Nevíte někdo o nějaké utilitě, která by dokázala analyzovat tento druh problémů a pomoci při odchytu problémových cest a hluboko zanořených souborů s dlouhými jmény? Ideální by byl plugin pro AS . To byl samozřejmě žert. Ve skutečnosti nemám jasno, do jaké míry se AS s věcí vypořádává. V jedné ze starších diskusí bylo řečeno, že AS část omezení (256 znaků) dokáže překonat, ale spíš mu vadí příliš dlouhá cesta k souboru. /Jestli se nepletu, tak nějakou oklikou přes 8.3 jména./ Pokud si to dobře pamatuju, tak si s tím dokáže poradit bez mrknutí oka Symantec Backup Exec, ale momentálně jej nemám k dispozici.
Jakákoliv rada bude vítána. Prosím - neříkejte mi, že nejlepší je takové chuťovky vůbec nevytvářet. To bohužel vím . Ale v určitých situacích s tím nemůžu nic dělat, jen přetrpět.
Díky
Michal
EDIT: Win Srv 2003 Eng /"lokál" nastaven na češtinu/ + AS 2.54
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
NTFS svazky zvládají cesty délky kolem 32000 znaků. Salamander to umět může taky, současné omezení je víceméně umělé, kvůli kompatibilitě. Onehdá jsem navrhoval, aby si Salamander sám dlouhé názvy zkracoval, ale zatím z toho nic nevyšlo.misko wrote:Ve skutečnosti nemám jasno, do jaké míry se AS s věcí vypořádává.
Ελληνικά rulez.
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
Ja na kontrolu pouzivam PathScan (freeware)
http://www.softpedia.com/get/System/Fil ... Scan.shtml
Vobec by mi neprekazalo, keby to existovalo v AS ako plugin.
http://www.softpedia.com/get/System/Fil ... Scan.shtml
Vobec by mi neprekazalo, keby to existovalo v AS ako plugin.
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
Děkuju všem za tipy.
Naštěstí nejsem v tuto chvíli nucen použít nic vysloveně destruktivního (tj. řešení, které definovaným způsobem pozmění stávající strukturu složek). Podařilo se mi postupně separovat "obtěžující" adresáře s nevhodnými názvy. Pro mé účely se nejvíce osvědčil tip od SelfMana - PathScan. To je přesně ono! Kdyby existoval podobný plugin... Ještě více by se mi líbilo, kdyby tato funkce byla obsažena také při vyhledávání (s možností skočit na vybraný soubor/adresář a na místě řešit), možná také jako volitelná funkce pro kopírování.
Převážně manuální kopírování mne navedlo na několik nejasností spojených s řešením, které docela šikovně používá AS 2.54:
1) je někde dokumentováno, kolik znaků celého "jména" (tj. filename + path) je schopen AS obsloužit (popř. za jakých podmínek a omezení)? PathScan na závěr vypíše soupis jmen s cestou včetně detekované délky. Délka jména je nastavitelná, potřeboval bych tedy znát chování AS co nejpřesněji -> viz dále.
2) AS evidentně vidí a je schopen porovnávat i soubory s delším názvem než 255 znaků. Neumí s nimi za všech okolností operovat, ale např. běžný compare (bez přímého porovnání obsahu) funguje korektně. Většinou.
3) AS umí vykopírovat příliš dlouhé jméno do rootu nebo složky s krátkým jednoznakovým názvem (např. "1"). Pokud se pokusím kopírovat kompletní strukturu, odmítne. Pokud vyseparuju obtěžující podadresáře, dokáže je aspoň kopírovat do pomocných složek. Kde je ale hranice, za kterou odmítně přístup k souboru totálně? I to jsem zaregistroval...
4) všechno tedy skutečně závisí na detailech toho, jakým způsobem a za jakých podmínek AS překonává limit.
---
5) jak by se Vám líbilo, kdyby bylo možné volitelně zapnout takový mód kopírování/přesouvání, který dočasně vypnul kompatibilitu se staršími a ne-NTFS systémy? Tedy plnou podporu 32k-znakových jmen. Koneckonců tyto nekompatibilní struktury při řešení operativních problémů stejně vytváříme - pracně, manuálně.
---
Ještě jedno - díky!
Michal
P.S.Nemohu to sice prokázat a jednoznačně reprodukovat, ale v jednom případě mi příkaz pro porovnání adresářů s dlouhými jmény spolehlivě shazuje AS. Dále jsem vypozoroval, že existuje - možná? - nějaká vazba mezi chováním při kopírování souborů s dlouhými jmény a se stavem souborového systému. Kontrola volume (chkdsk) pomohla - zdá se (zatím jen dohad). M.
Naštěstí nejsem v tuto chvíli nucen použít nic vysloveně destruktivního (tj. řešení, které definovaným způsobem pozmění stávající strukturu složek). Podařilo se mi postupně separovat "obtěžující" adresáře s nevhodnými názvy. Pro mé účely se nejvíce osvědčil tip od SelfMana - PathScan. To je přesně ono! Kdyby existoval podobný plugin... Ještě více by se mi líbilo, kdyby tato funkce byla obsažena také při vyhledávání (s možností skočit na vybraný soubor/adresář a na místě řešit), možná také jako volitelná funkce pro kopírování.
Převážně manuální kopírování mne navedlo na několik nejasností spojených s řešením, které docela šikovně používá AS 2.54:
1) je někde dokumentováno, kolik znaků celého "jména" (tj. filename + path) je schopen AS obsloužit (popř. za jakých podmínek a omezení)? PathScan na závěr vypíše soupis jmen s cestou včetně detekované délky. Délka jména je nastavitelná, potřeboval bych tedy znát chování AS co nejpřesněji -> viz dále.
2) AS evidentně vidí a je schopen porovnávat i soubory s delším názvem než 255 znaků. Neumí s nimi za všech okolností operovat, ale např. běžný compare (bez přímého porovnání obsahu) funguje korektně. Většinou.
3) AS umí vykopírovat příliš dlouhé jméno do rootu nebo složky s krátkým jednoznakovým názvem (např. "1"). Pokud se pokusím kopírovat kompletní strukturu, odmítne. Pokud vyseparuju obtěžující podadresáře, dokáže je aspoň kopírovat do pomocných složek. Kde je ale hranice, za kterou odmítně přístup k souboru totálně? I to jsem zaregistroval...
4) všechno tedy skutečně závisí na detailech toho, jakým způsobem a za jakých podmínek AS překonává limit.
---
5) jak by se Vám líbilo, kdyby bylo možné volitelně zapnout takový mód kopírování/přesouvání, který dočasně vypnul kompatibilitu se staršími a ne-NTFS systémy? Tedy plnou podporu 32k-znakových jmen. Koneckonců tyto nekompatibilní struktury při řešení operativních problémů stejně vytváříme - pracně, manuálně.
---
Ještě jedno - díky!
Michal
P.S.Nemohu to sice prokázat a jednoznačně reprodukovat, ale v jednom případě mi příkaz pro porovnání adresářů s dlouhými jmény spolehlivě shazuje AS. Dále jsem vypozoroval, že existuje - možná? - nějaká vazba mezi chováním při kopírování souborů s dlouhými jmény a se stavem souborového systému. Kontrola volume (chkdsk) pomohla - zdá se (zatím jen dohad). M.
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
Sumarizace testování problémových souborů programem PathScan:
Podle informací programu PathScan většina problémových cest (file+path) spadá do rozmezí 250-280 bytů dlouhého PATH. Dá se předpokládat, že řadě uživatelů by vyhověla podpora ca 300 bytových cest. V kombinaci s možností cíleně vyhledávat konflikty. Zbytek manuálně.
Docela by mne zajímaly zkušenosti ostatních uživatelů. S čím se setkali, s čím se setkávají pravidelně atp.
M.
Podle informací programu PathScan většina problémových cest (file+path) spadá do rozmezí 250-280 bytů dlouhého PATH. Dá se předpokládat, že řadě uživatelů by vyhověla podpora ca 300 bytových cest. V kombinaci s možností cíleně vyhledávat konflikty. Zbytek manuálně.
Docela by mne zajímaly zkušenosti ostatních uživatelů. S čím se setkali, s čím se setkávají pravidelně atp.
M.
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
Když už porušit kompatibilitu, tak úplně. Nemá smysl se držet při zemi, když stejně nad 260 znaků nebudou cesty fungovat bez ohledu na to, jestli překročí limit o 40 nebo o 1000.misko wrote:řadě uživatelů by vyhověla podpora ca 300 bytových cest
Některé programy s oblibou vytvářejí soubory s dost dlouhým názvem, a když to náhodou chci nakopírovat do nějaké složitější adresářové struktury, tak to dost překáží. Vždycky jsem to řešil pomocí Batch Rename, případně prostě zuřivě klepal na Skip, pokud to byly nějaké dočasné soubory.misko wrote:Docela by mne zajímaly zkušenosti ostatních uživatelů.
Ελληνικά rulez.
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
Salamander limit obchází už teď, aspoň do jisté míry. Ovšem nevíme, do jaké. A hlavně nevíme to přesně. To mi trošku vadí.Ether wrote:Když už porušit kompatibilitu, tak úplně. Nemá smysl se držet při zemi, když stejně nad 260 znaků nebudou cesty fungovat bez ohledu na to, jestli překročí limit o 40 nebo o 1000....misko wrote:řadě uživatelů by vyhověla podpora ca 300 bytových cest
Pokud jde o limit 300 znaků: já měl na mysli dočasné řešení nebo doladění toho nynějšího. Pokud je to vůbec možné a pokud to stojí za to. To musí odhadnout autoři. Pokud se nepletu, tak dotažená podpora UNICODE by umožnila robustní podporu 32 000 bytových cest a v podstatě libovolně dlouhých jmen souborů. To ale není na pořadu dne. Stačilo by, aby bylo možno dočasně a za jasně definových podmínek synchronizovat na NTFS ExLFN dejme tomu 300 byte, lépe 400-500. Prostě umožnit migraci dat v identické podobě, i když jsou nerozumně a neefektivně strukturovány a pojmenovány. NTFS a souborový systém s tím problém nemají.
Michal
P.S. Pokračoval jsem v namátkovém testování nesetříděných záloh (exportované EML soubory s dlouhými jmény atp.) z uživatelských účtů. V několika případech jsem se dostal na hodnotu kolem 300-309 byte. Takže bych optoval spíše pro podporu cest 400 a více byte.
P.S.S. V rámci reálné práce s daty (migrace dat) se mi podařilo vytvořit takovou datovou strukturu, která při compare opakovaně shazuje AS. Bugreport zasílám vývojářům. Pro jistotu zkusím na daných volumech provést CHKDSK.
-
- ALTAP Staff
- Posts: 5231
- Joined: 08 Dec 2005, 06:34
- Location: Novy Bor, Czech Republic
- Contact:
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
Salamander dlouhé 32K cesty nepodporuje. Důvodem bylo (také to), že tyto cesty podporovala pouze část Windows API, takže by nefungovaly celé části Salamandera. Dnes pod Windows 7 může být ze strany MS věc dořešenější, to jsme zatím nezkoumali.
Na několika místech je použit trik, kdy se cesta zpracuje pomocí krátkých cest 8.3 (C:\PROGRA~1), což bude to, na co jste narazil.
Na několika místech je použit trik, kdy se cesta zpracuje pomocí krátkých cest 8.3 (C:\PROGRA~1), což bude to, na co jste narazil.
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
Mohu se zeptat na kterých místech? Prostě abych věděl, jak mám daný potenciál co nejlépe využít a vyhnout se "úzkým hrdlům".Jan Rysavy wrote:Salamander dlouhé 32K cesty nepodporuje. Důvodem bylo (také to), že tyto cesty podporovala pouze část Windows API, takže by nefungovaly celé části Salamandera. Dnes pod Windows 7 může být ze strany MS věc dořešenější, to jsme zatím nezkoumali.
Na několika místech je použit trik, kdy se cesta zpracuje pomocí krátkých cest 8.3 (C:\PROGRA~1), což bude to, na co jste narazil.
S ohledem na Vaše vytížení chápu, že není lehké najít "energetickou kapacitu" na nějaké obskurní a zřídka užívané funkce. Budoucí UNICODE verze asi situaci ExLFN (extra long...) změní k lepšímu. Je reálné uvažovat o možnosti něčeho jako "synchromode", když by AS s omezenými funkcemi a pouze v definovaném kontextu (NTFS, OS...) umožnil 32k cesty? Anebo raději jako plugin? Co by se dalo reálně dělat? V podstatě ve vypjatých situacích potřebujeme copy/move/compare.Cokoliv nad tuto úroveň už není tak úplně věcí AS (jsou tu specializované utility, vyhledáče LFN a samozřejmě zlatý dobrý manuální přístup).
Děkuji za věcnou odpověď!
Michal
-
- ALTAP Staff
- Posts: 5231
- Joined: 08 Dec 2005, 06:34
- Location: Novy Bor, Czech Republic
- Contact:
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
Máme tu changelog, ale nějak mi nedává smysl, museli bychom provést audit zdrojových kódů. Takže místa bez bližšího zkoumání nemohu označit. Rozhodně je něco v diskových operacích, něco v QuickRename (F2), něco ve View&Edit.
Pokud by se měly dlouhé cesty řešit, mělo by jít o změny v jádře Salamandera a následně v pluginech. Samozřejmě by šel vytvořit plugin, který by dlouhé cesty vyhledal. Ale dopsat podporu pro 32K cesty pouze pomocí pluginu není reálné.
Pokud by se měly dlouhé cesty řešit, mělo by jít o změny v jádře Salamandera a následně v pluginech. Samozřejmě by šel vytvořit plugin, který by dlouhé cesty vyhledal. Ale dopsat podporu pro 32K cesty pouze pomocí pluginu není reálné.
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
To by celkem odpovídalo, QuickRename funguje (a to je za těchto situací k nezaplacení!), copy/compare také (minimálně umožní kopírovat ExLFN do rootu, i když odmítnoul kopírovat celou vnořenou dlohou cestu.). Rozhodně jsem s řešením spokojený, ne že ne . View/Edit jsem zas tak moc nepotřeboval. Mimochodem Compare funguje asi "nejdále". I to, co musím manuálně rozkopírovat do jednotlivých adresářů a pak sehrávat, umožní srovnat. S určitou dosaženou hloubkou cesty pak končí (v některých případech s ohlášenou chybou a nutností Terminate). Rozhodně tu nástroje pro řešení problémy JSOU a FUNGUJÍ. Hlavně je probůh zachovejte.Jan Rysavy wrote:Máme tu changelog, ale nějak mi nedává smysl, museli bychom provést audit zdrojových kódů. Takže místa bez bližšího zkoumání nemohu označit. Rozhodně je něco v diskových operacích, něco v QuickRename (F2), něco ve View&Edit.
Pokud by se měly dlouhé cesty řešit, mělo by jít o změny v jádře Salamandera a následně v pluginech. Samozřejmě by šel vytvořit plugin, který by dlouhé cesty vyhledal. Ale dopsat podporu pro 32K cesty pouze pomocí pluginu není reálné.
Vaše hodnocení situace en bloc beru na vědomí a nečekám zázraky. Pokud jde o případný plugin, tak jsem měl na mysli kromě pouhého vyhledávání (což by nebylo špatné!) něco jako robocopy.exe. Víceméně nezávislé na vlastním AS. Ale to je nejspíš jen taková laická představa. Docela by se mi líbil plugin v podobě Robocopy GUI . Ale to je z licenčních důvodů nepředstavitelné.
Mimochodem command prompt robocopy.exe podporuje extra LFN. S jeho grafickými nadstavbami jsem neměl štěstí (RichCopy je v mé konfiguraci padavé a nepodporuje konzistentně ExLFN, Robocopy GUI nefunguje správně.)
Děkuju!
Michal
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
Také řeším občas podobný problém, kdy potřebuji zazálohovat adresáře uživatelů (například před přeinstalací OS).
(třeba TC 7 to umí, ale nemám ho rád )
Také se často setkávám s neschopností smazat příliš dlouhé nebo chybné názvy souborů, většinou z TEMPu IE (zpravidla vyřeší přeskočení a následný QuickRename)
Dále se setkávám s nemožností zkopírování některých souborů na Holandských Windows (průzkumník je zkopíruje, AS zobrazuje a pravděpodobně i používá nesprávné názvy), ale je to tak zřídka se vyskytující situace, že to asi nemá smysl řešit.
(třeba TC 7 to umí, ale nemám ho rád )
Také se často setkávám s neschopností smazat příliš dlouhé nebo chybné názvy souborů, většinou z TEMPu IE (zpravidla vyřeší přeskočení a následný QuickRename)
Dále se setkávám s nemožností zkopírování některých souborů na Holandských Windows (průzkumník je zkopíruje, AS zobrazuje a pravděpodobně i používá nesprávné názvy), ale je to tak zřídka se vyskytující situace, že to asi nemá smysl řešit.
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
IMHO data z tempu pred zalohovanim promazavam, neb je nema smysl vubec zalohovat.Valda wrote: Také se často setkávám s neschopností smazat příliš dlouhé nebo chybné názvy souborů, většinou z TEMPu IE (zpravidla vyřeší přeskočení a následný QuickRename)
Re: Příliš dlouhé názvy souborů - nějaká pomůcka?
Maly tip - ICSweep
Command line tool. icsweep.exe /all precisti vsetky profily od bordelu v TEMP a Temporaty Internet Files.
Command line tool. icsweep.exe /all precisti vsetky profily od bordelu v TEMP a Temporaty Internet Files.