Trovare file con percorso più lungo di 255 caratteri

Con alcuni programmi, NTBackup è tra questi, si incontrano problemi se il percorso di un file supera i 255 caratteri.

Per il problema specifico è disponibile questa KB http://support.microsoft.com/kb/303079 ma far partire il backup e poi analizzarsi i log non è mai simpatico e soprattutto è una gran perdita di tempo.

Il metodo più rapido per identificare i file con un percorso superiore a 255 caratteri è quello di usare logparser 

logparser "select path from c:\*.* where strlen(path)>255" -i:FS -recurse:-1

Nella stessa categoria
    Nessuna risorsa collegata

    Commenti
    Another scrive:
    Trovare file con percorso più lungo di 255 caratteri

    scusate, io da qualche giorno sto avendo diversi problemi con questo discorso dei 255 caratteri, che in realtà mi risulta essere:
    - 240 car. max per le cartelle
    - 260 car. max per il nome del file

    Possibile che Microsoft non abbia rilasciato patch per superare questa grossa limitazione? Io il problema ce l'ho su Windows Server 2003 R2

    ps: cavolo volevo rispondere ad un commento precedente ed invece ho aperto un nuovo thread, m spiace

    Modificato da Another il 02 maggio 2007 10.38 -
    02/05/2007 ore 10.35 | 11 risposte
    ITHost scrive:
    Re: Trovare file con percorso più lungo di 255 caratteri

    che io sappia non ci sono patch anche perchè il sistema operativo non ha queste limitazioni ma sono alcuni programmi ad averle ntbackup è tra questi.
    Con quale programma hai il problema e quando? Vediamo di trovare una soluzione sempre che sia possibile
    02/05/2007 ore 10.58 | 1 risposta
    Another scrive:
    Re: Trovare file con percorso più lungo di 255 caratteri

    tu dici? mah, nn è facile trovare info in merito ma le poche che ho trovato in passato mi confermavano le limitazioni..

    ora ho trovato in fretta solo questa pagina

    http://msdn.microsoft.com/library/ita/default.asp?url=/library/ITA/cpref/html/frlrfsystemiopathclassgetfullpathtopic.asp

    dove si può notare:

    Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema. Nelle piattaforme basate su Windows, ad esempio, è necessario che i percorsi siano inferiori a 248 caratteri e i nomi di file a 260 caratteri.

    fatto sta che io ho un file server in queste condizioni e ti assicuro che sia con xp che con ws2003 stesso non riesci a fare le normali operazioni sui file..

    accedendovi da remoto con Vista a volte qualcosa riesci a combinare
    02/05/2007 ore 11.35 | 1 risposta
    ITHost scrive:
    Re: Trovare file con percorso più lungo di 255 caratteri

    come ti dicevo non è un limite del disco o di partizione ma un problema o meglio limite impostato dalle api di windows che per motivi di compatibilità si ripercuotono pure sul framework .net

    Consiglio questa lettura
    http://blogs.msdn.com/bclteam/archive/2007/02/13/long-paths-in-net-part-1-of-3-kim-hamilton.aspx

    Tornando al tuo problema ci sono diverse soluzioni per ovviare al problema:

    - Usare path relativi e non assoluti
    - Creare un unità virtuale con il comando subst oppure uno share di rete con net share

    sono solo le prime che mi vengono in mente
    02/05/2007 ore 13.35 | 1 risposta
    Another scrive:
    Re: Trovare file con percorso più lungo di 255 caratteri

    mm, grazie per il link però il mio problema è proprio di base: l'accesso via Esplora Risorse e non tramite applicazioni custom

    nn riesco a capire i tuoi ultimi 2 consigli: io devo riuscire a gestire un file sul file server, file che ha un percorso tipo:

    D:\\condivisioni\divisione pinco pallo\....260 caratteri ed oltre..\file.doc

    e anche se lo mappo magari riesco ad accoriciare il nome visto dai client ma sul server il problema resta
    02/05/2007 ore 14.26 | 1 risposta
    ITHost scrive:
    Re: Trovare file con percorso più lungo di 255 caratteri

    come già detto in precedenza non hai molte soluzioni il limite di 260 caratteri è delle api di windows e quindi non c'è via di scampo, lo stesso problema l'avrai con i DFS
    02/05/2007 ore 15.43 | 1 risposta
    Another scrive:
    Re: Trovare file con percorso più lungo di 255 caratteri

     scusa?

    nn ti capisco: prima mi dici che non è un limite di sistema, poi mi suggerisci 2 possibili rimedi e poi ritratti  e dici che non ho speranze?
    02/05/2007 ore 15.54 | 1 risposta
    ITHost scrive:
    Re: Trovare file con percorso più lungo di 255 caratteri

    allora hai ragione come sempre scrivo troppo veloce

    Il limite non è lato partizione in quanto per NTFS il limite è di 32767 caratteri di qui caratteri 255 per ogni cartella/file

    Il limite che hai riscontrato è dovuto ad alcune api di windows che limitano la lunghezza del path a 260 caratteri per ovviare a questo non hai molte soluzioni se non:

    - non usare queste api (parecchio complicato visto che anche il framework .net dipende da queste)
    - Usare path relativi e non assoluti
    - Creare un unità virtuale con il comando subst oppure uno share di rete con net share
    - Usare i nome di file e cartelle in modalità corta o vecchia (8 caratteri + 3 estensione) le cartelle vengono abbreviate con il simbolo ~

    Una possibile soluzione è quella di provare a definire il path in modalità unicode ovvero mettendo \\?\ prima del percorso se combini tutte queste possibilità potresti aggirare il problema

    Per completezza
    http://msdn2.microsoft.com/en-us/library/aa365247.aspx
    03/05/2007 ore 9.12 | 1 risposta
    Another scrive:
    Re: Trovare file con percorso più lungo di 255 caratteri

    ma poichè io i problemi li ho con Esplora Risorse e tu dici che nn sono del filesystem ma delle api => deduco che Esplora Risorse usa le API? mi sembra un po' una vaccata (scusa il termine)

    x quanto riguarda lo share nn mi sembra che faccia al caso mio, con il subst quali vantaggi avrei? è una cosa permanente o vale solo fino al riavvio?

    grazie
    03/05/2007 ore 14.57 | 1 risposta
    ITHost scrive:
    Re: Trovare file con percorso più lungo di 255 caratteri

    ma poichè io i problemi li ho con Esplora Risorse e tu dici che nn sono del filesystem ma delle api => deduco che Esplora Risorse usa le API?


    colpito e affondato, il processo explorer.exe usa esattamente quelle api

    mi sembra un po' una vaccata (scusa il termine)


    lo so e per questo adoro la versione core di longhorn senza interfaccia utente

    x quanto riguarda lo share nn mi sembra che faccia al caso mio, con il subst quali vantaggi avrei?


    che puoi ad esempio impostare l'unità K: alla cartella c:\cartella1\sottocartella\sottosottocartella\ecc

    è una cosa permanente o vale solo fino al riavvio?


    dipende da come lo imposti puoi impostarlo come script di logon e quindi sarà permanente
    03/05/2007 ore 19.14 | 1 risposta
    Another scrive:
    Re: Trovare file con percorso più lungo di 255 caratteri

    che tu sappia esistono utility/browser di file che non usano quelle API?

    ho letto che è uscita la beta 3 di longhorn ma soffre degli stessi problemi?
    03/05/2007 ore 20.20 | 1 risposta
    ITHost scrive:
    Re: Trovare file con percorso più lungo di 255 caratteri

    che tu sappia esistono utility/browser di file che non usano quelle API?


    no a meno di non crearle adhoc

    ho letto che è uscita la beta 3 di longhorn ma soffre degli stessi problemi?


    ni (si e no) anche se sono stati "risolti" (è una parola grossa) riducendo i nomi delle cartelle di base ad esempio Documents and Settings è diventata Users e così via

    Il problema rimarrà con noi per parecchio tempo

    Per completezza
    http://blogs.msdn.com/michkap/archive/2006/12/13/1275292.aspx
    03/05/2007 ore 22.10

    Aggiungi un nuovo commento »»»
    Per inserire un commento, devi registrarti alla nostra community.


    TagCloud
    BLOG INFO
    • Post: 97
    • Commenti: 52
    • TrackBacks: 12
    • Feed blog e contenuti tecnici: RSS
    • Feed blog: RSS Atom OPML
    CATEGORIE
    I PIÙ LETTI DEL MESE
    IN EVIDENZA