Come risolvere il problema "Il nome del file è troppo lungo" in Windows

Se hai mai riscontrato questo problema, probabilmente è stata una soluzione semplice per te. Se hai riscontrato questo errore più di due volte, allora sai anche che a volte può essere un problema complesso da risolvere.

Speriamo che ti imbatti solo nella varietà di soluzioni facili, ma ti prepareremo anche per le soluzioni meno facili e garantite per funzionare.

Perché la lunghezza del nome del file è anche un problema in Windows?(Why Is Filename Length Even An Issue In Windows?)

C'è una lunga storia di lunghezze dei nomi di file che rappresentano un problema per i sistemi operativi come Windows . C'è stato un tempo in cui non si potevano avere nomi di file più lunghi di 8 caratteri più un'estensione di file di 3 caratteri. Il meglio che potevi fare era qualcosa come myresume.doc . Questa era una restrizione in atto dalla progettazione del file system.

Le cose sono migliorate con l'uscita di nuove versioni di Windows . Siamo passati da un vecchio file system limitato a qualcosa chiamato New Technology File System ( NTFS ). NTFS ci ha portato a un punto in cui un nome file potrebbe essere lungo 255 caratteri e la lunghezza del percorso del file potrebbe potenzialmente arrivare fino a 32.767 caratteri. Quindi, come possiamo avere nomi di file troppo lunghi?

Windows ha cose conosciute come variabili di sistema. Queste sono variabili su cui Windows fa affidamento per funzionare, perché Windows saprà sempre cosa significano le variabili e dove si trovano, anche quando stiamo spostando bit e byte dappertutto. La variabile di sistema MAX_PATH è quella che limita i nomi dei file ei percorsi dei file a meno di 260 caratteri.

Essendo una variabile, penseresti che potremmo cambiarla. No, non dovremmo. Sarebbe come tirare fuori un filo da un maglione. Non appena una variabile di sistema cambia, altre variabili di sistema e componenti che dipendono da esse iniziano a disfarsi.

Come lo aggiustiamo, allora?

La soluzione facile(The Easy Fix)

Se sei fortunato, riceverai l'errore e saprai esattamente quale nome del file sta causando il problema. O almeno dove trovare il file. Forse hai un nome file simile a:

C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

È ovvio chi sia l'autore del reato in questo caso. Trova il file in Esplora risorse(Windows Explorer) o Esplora file(File Explorer) come viene chiamato in Windows 10 , fai clic una volta su di esso, premi F2 per rinominarlo e cambia quel nome di file sciocco in qualcosa di più ragionevole. Problema(Problem) risolto.

Le soluzioni meno facili(The Less Easy Fixes)

Non è sempre così facile risolvere questo problema. A volte potresti non essere in grado di modificare i nomi di file o directory per qualsiasi motivo.

Le seguenti soluzioni faranno il trucco per te. Non sono difficili da fare.

Sposta(Move) , elimina(Delete) o copia file o directory utilizzando PowerShell(Or Copy Files Or Directories Using PowerShell)

A volte viene visualizzato un errore quando si tenta di spostare, eliminare o copiare directory in cui il conteggio dei caratteri per il percorso del file è superiore a 260.

Si noti che le parole directory e cartella sono intercambiabili. Useremo 'directory' andando avanti. I seguenti cmdlet di PowerShell possono essere usati anche sui file.(PowerShell)

Forse il percorso del file è simile a:

C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.docx

Il percorso del file è lungo 280 caratteri. Quindi non possiamo copiare la directory da lì in qualche altra parte con il normale metodo copia-incolla. Otteniamo l' errore Percorso di destinazione troppo lungo .(Destination Path Too Long)

Assumiamo che, per qualsiasi motivo, non possiamo rinominare le directory in cui è nidificato il file. Cosa facciamo?

Apri PowerShell(Open PowerShell) . Se non hai ancora utilizzato PowerShell , consulta il nostro articolo Utilizzo di PowerShell per utenti domestici: una guida per principianti(Using PowerShell for Home Users – A Beginner’s Guide) . Tuttavia, puoi eseguire i passaggi successivi senza leggere l'articolo.

Quando si apre PowerShell , sarai nella radice della tua directory utente. Continua(Follow) supponendo che C:\Users\guymc sia la tua directory utente.

La directory denominata This si trova all'interno della directory Documents . Per spostarci nella directory Documents , utilizziamo il comando DOS cd Documents

Vedrai il prompt cambiare in C:\Users\guymc\Documents . Va bene. Stiamo lavorando più vicino alle directory che renderanno le cose più facili.

Copia la directory usando Copy-Item

Vogliamo copiare la directory This e il suo contenuto in ThatNewFolder . Usiamo il cmdlet di PowerShell Copy-Item con i parametri -Destination e -Recurse .

-La destinazione indica a PowerShell dove vogliamo che sia la copia. -Recurse dice a PowerShell di copiare tutti gli elementi all'interno nella destinazione. La copiatura lascia gli originali dove si trovano e ne crea di nuovi nella destinazione.

Copy-Item This -Destination ThatNewFolder -Recurse

Sposta la directory usando Move-Item

Diciamo di voler spostare la directory This, e tutte le directory e i file in essa contenuti, in ThatNewFolder . Lo spostamento non lascia l'originale in posizione.

È possibile utilizzare il cmdlet Move-Item di PowerShell con i parametri -Path e -Destination . -Path definisce l'elemento che vogliamo spostare e -Destination indica a PowerShell dove lo vogliamo. 

Il cmdlet inserirà This all'interno di ThatNewFolder . Sposterà anche tutto ciò che si trova all'interno della directory This. Move-Item può essere utilizzato per spostare file o directory e funziona indipendentemente dal percorso del file o dalla lunghezza del nome file.

Move-Item -Path This -Destination ThatNewFolder

Per assicurarti che funzioni, usa il comando cd ThatNewFolder per entrare in ThatNewFolder . Quindi usa il comando dir per elencare le directory in (dir)ThatNewFolder . Vedrai che questa directory è lì.

Elimina la directory usando Remove-Item

Se vogliamo eliminare la directory This e tutto ciò che contiene, utilizziamo il cmdlet Remove-Item .

Il cmdlet Remove-Item ha una sicurezza incorporata che rende difficile eliminare una directory con elementi al suo interno. Nel nostro esempio, sappiamo che vogliamo eliminare tutto, quindi useremo i parametri -Recurse per farlo eliminare tutto all'interno e -Force per farlo senza chiederci se siamo sicuri per ogni elemento all'interno.

Attenzione! Recuperare qualsiasi cosa cancellata in questo modo sarebbe estremamente difficile. Puoi provare i metodi in Come recuperare file eliminati accidentalmente , ma non aspettarti molto.

Remove-Item This -Recurse -Force

Puoi usare di nuovo il comando dir per assicurarti che sia sparito.

Fai in modo che Windows 10 accetti percorsi di file lunghi(Make Windows 10 Accept Long File Paths)

Se sai che utilizzerai ripetutamente percorsi di file lunghi e nomi di file lunghi, è più facile far funzionare Windows per te. Non ha senso usare PowerShell per fare il lavoro ogni giorno.

Ci sono due modi in cui possiamo farlo. Uno è per gli utenti di Windows 10 Home e l'altro è per gli utenti di Windows 10 Pro o Enterprise . Questi metodi possono funzionare per Windows 8.1 o versioni precedenti, ma non possiamo garantirlo.

Fai in modo che(Make) Windows 10 Home accetti percorsi di file lunghi(Home Accept Long File Paths)

Per fare in modo che Windows 10 Home accetti percorsi di file lunghi, dobbiamo aprire l' Editor del Registro(Registry Editor) di sistema . Se non hai mai lavorato nell'Editor del Registro(Registry Editor) di sistema , fai attenzione. L'eliminazione o la modifica accidentale di elementi qui può impedire a Windows di funzionare completamente.

Eseguire sempre un backup del registro prima di apportare modifiche. Scopri tutto ciò che devi sapere al riguardo nella nostra Guida definitiva al backup e al ripristino del registro di Windows( Ultimate Guide to Backing Up and Restoring the Windows Registry) .

Dopo aver aperto l' editor del registro e aver eseguito il backup, vai alla posizione HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem e trova la chiave LongPathsEnabled .

Fare doppio clic su LongPathsEnabled . Nel campo Dati valore:(Value data:) assicurati che sia presente il numero 1 . Fare clic su OK per confermare la modifica.

Esci dall'editor del registro(Registry Editor) e dovresti essere in grado di lavorare con percorsi di file lunghi pazzi ora.

Fai in modo che(Make) Windows 10 Pro o Enterprise accetti percorsi di file lunghi(Pro Or Enterprise Accept Long File Paths)

Per consentire a Windows 10 Pro o Enterprise di utilizzare percorsi di file lunghi, utilizzeremo l' Editor criteri di gruppo(Group Policy Editor) . È uno strumento che ci consente di impostare criteri su come funziona Windows a livello di computer e utente.

Sono disponibili diversi articoli sull'utilizzo dei criteri di gruppo per operazioni quali la disabilitazione o l'abilitazione delle opzioni di Internet Explorer( disabling or enabling Internet Explorer options) o l'aggiunta di un messaggio alla schermata di accesso( adding a message to the logon screen) .

Apri l' Editor criteri(Group Policy Editor) di gruppo andando al menu Start e digitando gpedit . Il risultato principale dovrebbe essere Modifica criterio di gruppo(Edit group policy) . Fare doppio clic su quello.

Una volta aperto l'Editor criteri di gruppo , vai a (Group Policy Editor)Computer Configuration > Administrative Templates > System > Filesystem . Lì vedrai il criterio Abilita percorsi lunghi Win32(Enable Win32 long paths) .

Fare doppio clic su di esso per modificare l'impostazione dei criteri. Cambialo da Disabilitato(Disabled ) a Abilitato(Enabled) , quindi fai clic sul pulsante OK per confermare la modifica. 

La politica potrebbe non avere effetto immediato. Tuttavia, puoi forzare l'aggiornamento dei criteri di gruppo .( force the group policy to update)

Questo è tutto(That’s It)

Esistono altri modi per aggirare nomi di file lunghi e percorsi di file, ma quelli che abbiamo esaminato qui sono i metodi più semplici ed efficaci.



About the author

Sono un ingegnere software esperto, con oltre 10 anni di esperienza nello sviluppo e nella manutenzione di applicazioni Microsoft Office. Ho una forte passione per aiutare gli altri a raggiungere i loro obiettivi, sia attraverso il mio lavoro come ingegnere del software che attraverso le mie capacità di parlare in pubblico e di networking. Sono anche estremamente esperto in hardware e driver della tastiera, avendo sviluppato e testato molti di loro io stesso.



Related posts