Windows, potažmo NTFS má limit cesty k souborům nastaven na 260 znaků. Což je v dnešní době žalostně málo. Navíc tento limit tak nějak aplikuje divným způsobem, například Vám povolí vytvářet další a další podsložky, i když cesta z pohledu OS/SW již tuto hodnotu pořesahuje. Poblém pak nastane, když chcete například složku přesunout na jiný disk.
V době psaní článku se osvědčili následujíc tipy/postupy posbírané z různých zdrojů. Není zaručeno, že v budoucnosti budou stále platné. Většinou mi na přesun souborů s dlouhou cestou zabral Total Commander. Průzkumník Win10 i po povolení dlouhých cest stále neuměl přesouvat třeba na NAS.
1. Zapnutí podpory dlouhých cest v systému Windows
Od Windows 10 (verze 1607) můžete povolit dlouhé cesty (nad 260 znaků):
1.Otevřete Editor místních zásad skupiny:
- Stiskněte Win + R, zadejte gpedit.msc a potvrďte.
2.Přejděte do:
- Konfigurace počítače → Šablony pro správu → Systém → Systém souborů → NTFS.
3.Najděte možnost Povolit dlouhé cesty Win32.
4.Aktivujte tuto volbu a restartujte počítač.
Pokud nemáte editor skupinových politik, použijte následující krok v registru.
Alternativa: úprava registru
1.Stiskněte Win + R, napište regedit a potvrďte.
2.Najděte klíč: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
3.Najděte nebo vytvořte hodnotu LongPathsEnabled (typ DWORD) a nastavte ji na 1.
4.Restartujte počítač.
2. Použití příkazového řádku nebo PowerShellu
Robocopy (doporučeno):
Přesune obsah složky i při dlouhých cestách.
robocopy "C:\zdrojová_složka" "D:\cílová_složka" /E /COPYALL /MOVE
- /E zajišťuje kopírování všech podsložek.
- /COPYALL zachová oprávnění, atributy a časové údaje.
- /MOVE soubory přesune.
xcopy (alternativa):
xcopy "C:\zdrojová_složka\*" "D:\cílová_složka" /E /I /Q /H /R /K
- /E kopíruje podsložky, včetně prázdných.
- /H zahrnuje i skryté soubory.
- /R přepíše soubory pouze pro čtení.
PowerShell:
Move-Item -Path "C:\zdrojová_složka" -Destination "D:\cílová_složka" -Force
3. Použití symbolického odkazu (symlink)
Symbolické odkazy mohou zkrátit dlouhé cesty.
1.Vytvořte symbolický odkaz na kratší cestu:
mklink /D "C:\shortlink" "C:\dlouhá\dlouhá\dlouhá\cesta"
2.Přesunujte data z této kratší cesty.
4. Použití komprimace
Pokud nic nefunguje, zkuste složku zkomprimovat do archivu:
- Použijte například nástroj 7-Zip
- Zvolte zkomprimování a nastavení kratší výstupní cesty.
- Přesuňte vytvořený archiv a na cílovém místě ho rozbalte.
5. SW Třetí strany
Některé nástroje umí pracovat s dlouhými cestami: