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


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

Speriamo che ti imbatterai solo nella varietà delle correzioni facili, ma ti prepareremo anche per le correzioni meno facili, garantite per funzionare.

Perché la lunghezza del nome file è un problema anche in Windows?

Esiste una lunga storia di lunghezze di file che rappresentano un problema per 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 potresti fare è stato qualcosa come myresume.doc. Questa è stata 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 poteva contenere 255 caratteri e la lunghezza del percorso del file poteva potenzialmente arrivare 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 spostiamo bit e byte ovunque. La variabile di sistema MAX_PATHè quella che limita i nomi di file e i percorsi dei file a meno di 260 caratteri.

Essendo una variabile, potresti pensare 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 dipendenti da esse iniziano a sgretolarsi.

In_content_1 all: [300x250] / dfp: [640x360]->

Come possiamo risolverlo, allora?

The Easy Fix

Se sei fortunato, otterrai errore e sapere esattamente quale nome di file sta causando il problema. O almeno dove trovare il file. Forse hai un nome file che assomiglia a:

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

È ovvio chi sia l'autore del reato in questo caso. Trova il file in Esplora risorseo Esplora filecome viene chiamato in Windows 10, fai clic una volta su di esso, premi F2per rinominarlo e cambia quel nome stupido in qualcosa di più ragionevole. Problema risolto.

Le correzioni meno facili

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

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

Sposta, elimina o copia file o directory usando 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.

Nota che la directory e la cartella delle parole sono intercambiabili. In futuro utilizzeremo la "directory". I seguenti cmdlet di PowerShell possono essere utilizzati anche sui file.

Forse il percorso del file è simile al seguente:

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 qualche altra parte con il normale metodo copia-incolla. Viene visualizzato l'errore Percorso di destinazione troppo lungo.

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

Apri PowerShell. Se non hai ancora usato PowerShell, consulta il nostro articolo Utilizzo di PowerShell per utenti domestici: una guida per principianti. Puoi comunque fare i passi successivi senza leggere l'articolo.

All'apertura di PowerShell, sarai alla radice della tua directory utente. Seguire supponendo che C: \ Users \ guymcsia la directory dell'utente.

La directory denominata Questosi trova all'interno di Documenti . Per passare alla directory Documents, utilizziamo il comando DOS cd Documents.

Tu ' Vedremo la richiesta cambiare in C: \ Users \ guymc \ Documents. Quello è buono. Stiamo lavorando più vicino alle directory che renderanno le cose più facili.

Copia directory usando Copia-Elemento

Vogliamo copiare la directory Questoe i suoi contenuti in ThatNewFolder. Utilizziamo il cmdlet di PowerShell Copia-elementocon i parametri -Destinazionee -Recerta.

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

Copia-elemento questo -Destinazione ThatNewFolder -Recurse

Sposta directory usando Move-Item

Supponiamo 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.

Possiamo usare il cmdlet di PowerShell Sposta-elementocon i parametri -Pathe -Destinazione. -Path definisce l'elemento che vogliamo spostare e -Destinazione dice a PowerShell dove lo vogliamo.

Il cmdlet inserirà Questo all'interno di ThatNewFolder. Sposterà anche tutto ciò che è 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 cd ThatNewFoldercomando per accedere a ThatNewFolder. Quindi utilizzare il comando dirper elencare le directory in ThatNewFolder. Vedrai che questa directory è lì.

Elimina directory utilizzando Rimuovi elemento

Se vogliamo eliminare la directory Thise tutto ciò che contiene, utilizziamo Rimuovi -Itemcmdlet.

Il cmdlet Remove-Item ha una certa sicurezza integrata che rende difficile eliminare una directory con elementi al suo interno. Nel nostro esempio, sappiamo che vogliamo eliminare tutto, quindi utilizzeremo i parametri -Recurseper farlo eliminare tutto all'interno e -Forceper farlo senza chiedendoci se siamo sicuri per ogni oggetto all'interno.

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

Rimuovi- Questo articolo -Recurse -Force

Puoi utilizzare di nuovo il comando dir per assicurarti che non ci sia più.

Rendi Windows 10 accettare percorsi di file lunghi

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.

Esistono due modi per 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 precedenti, ma non possiamo garantirlo.

Rendi Windows 10 Home accettare percorsi di file lunghi

Per far sì che Windows 10 Home accetti percorsi di file lunghi, è necessario per aprire Editor del registro. Se non hai mai lavorato in Registry Editor prima, sii cauto. L'eliminazione accidentale o la modifica di elementi qui può impedire a Windows di funzionare completamente.

Effettua sempre un backup del registro prima di apportare qualsiasi modifica. Scopri tutto ciò che devi sapere al riguardo nel nostro  Guida definitiva per il backup e il ripristino del registro di Windows.

Dopo aver aperto l'Editor del Registro di sistema e aver effettuato il backup, vai alla posizione HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSysteme trova la chiave LongPathsEnabled.

Fai doppio clic su LongPathsEnabled. Nel campo Dati valore:, assicurati che il numero 1sia presente. Fai clic su OKper confermare la modifica.

Esci dall'Editor del Registro di sistema e dovresti essere in grado di lavorare con percorsi di file lunghi folli ora.

Fai in modo che Windows 10 Pro o Enterprise accetti percorsi di file lunghi

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

Abbiamo diversi articoli sull'uso dei criteri di gruppo per fare cose come  disabilitare o abilitare le opzioni di Internet Explorer o  aggiunta di un messaggio alla schermata di accesso.

Apri l'Editor criteri di gruppo andando al menu Starte digitando gpedit. Il risultato migliore dovrebbe essere Modifica criteri di gruppo. Fai doppio clic su di esso.

Una volta aperto l'Editor criteri di gruppo, vai a Configurazione computer>Modelli amministrativi>Sistema>File system. Lì vedrai la norma Abilita percorsi lunghi Win32.

Fai doppio clic su di esso per modificare l'impostazione del criterio. Modificalo da Disabilitatoa Abilitato, quindi fai clic sul pulsante OKper confermare la modifica.

La politica potrebbe non avere effetto immediato. Puoi  forzare l'aggiornamento dei criteri di gruppo, tuttavia.

Ecco fatto

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

Come eliminare un file o una cartella che non si può eliminare

Post correlati:


17.07.2019