La lunghezza del nome file di Windows 7 è limitata a 129 caratteri


17

Sto cercando di nominare correttamente gli MP3 e ho raggiunto una lunghezza arbitraria di 129 caratteri (non 128?). NTFS supporta 255 caratteri nei nomi dei file, come posso risolvere questo problema?

Star Wars - 6 - Return of the Jedi - 2 - 07 - Battle of Endor 2, Leia is Wounded, The Duel Begins, Overtaking Bunker, Dark Si.mp3


2
È meglio non fare affidamento su nomi di file molto lunghi in quanto ciò può comportare una serie di problemi. Gli MP3 possono avere metadati incorporati sotto forma di tag ID3 per questo e / o utilizzare directory.
JamesRyan,

3
Apro file e playlist; Non utilizzo le "librerie multimediali". Le mie raccolte hanno un nome appropriato, non ho file "1.mp3" e non sopporto le persone troppo pigre per nominare correttamente i file; quale "1.mp3" quando ogni album ha almeno una traccia. ಠ_ಠ
Giovanni

Risposte:


13

È possibile che si stiano superando un totale di 260 caratteri per l'intero percorso, inclusi i caratteri di barra rovesciata.

Quanti caratteri ci sono nel percorso, incluso il nome del file mp3?


1
Sì, risulta che rinominare i file sul disco senza directory consente nomi più lunghi. Abbastanza zoppo che il nome del file e i percorsi siano contati insieme e non separati.
Giovanni,

5
la costante MAX_PATH è definita come 260, non 256
phuclv,

Le cartelle, tuttavia, hanno solo un massimo di "247 char + <null>". Vedere stackoverflow.com/a/15971467/632951
Pacerier

35

In Windows la lunghezza totale del percorso predefinita non deve superare i 260 caratteri ( drive+ :\+ 255 characters of filename+ null terminator+ probabilmente per final \nel caso in cui il percorso sia una directory o semplicemente per arrotondare anche). Era una reliquia dell'era di 8.3 nomi di DOS in cui un percorso di 260 caratteri è un percorso davvero profondo.

È possibile che il percorso della cartella sia già molto lungo, quindi la parte rimanente per il tuo nome file è solo 129. Se desideri un percorso più lungo, hai diverse soluzioni:

  • utilizzare nomi di file completi con \\?\prefisso, in questo modo è possibile utilizzare un massimo di 32767 caratteri nel percorso
  • rinominare le cartelle nel percorso per renderlo più breve
  • montare la cartella contenente il file in un carattere di unità con subst/ mountvol/ diskmgmt.msc . In questo modo è possibile utilizzare un massimo di 255 caratteri per il nome del file
  • creare un collegamento di giunzione / simbolico a un'altra cartella meno profonda sul percorso. Non è possibile creare collegamenti per guidare le lettere, quindi non è possibile ottenere nomi di file se si utilizza il metodo di montaggio

Poiché Windows 10 c'è un'altra opzione rimuovendo la limitazione MAX_PATH § . È possibile abilitarlo impostando HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnablednel registro o impostando Configurazione computer> Modelli amministrativi> Sistema> File system> Abilita percorsi lunghi NTFS nei criteri di gruppo


Leggi di più:

Il percorso massimo di 32.767 caratteri è approssimativo, poiché il \\?\prefisso può essere espanso in una stringa più lunga dal sistema in fase di esecuzione e questa espansione si applica alla lunghezza totale.

§ A partire da Windows 10, versione 1607, le MAX_PATHlimitazioni sono state rimosse dalle comuni funzioni di file e directory di Win32. Tuttavia, è necessario attivare il nuovo comportamento.


Grazie, David ha pubblicato per primo e ha funzionato, ma hai incluso risorse quindi +1.
Giovanni,

1
Una soluzione simile è utilizzare una giunzione. Dai
Urhixidur,

1
Preferirei usare anche questa risposta. In questo modo, puoi conservare i tuoi file dove vuoi e poter comunque nominarli nel modo desiderato. Inoltre, quando li copi sul tuo dispositivo, molto probabilmente non si preoccuperà della sciocca limitazione di Windows, poiché hanno una gerarchia di file molto piatta e potrebbero anche non utilizzare direttamente il nome del file (ad esempio iPhone / iPad / iEtc usa hex caratteri per i nomi dei file e riferimenti incrociati a un file indice).
phyrfox,

Il numero massimo di caratteri per un nome file è 255 caratteri, non 256
Edd

@Edd 255 caratteri + null null
phuclv,

0

Windows 7 ti consentirà di salvare nomi di file più lunghi di 256 caratteri, inclusi i nomi dei percorsi, a cui è possibile accedere facilmente. L'unica piccola difficoltà che potresti incontrare è quando li copi da un luogo all'altro, ma ti verrà presentato un popup che ti chiederà se vuoi cambiare il nome del file, non copiare il file o salvarlo così com'è. Lo salvo sempre così com'è e non ho mai avuto problemi. Probabilmente ho un paio di centinaia di nomi di file che superano il limite.


no, non ti consentirà di salvare file più lunghi di 255 caratteri poiché questo è il limite del file system
phuclv

il percorso, tuttavia, può essere leggermente più lungo (o molto più lungo dopo aver rimosso la limitazione MAX_PATH)
phuclv
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.