A parancssori környezetek, például a Windows Command Prompt és a PowerShell szóközt használnak a parancsok és argumentumok elválasztására, de a fájl- és könyvtárnevek is tartalmazhatnak szóközt. Ha olyan fájl elérési utat szeretne megadni, amelyen belül szóköz van, el kell távolítania azt.
Miért kell menekülni a terekből?
A „szökés” vagy a karakter megszökése megváltoztatja a jelentését. Például egy szóköz kihagyása azt eredményezi, hogy a shell szóközként kezeli azt a parancssori argumentumokat elválasztó speciális karakter helyett.
Tegyük fel, hogy van egy szöveges fájlja, és szeretné megtekinteni a tartalmat. Ezt a type paranccsal tudod megtenni. Feltéve, hogy a szövegfájl a C:\Test\File.txt helyen található , a következő parancs a Parancssorban megjeleníti a tartalmát:
type C:\Test\File.txt
Mi van akkor, ha ugyanaz a fájl van a C:\Test Folder\Test File.txt fájlban ? Ha megpróbálja futtatni az alábbi parancsot, az nem fog működni – a fájl elérési útjában lévő szóközök akadályozzák.
type C:\Test Folder\Test File.txt
A parancssor azt hiszi, hogy egy C:\Test nevű fájlt próbál keresni , és azt mondja, hogy „ nem találja a megadott elérési utat ” (nem találja a megadott elérési utat).

A parancssor nem találja a megadott elérési utat
3 módszer a szóközök elkerülésére Windows rendszeren
A Windows rendszerben háromféleképpen menekülhet el a fájl elérési útjaitól:
- Az elérési út (vagy részei) idézőjelek közé ("") történő zárásával.
- Úgy, hogy minden szóköz elé egy tördelő karaktert (^) adunk. (Ez csak a Command Prompt/CMD-ben működik, és úgy tűnik, hogy nem minden paranccsal működik).
- Egy ékezetes karakter (`) hozzáadásával minden szóköz elé. (Ez csak a PowerShellben működik, de mindig működik).
Ez a cikk bemutatja, hogyan kell használni az egyes módszereket.
Tegye idézőjelbe az elérési utat
A szokásos módja annak, hogy a Windows megfelelően kezelje a fájl elérési útját, ha dupla idézőjelbe („") írja be. Például a fenti példaparancs esetén a parancs a következőképpen futna:
type "C:\Test Folder\Test File.txt"
Valójában az útvonal egyes részeit idézőjelbe is teheti, ha akarja. Tegyük fel például, hogy ebben a mappában van egy File.txt nevű fájl. A következőket futtathatja:
type C:\"Test Folder"\File.txt
Ez azonban nem szükséges. A legtöbb esetben egyszerűen használhat idézőjeleket a teljes útvonalon.
Ez a megoldás a hagyományos Command Prompt (CMD) környezetben és a Windows PowerShellben is működik.

Tegye idézőjelbe az elérési utat
Szóköz előtt használd a tördelő karaktert (^).
A Parancssorban a caret karakter (^) elméletileg lehetővé teszi a szóközök elhagyását. Csak adja hozzá minden szóköz elé a fájlnévben. (Ezt a karaktert a billentyűzet számsorában találja. A mutató karakter beírásához nyomja le a Shift + 6 billentyűkombinációt ).
A probléma az, hogy bár ez hatékony, nem mindig működik. Furcsa, ahogy a parancssor kezeli ezt a karaktert.
Például a minta paranccsal, ha a következőt futtatja, a parancs nem fog működni:
type C:\Test^ Folder\Test^ File.txt

A fenti parancs nem fog működni
Másrészt, ha megpróbálja megnyitni a fájlt közvetlenül úgy, hogy beírja az elérési útját a parancssorba, előfordulhat, hogy a caret karakter megfelelően kikerül a szóközből:
C:\Test^ Folder\Test^ File.txt

A caret karakter megfelelően kihagyja a szóközt
Szóval mikor működik? Kutatások alapján úgy tűnik, hogy csak néhány alkalmazással működik. A dolgok a használt parancstól függően változhatnak. Furcsa, ahogy a parancssor kezeli ezt a karaktert. Bármilyen paranccsal próbáld ki, lehet, hogy működik, vagy nem.
A következetesség érdekében a cikk azt javasolja, hogy dupla idézőjeleket használjon a parancssorban, vagy váltson PowerShellre, és használja az alábbi módszert.
Használjon ékezetes karaktereket (`)
A PowerShell az ékezetes karaktert (`) használja escape karakterként. Csak adja hozzá minden szóköz elé a fájlnévben. (Ez a karakter a Tab billentyű felett és az Esc billentyű alatt található a billentyűzeten).
type C:\Test` Folder\Test` File.txt
Minden egyes ékezetes karakternek szüksége van a PowerShellre, hogy elkerülje a következő karaktert.
Vegye figyelembe, hogy ez csak PowerShell-környezetekben működik. Használnia kell a caret karaktert a Parancssorban.

Használjon ékezetes karaktereket (`)
Ha ismeri a UNIX-szerű operációs rendszereket, például a Linuxot és a macOS-t, előfordulhat, hogy ismeri a fordított perjel (\) használatát a szóköz előtt. A Windows ezt a karaktert használja a normál fájlelérési utakhoz, ezért nem működik. A caret (^) és az ékezet (`) karakterek a fordított perjel Windows verziója, a használt parancssori shelltől függően.
Többet látni: