Ci sono due cose che non sono già state menzionate nelle risposte esistenti.
- È possibile utilizzare il prefisso del percorso di lunghezza estesa per accedere ai percorsi lunghi
- Con Windows 10, è possibile abilitare il supporto di percorsi lunghi per uso generale - si noti tuttavia che non tutte le applicazioni funzioneranno con i percorsi lunghi, si dovrebbe testare il software più vecchio. Solo i software con un'appropriata voce di manifesto saranno in grado di utilizzarlo.
Long Path Prefix
L'API di Windows ha una funzione speciale che supporta i nomi dei percorsi Unicode fino a 32k caratteri (ogni elemento è lungo fino a 255 caratteri).
Questo è spesso erroneamente indicato come denominazione UNC, ma non è correlato.
Il prefisso usato per dire all'API di usare percorsi Unicode lunghi è `\?Ci sono due cose che non sono già state menzionate nelle risposte esistenti.
- È possibile utilizzare il prefisso del percorso di lunghezza estesa per accedere ai percorsi lunghi
- Con Windows 10, è possibile abilitare il supporto di percorsi lunghi per uso generale - si noti tuttavia che non tutte le applicazioni funzioneranno con i percorsi lunghi, si dovrebbe testare il software più vecchio. Solo i software con un'appropriata voce di manifesto saranno in grado di utilizzarlo.
Long Path Prefix
L'API di Windows ha una funzione speciale che supporta i nomi dei percorsi Unicode fino a 32k caratteri (ogni elemento è lungo fino a 255 caratteri).
Questo è spesso erroneamente indicato come denominazione UNC, ma non è correlato.
Il prefisso usato per dire all'API di usare percorsi Unicode lunghi è come in:
\?\D:\very long path
``` ```
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled (Type: REG_DWORD)
I nomi UNC sono normalmente usati quando si riferiscono a percorsi su server remoti nella forma \servername\path name\file name
. Si può combinare questo con il prefisso del percorso lungo così: \?\UNC\server\share
Si noti che alcune applicazioni, scritte male ma purtroppo abbastanza comuni, non supportano i percorsi dei file UNC né il prefisso del percorso lungo.
Riferimento: https://msdn.microsoft.com/en-gb/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath
Supporto dei percorsi lunghi
Questa è un'opzione che è stata aggiunta alle recenti versioni di Windows 10. Al momento della scrittura non è attivata di default in quanto richiede un supporto specifico per l'applicazione. È interessante notare che PowerShell ha il supporto integrato in modo che l'attivazione di questa opzione permetterà di utilizzare i percorsi lunghi direttamente negli script PowerShell.
È possibile attivarla tramite l'editor Group Policy se si dispone di una versione di Windows con questo. Oppure si può semplicemente utilizzare la seguente modifica del Registro di sistema. Come sempre, prima di fare qualsiasi cosa, eseguire il backup della sezione del Registro di sistema che si sta modificando.
- 1. Eseguire
regedit.exe
.
- 2. Confermare il prompt UAC.
- 3. Andare alla chiave:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{48981759-12F2-42A6-A048-028B3973495F}Machine\System\CurrentControlSet\Policies
- 4. Creare o modificare la chiave
LongPathsEnabled
.
- Se non esiste, fare clic con il tasto destro del mouse su Policies e selezionare New > Dword (32-bit) Value (32-bit) dal menu.
- Impostare
LongPathsEnabled
su 1
per attivare.
Qualsiasi applicazione con le voci di manifesto appropriate avrà ora accesso ai percorsi lunghi standard POSIX. Questo dovrebbe includere le applicazioni Windows Store.
Reference: https://blogs.msdn.microsoft.com/jeremykuhne/2016/07/30/net-4-6-2-and-long-paths-on-windows-10/ (https://msdn.microsoft.com/en-us/library/aa365247.aspx)
UPDATE 2017-04-09
@maoizm ha evidenziato un problema con la chiave di registro di cui sopra così ho fatto [ qualche altra ricerca ]&003. Sembra che ora sia possibile impostare il supporto dei nomi di file lunghi con una chiave di sistema:
&001
Questo funziona ancora solo per le applicazioni che sono specificamente impostate per usarlo però (richiede una voce nel manifesto.xml dell'applicazione).
Si noti anche che non è possibile utilizzare i nomi dei percorsi relativi con questo metodo.