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: