Jak uniknout mezerám v cestách k souborům na příkazovém řádku Windows

Jak uniknout mezerám v cestách k souborům na příkazovém řádku Windows

Prostředí příkazového řádku, jako je Windows Command Prompt a PowerShell , používají k oddělení příkazů a argumentů mezery – ale názvy souborů a adresářů mohou také obsahovat mezery. Chcete-li zadat cestu k souboru, která má v sobě mezeru, musíte ji „escapovat“.

Proč uniknout z prostorů?

„Útěk“ neboli útěk z postavy mění její význam. Například escapování mezery způsobí, že ji shell bude považovat za znak mezery namísto speciálního znaku oddělujícího argumenty příkazového řádku.

Předpokládejme, že máte textový soubor a chcete zobrazit obsah. Můžete to udělat pomocí příkazu type. Za předpokladu, že se textový soubor nachází v C:\Test\File.txt , následující příkaz v příkazovém řádku zobrazí jeho obsah:

type C:\Test\File.txt

Co když máte stejný soubor v C:\Test Folder\Test File.txt ? Pokud se pokusíte spustit níže uvedený příkaz, nebude to fungovat - mezery v cestě k souboru překážejí.

type C:\Test Folder\Test File.txt

Příkazový řádek si myslí, že se pokoušíte vyhledat soubor s názvem C:\Test , a říká, že „ nelze najít zadanou cestu “ (nelze najít zadanou cestu).

Jak uniknout mezerám v cestách k souborům na příkazovém řádku Windows

Příkazový řádek nemůže najít zadanou cestu

3 způsoby, jak uniknout mezerám ve Windows

Existují 3 různé způsoby, jak uniknout z cest k souborům v systému Windows:

  1. Uzavřením cesty (nebo jejích částí) do dvojitých uvozovek ("").
  2. Přidáním znaku stříšky (^) před každou mezeru. (Toto funguje pouze v příkazovém řádku/CMD a nezdá se, že by to fungovalo s každým příkazem).
  3. Přidáním znaku s diakritikou (`) před každou mezeru. (Toto funguje pouze v PowerShellu, ale funguje to vždy).

Tento článek vás provede použitím jednotlivých metod.

Uzavřete cestu do uvozovek

Standardním způsobem, jak zajistit, aby systém Windows správně zpracoval cestu k souboru, je uzavřít ji do dvojitých uvozovek ("") znaků. Například s výše uvedeným ukázkovým příkazem by byl příkaz spuštěn následovně:

type "C:\Test Folder\Test File.txt"

Pokud chcete, můžete ve skutečnosti dát části cesty do uvozovek. Řekněme například, že v této složce máte soubor s názvem File.txt . Můžete spustit následující:

type C:\"Test Folder"\File.txt

To však není nutné. Ve většině případů můžete jednoduše použít uvozovky kolem celé cesty.

Toto řešení funguje jak v tradičním prostředí příkazového řádku (CMD), tak v prostředí Windows PowerShell.

Jak uniknout mezerám v cestách k souborům na příkazovém řádku Windows

Uzavřete cestu do uvozovek

Před mezerou použijte znak stříšky (^).

V příkazovém řádku vám znak stříšky (^) teoreticky umožní uniknout mezerám. Stačí jej přidat před každou mezeru v názvu souboru. (Tento znak najdete v číselné řadě na klávesnici. Chcete-li zadat znak stříšky, stiskněte Shift + 6 ).

Problém je v tom, že ačkoli je to účinné, ne vždy to funguje. Zacházení s touto postavou pomocí příkazového řádku je zvláštní.

Pokud například u ukázkového příkazu spustíte následující, příkaz nebude fungovat:

type C:\Test^ Folder\Test^ File.txt

Jak uniknout mezerám v cestách k souborům na příkazovém řádku Windows

Výše uvedený příkaz nebude fungovat

Na druhou stranu, pokud se pokusíte otevřít soubor přímo zadáním jeho cesty do příkazového řádku, možná zjistíte, že znak stříšky správně unikne z mezery:

C:\Test^ Folder\Test^ File.txt

Jak uniknout mezerám v cestách k souborům na příkazovém řádku Windows

Znak stříšky správně vynechá mezery

Kdy to tedy funguje? Na základě výzkumu se zdá, že funguje pouze s některými aplikacemi. Věci se mohou změnit v závislosti na příkazu, který používáte. Zacházení s touto postavou pomocí příkazového řádku je zvláštní. Zkuste s jakýmkoli příkazem, který používáte, může nebo nemusí fungovat.

Pro konzistenci článek doporučuje používat dvojité uvozovky v příkazovém řádku nebo přejít na PowerShell a použít metodu níže.

Použít znaky s diakritikou (`)

PowerShell používá jako únikový znak diakritiku (`). Stačí jej přidat před každou mezeru v názvu souboru. (Tento znak najdete nad klávesou Tab a pod klávesou Esc na klávesnici).

type C:\Test` Folder\Test` File.txt

Každý znak s diakritikou vyžaduje, aby PowerShell unikal znaku, který následuje.

Všimněte si, že to funguje pouze v prostředích PowerShell. V příkazovém řádku budete muset použít znak stříšky.

Jak uniknout mezerám v cestách k souborům na příkazovém řádku Windows

Použít znaky s diakritikou (`)

Pokud znáte operační systémy podobné UNIXu, jako je Linux a macOS, můžete být obeznámeni s používáním znaku zpětného lomítka (\) před mezerou, abyste jej opustili. Systém Windows používá tento znak pro běžné cesty k souborům, takže to nefunguje. Stříška (^) a diakritická znaménka (`) jsou verzí zpětného lomítka pro Windows v závislosti na prostředí příkazového řádku, které používáte.

Vidět víc:


Nastavte router Linksys se statickou IP adresou

Nastavte router Linksys se statickou IP adresou

Statická IP adresa je pevná IP adresa nakonfigurovaná v nastavení počítače nebo routeru. Někteří poskytovatelé internetových služeb (ISP) vyžadují zadání statické IP adresy na vašem počítači nebo nastavení TCP/IP routeru, abyste se mohli připojit k internetu.

Jak odstranit prohlížeč únosce PublicBoardSearch

Jak odstranit prohlížeč únosce PublicBoardSearch

Podle způsobu infekce patří PublicBoardSearch do kategorie únosců prohlížeče. Jedná se o typ malwaru navržený tak, aby převzal nastavení známého prohlížeče.

Kolekce tapet Apex Legends s vysokým rozlišením pro počítače

Kolekce tapet Apex Legends s vysokým rozlišením pro počítače

Kolekce tapet s vysokým rozlišením pro uživatele počítačů a notebooků s plným rozlišením od Full HD po 4K.

Co je Localhost? Jak se Localhost liší od 127.0.0.1?

Co je Localhost? Jak se Localhost liší od 127.0.0.1?

Unixový systém, také známý jako „loopback“, může sám sobě posílat a přijímat síťovou komunikaci přes virtuální síťové zařízení. Počítač může posílat zprávy sám sobě, což umožňuje komunikaci bez aktivní sítě.

5 důvodů, proč je v pořádku používat bezplatný antivirový software

5 důvodů, proč je v pořádku používat bezplatný antivirový software

Pravděpodobně jste slyšeli rčení, že dostanete to, za co zaplatíte, ale co když dojde na antivirový software? Měli byste si raději koupit softwarové balíčky, než se rozhodnout pro bezplatná řešení ochrany? Možná tomu tak není a zde je důvod!

Jaký je rozdíl mezi antivirovým softwarem pro Windows a Mac?

Jaký je rozdíl mezi antivirovým softwarem pro Windows a Mac?

V dnešním článku Quantrimang shrne oblíbené značky antivirového softwaru na trhu a zjistí, jak se liší mezi Windows PC a macOS.

4 věci, které uživatelé chtějí vidět ve Windows v roce 2021

4 věci, které uživatelé chtějí vidět ve Windows v roce 2021

Není jasné, co Sun Valley přinese kromě změn a vylepšení uživatelského rozhraní nejvyšší úrovně. Zde je tedy to, co uživatelé doufají, že uvidí od velké aktualizace systému Windows 10 Sun Valley, která bude uvedena v příštím roce.

Jak opravit chybu Spustit jako správce nefunguje ve Windows

Jak opravit chybu Spustit jako správce nefunguje ve Windows

Systém Windows poskytuje možnost Spustit jako správce, která uživatelům umožňuje spouštět aplikace a programy s oprávněními správce. Můžete jej také použít k odstraňování problémů s počítačem. Ale co když tato funkce nefunguje a odebere vám práva správce?

Jak opravit chyby při opravě disku v systému Windows

Jak opravit chyby při opravě disku v systému Windows

Chyby související s jednotkou vašeho počítače mohou zabránit správnému spuštění systému a omezit přístup k vašim souborům a aplikacím.

Modular Malware – Nová metoda tajného útoku ke krádeži dat

Modular Malware – Nová metoda tajného útoku ke krádeži dat

Některé varianty malwaru mohou používat různé moduly ke změně toho, jak ovlivňují cílový systém. Co je tedy modulární malware a jak funguje?