Jak opravit problém „Název souboru je příliš dlouhý“ v systému Windows


Pokud jste někdy viděli tento problém, byla to pravděpodobně jednoduchá oprava. Pokud jste tuto chybu viděli více než dvakrát, pak také víte, že někdy může být složitý problém vyřešit.

Doufejme, že narazíte pouze na rozmanitost jednoduchých oprav, ale připravíme vás na méně snadné a spolehlivé opravy.

Proč je délka názvu souboru ve Windows problém?

Dlouhá historie délek názvů souborů je problémem pro operační systémy, jako je Windows. Byly doby, kdy jste nemohli mít názvy souborů delší než 8 znaků plus příponu souboru se 3 znaky. To nejlepší, co jste mohli udělat, bylo něco jako myresume.doc. Toto bylo omezení na základě návrhu systému souborů.

Věci se zlepšily, jak vyšly nové verze systému Windows. Šli jsme ze starého, omezeného systému souborů na něco, čemu se říká NTFS (New Technology File System). NTFS nás zavedl do bodu, kdy by název souboru mohl mít délku 255 znaků a délka cesty k souboru by mohla případně dosáhnout až 32 767 znaků. Jak tedy můžeme mít názvy souborů, které jsou příliš dlouhé?

Windows mají věci známé jako systémové proměnné. Jedná se o proměnné, na které se Windows spoléhá, ​​protože Windows budou vždy vědět, co tyto proměnné znamenají a kde jsou, i když přesouváme bity a bajty všude. Systémová proměnná MAX_PATHje ta, která omezuje názvy souborů a cesty k souborům na méně než 260 znaků.

Jako proměnná byste si mysleli, že bychom ji mohli změnit. Ne, neměli bychom. Bylo by to jako vytáhnout nit ze svetru. Jakmile se změní jedna systémová proměnná, další systémové proměnné a komponenty, které jsou na nich závislé, se začnou rozpadat.

In_content_1 všechny: [300x250] / dfp: [640x360]->

Jak to tedy vyřešíme?

Snadná oprava

Pokud máte štěstí, dostanete chyba a přesně vědět, jaký název souboru je příčinou problému. Nebo alespoň kde najít soubor. Možná máte název souboru, který vypadá asi takto:

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

Je zřejmé, kdo je v tomto případě pachatel. Vyhledejte soubor v Průzkumníkovi Windowsnebo Průzkumníkovi souborů, jak se nazývá v systému Windows 10, klikněte na něj jednou, přejděte na F2a přejmenujte jej. změňte to hloupé jméno na něco rozumnějšího. Problém vyřešen.

Méně snadná oprava

Tento problém není vždy tak snadno opravitelný. Někdy nemusí být možné změnit názvy souborů nebo adresářů z jakéhokoli důvodu.

Následující řešení vám pomohou. Není těžké to udělat.

Přesouvání, mazání nebo kopírování souborů nebo adresářů pomocí prostředí PowerShell

Někdy se při pokusu o přesun, odstranění nebo kopírování adresářů, kde počet znaků pro cestu k souboru přesahuje 260, objeví chyba / p>

Všimněte si, že adresář slov a složka jsou zaměnitelné. Budeme používat „adresář“. V souborech lze použít také následující rutiny PowerShell.

Možná cesta k souboru vypadá asi takto:

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

Cesta k souboru je dlouhá 280 znaků. Nemůžeme tedy zkopírovat adresář tam někam jinam pomocí normální metody kopírování a vkládání. Dostáváme chybu Cílová cesta příliš dlouhá.

Předpokládejme, že z jakéhokoli důvodu nemůžeme přejmenovat adresáře, ve kterých je soubor vnořen. Co děláme?

Otevřete PowerShell. Pokud jste PowerShell ještě nepoužívali, užijte si náš článek Používání PowerShell pro domácí uživatele - Příručka pro začátečníky. Další kroky však můžete provést bez přečtení článku.

Když se otevře prostředí PowerShell, budete v kořenovém adresáři vašeho uživatelského adresáře. Pokračujte podle předpokladu, že je vaším uživatelským adresářem C: \ Users \ guymc.

Adresář s názvem Thisje uvnitř Dokumentů . Pro přesun do adresáře Dokumenty používáme příkaz DOS cd Documents.

Vy Uvidíte rychlou změnu na C: \ Users \ guymc \ Documents. To je dobré. Pracujeme blíže k adresářům, které usnadní práci.

Kopírovat adresář pomocí položky Kopírovat

Chceme zkopírovat adresář Totoa jeho obsah do ThatNewFolder. Použijeme rutinu PowerShell Copy-Items parametry -Destinationa -Recurse.

-Destinace říká PowerShell, kde chceme, aby byla kopie. -Recurse říká PowerShell, aby zkopíroval všechny položky uvnitř do cíle. Kopírování ponechá originály tam, kde jsou, a vytvoří všechny nové v cílovém umístění.

Kopírovat tuto položku -Destinace ThatNewFolder -Recurse

Přesunout adresář pomocí Move-Item

Řekněme, že chceme přesunout adresář This a všechny adresáře a soubory v něm do ThatNewFolder. Pohybem nezůstane originál na místě.

Můžeme použít rutinu PowerShell Move-Items parametry -Patha -Destination. -Path definuje položku, kterou chceme přesunout, a -Destination říká PowerShell, kam chceme.

Rutina vloží toto dovnitř ThatNewFolder. Přesune také vše, co je v tomto adresáři. Move-Item lze použít k přesouvání souborů nebo adresářů a funguje bez ohledu na délku souboru nebo délku názvu souboru.

Move-Item -Path This -Destination ThatNewFolder

Chcete-li se ujistit, že funguje, použijte cd ThatNewFolderpříkaz se dostat do ThatNewFolder. Poté pomocí příkazu dirzobrazte adresáře v ThatNewFolder. Zobrazí se tento adresář.

Odstranit adresář pomocí položky Odstranit

Pokud chceme smazat adresář Tentoa vše v něm, použijeme Odstranit -Jehocmdlet.

Rutina Remove-Item má určitou integrovanou bezpečnost, která ztěžuje mazání adresáře s věcmi uvnitř. V našem příkladu víme, že chceme všechno smazat, takže použijeme parametry -Recurse, aby bylo vše smazáno uvnitř, a -Force, aby to bylo provedeno bez zeptat se nás, jestli jsme si jistí pro každou položku uvnitř.

Buďte varováni! Obnovení všeho vymazaného tímto způsobem by bylo velmi obtížné. Metody můžete vyzkoušet v  Jak obnovit náhodně smazané soubory, ale nečekejte moc.

Remove- Položka This -Recurse -Force

Můžete použít příkaz dir znovu, abyste se ujistili, že je pryč.

Přizpůsobte systému Windows 10 přijímání dlouhých cest k souborům

Pokud víte, že budete opakovaně používat dlouhé cesty k souborům a dlouhé názvy souborů, je snazší zajistit, aby systém Windows pracoval pro vás. Nemá smysl používat PowerShell k práci každý den.

Můžeme to udělat dvěma způsoby. Jeden je určen pro domácí uživatele Windows 10 a druhý je pro uživatele Windows 10 Pro nebo Enterprise. Tyto metody mohou fungovat pro Windows 8.1 nebo starší, ale nemůžeme to zaručit.

Přizpůsobení systému Windows 10 Home přijímat dlouhé cesty k souborům

Aby systém Windows 10 Home přijímal dlouhé cesty k souborům, potřebujeme otevřete Editor registru. Pokud jste dosud nepracovali v Editoru registru, buďte opatrní. Neúmyslné smazání nebo změna věcí zde může zabránit systému Windows v úplném fungování.

Před provedením jakýchkoli změn si vždy vytvořte zálohu registru. Přečtěte si vše, co o tom potřebujete vědět, v našich  Konečný průvodce zálohováním a obnovením registru systému Windows.

Po otevření Editoru registru a vytvoření zálohy přejděte na místo HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystema najděte klíč LongPathsEnabled.

Poklepejte na LongPathsEnabled. Ujistěte se, že je v poli Údaj hodnoty:uvedeno číslo 1. Změnu potvrďte kliknutím na tlačítko OK.

Ukončete Editor registru a měli byste být nyní schopni pracovat s šílenými dlouhými cestami k souborům.

Přizpůsobte Windows 10 Pro nebo Enterprise přijímání dlouhých cest k souborům

Povolit Windows 10 Pro nebo Pokud podnik používá dlouhé cesty k souborům, použijeme Editor zásad skupiny. Jedná se o nástroj, který nám umožňuje nastavit zásady fungování systému Windows na úrovni počítačů a uživatelů.

Máme několik článků o používání skupinových zásad k provádění činností, jako je  zakázání nebo povolení možností aplikace Internet Explorer nebo  přidání zprávy na přihlašovací obrazovku.

Otevřete Editor zásad skupiny tak, že přejdete do nabídky Starta zadáte gpedit. Nejvyšším výsledkem by mělo být Upravit zásady skupiny. Poklepejte na to.

Jakmile se otevře Editor zásad skupiny, přejděte na Konfigurace počítače>Šablony pro správu>Systém>Systém souborů. Tam uvidíte zásady Povolit dlouhé cesty Win32.

Poklepáním na něj upravte nastavení zásad. Změňte ji z Zakázánona Povolenoa kliknutím na tlačítko OKzměnu potvrďte.

Zásady nemusí nabýt účinku okamžitě. Můžete však  vynutit aktualizaci zásad skupiny.

To je vše

Existuje několik dalších způsobů, jak obejít dlouhé názvy souborů a cesty k souborům, ale to, co jsme tu prošli, jsou nejjednodušší a nejúčinnější metody.

Ruby on Rails by Leila Hofer

Související příspěvky:


17.07.2019