matteoriso.it

Quanto può essere lungo il percorso di un file?

Difficoltà

Clicca per conoscere i livelli di difficoltà dei tutorial

Si applica a...

Vi è una terribile abitudine presso l’utenza media di computer: l’uso di nomi lunghissimi per file e cartelle. Purtroppo non tutti sanno che non si possono assegnare nomi di cartelle e file eccessivamente lunghi perché (soprattutto) Windows impone una lunghezza massima ai percorsi dei files.

Se da un lato all’utente medio sembra una scelta naturale quella di creare nomi di file lunghi per descrivere meglio il contenuto, dall’altro egli non sa che questa pessima abitudine può causare enormi problemi al sistema e, in particolar modo, quando ci si trova in un ambiente di lavoro informatizzato in cui quei file sono spesso condivisi con i colleghi. 

Quando un file ha un percorso troppo lungo (inteso come lunghezza in caratteri del percorso di cartelle e del nome del file stesso), il primo sintomo che indica problemi consiste nel rifiuto di aprire/cancellare/spostare il file da parte del sistema operativo. Per esempio:

C:\Cartella condivisa\Ufficio XYZ\Area 1 – Ufficio finanza e contabilità\Cartella di Mario Rossi – Relazioni finali anni fiscali 2010 - 2020\Relazioni anni 2010-2020\Relazione Anno 2020\PDF\Relazione finale anno fiscale\Relazione anno 2020 validata e verificata - firmata digitalmente.pdf

Questo percorso misura 288 caratteri spazi inclusi (sì, anche lo spazio è un carattere): quando il collega di Mario Rossi vorrà andare a leggere il file direttamente nella cartella condivisa, Windows si rifuterà categoricamente di mostrare i contenuti.

In una situazione come quella sopra esemplificata, sarebbe meglio pensare a non creare troppe sottocartelle e a creare archivi compressi (come .ZIP con ZipGenius), all’interno dei quali creare quella struttura di sottocartelle che serve per organizzare meglio file diversi tra loro ma di natura omogenea. Per esempio, nel percorso C:\Cartella condivisa\Ufficio XYZ\Area 1 – Ufficio finanza e contabilità\ si potrebbe creare uno .zip con dentro:

  • Relazioni finali anni 2010-2020.zip
    • 2010\
      • relazione finale 2010.pdf
    • 2011\
      • relazione finale 2011.pdf
    • 2020\
      • relazione finale 2020.pdf

Quali sono i limiti per ogni sistema operativo?

Tutto dipende dal filesystem usato dal sistema operativo.

  • Windows con il filesystem NTFS impone la lunghezza massima di 260 caratteri e, in più, impedisce l’uso dei caratteri / \ : * ” ? < > |. Tuttavia, in certe condizioni che non si applicano al nostro (e che non approfondirò qui), si può giungere a percorsi di 32.767 caratteri; si tratta di un caso molto raro di utilizzo per gli utenti “normali” come noi e che interessa soprattutto le comunicazioni fra server (perché in quel caso i percorsi dei file sono lunghi per ovvie ragioni tecniche);

  • In Linux il limite per la lunghezza di un percorso è fissato virtualmente a 4096 caratteri mentre il nome di un file puà essere al massimo di 255 caratteri. Nonostante ciò, però, i file system di Linux permettono di andare ben oltre questi limiti e questo spiega perché si preferisca Linux in ambiente server.

  • MacOS anche con il più recente filesystem APFS impone una lunghezza massima del nome file di 255 caratteri ma un percorso può arrivare al massimo fino a 1024 caratteri.
(A questa pagina una comparazione dei limiti dei diversi file system).

A differenza di Windows, gli altri due sistemi operativi consentono l’uso di alcuni di quei caratteri “vietati”.

In quest’immagine vi mostro il Terminale di Debian in cui ho creato cartelle con nomi contenenti ?, una situazione che in Windows impedirebbe la prosecuzione dell’operazione. Or bene, immaginatevi a usare Linux e a decidere di scansionare una raccomandata in PDF e chiamare il file come Scansione raccomandata del 21-dicembre-2019: risposta da società Alfa srl.pdf. Se Linux non batte ciglio per un nome file del genere, Windows si rifiuta di utilizzare i “:” in fase di rinominazione del file; se il file, invece, è generato su un sistema operativo diverso e poi trasferito su Windows, in tal caso quest’ultimo si rifiuterà di aprire il documento.

Bene che vada, Windows potrebbe sostituire i caratteri non consentiti con qualcosa che sia per lui digeribile ma in un contesto professionale, molto dipende dalla configurazione delle policies di gruppo che gli amministratori di sistema sono soliti rendere più stringenti per motivi di sicurezza.

Aggirare il limite in Windows 10 e 11.

Il limite dei 260 caratteri di lunghezza complessiva imposto da Windows può essere facilmente aggirato modificando due chiavi del registro di configurazione di Windows.

  1. Clicca “Start” e digita regedit. Se sono richieste, inserisci le credenziali da amministratore del sistema.
  2. Vai al percorso HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\FileSystem e localizza la chiave di tipo DWORD “LongPathsEnabled“. Questa èsolitamente impostata a “0” (zero): fai doppio click su questa e sostituisci il valore “0” con “1“.
  3. Vai anche al percorso HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem e cerca anche qui la chiave DWORD “LongPathsEnabled“. Dopo averla trovata, sostituisci il valore “0” con “1“.
  4. Chiudi regedit e riavvia il computer.

A questo punto dovresti essere in grado di creare percorsi più lunghi di 260 caratteri. Per tua comodità ho realizzato due file .reg che, rispettivamente, abilitano o disabilitano la modifica sopra illustrata: scaricali e fai doppio click per eseguire le modifiche al registro di configurazione (potrebbero esserti richieste le credenziali da amministratore del sistema). Scarica Attiva-Disattiva_percorsi_lunghi.zip – Decomprimi l’archivio con ZipGenius.

 

Altri tutorial

  • Tutorial
Load More

End of Content.