Mediile de linie de comandă, cum ar fi Windows Command Prompt și PowerShell, folosesc spații pentru a separa comenzile și argumentele - dar numele fișierelor și directoarelor pot conține și spații. Pentru a specifica o cale de fișier care are un spațiu în interiorul ei, trebuie să o „escape”.
De ce spații de evadare?
„Escape” sau evadarea unui personaj își schimbă sensul. De exemplu, evadarea unui spațiu va face ca shell-ul să-l trateze ca un caracter spațiu în loc de un caracter special care separă argumentele liniei de comandă.
Să presupunem că aveți un fișier text și doriți să vizualizați conținutul. O poți face cu comanda tip. Presupunând că fișierul text se află la C:\Test\File.txt , următoarea comandă din linia de comandă își va afișa conținutul:
type C:\Test\File.txt
Acum, ce se întâmplă dacă aveți același fișier în C:\Test Folder\Test File.txt ? Dacă încercați să rulați comanda de mai jos, nu va funcționa - spațiile din calea fișierului vă stau în cale.
type C:\Test Folder\Test File.txt
Linia de comandă crede că încercați să căutați un fișier numit C:\Test și spune că „ nu poate găsi calea specificată ” (nu poate găsi calea specificată).

Linia de comandă nu poate găsi calea specificată
3 moduri de a scăpa de spațiile albe pe Windows
Există 3 moduri diferite prin care puteți scăpa de căile fișierelor pe Windows:
- Prin includerea căii (sau părți ale acesteia) între ghilimele duble ("").
- Prin adăugarea unui caracter caret (^) înainte de fiecare spațiu. (Acest lucru funcționează numai în Command Prompt/CMD și nu pare să funcționeze cu fiecare comandă).
- Prin adăugarea unui caracter de accent (`) înaintea fiecărui spațiu. (Acest lucru funcționează numai în PowerShell, dar funcționează întotdeauna).
Acest articol vă va ghida cum să utilizați fiecare metodă.
Închideți calea între ghilimele
Modul standard de a vă asigura că Windows gestionează corect o cale de fișier este să o încadrați între ghilimele (""). De exemplu, cu exemplul de comandă de mai sus, comanda ar fi rulată după cum urmează:
type "C:\Test Folder\Test File.txt"
De fapt, puteți pune părți ale căii între ghilimele dacă doriți. De exemplu, să presupunem că aveți un fișier numit File.txt în acel folder. Puteți rula următoarele:
type C:\"Test Folder"\File.txt
Cu toate acestea, acest lucru nu este necesar. În cele mai multe cazuri, puteți utiliza pur și simplu ghilimele pe întreaga cale.
Această soluție funcționează atât în mediul tradițional Command Prompt (CMD), cât și în Windows PowerShell.
![Cum să scăpați de spațiile din căile fișierelor de pe linia de comandă Windows Cum să scăpați de spațiile din căile fișierelor de pe linia de comandă Windows]()
Închideți calea între ghilimele
Utilizați caracterul caret (^) înaintea unui spațiu
În Linia de comandă, caracterul caret (^) vă va permite teoretic să scăpați de spații. Doar adăugați-l înainte de fiecare spațiu din numele fișierului. (Veți găsi acest caracter în rândul de numere de pe tastatură. Pentru a introduce caracterul caret, apăsați Shift + 6 ).
Problema este că, deși acest lucru este eficient, nu funcționează întotdeauna. Manipularea acestui personaj de către promptul de comandă este ciudată.
De exemplu, cu comanda exemplu, dacă executați următoarele, comanda nu va funcționa:
type C:\Test^ Folder\Test^ File.txt
![Cum să scăpați de spațiile din căile fișierelor de pe linia de comandă Windows Cum să scăpați de spațiile din căile fișierelor de pe linia de comandă Windows]()
Comanda de mai sus nu va funcționa
Pe de altă parte, dacă încercați să deschideți fișierul direct introducând calea acestuia în linia de comandă, este posibil să descoperiți că caracterul care va scăpa corect din spațiu:
C:\Test^ Folder\Test^ File.txt
![Cum să scăpați de spațiile din căile fișierelor de pe linia de comandă Windows Cum să scăpați de spațiile din căile fișierelor de pe linia de comandă Windows]()
Caracterul care scapă în mod corespunzător de spațiul alb
Deci când funcționează? Pe baza cercetărilor, pare să funcționeze doar cu unele aplicații. Lucrurile se pot schimba în funcție de comanda pe care o utilizați. Manipularea acestui personaj de către promptul de comandă este ciudată. Încercați cu orice comandă pe care o utilizați, poate funcționa sau nu.
Pentru coerență, articolul recomandă utilizarea ghilimelelor duble în Linia de comandă sau trecerea la PowerShell și utilizarea metodei de mai jos.
Folosiți caractere de accent (`)
PowerShell folosește caracterul de accent (`) ca caracter de escape. Doar adăugați-l înainte de fiecare spațiu din numele fișierului. (Veți găsi acest caracter deasupra tastaturii Tab și sub tasta Esc de pe tastatură).
type C:\Test` Folder\Test` File.txt
Fiecare caracter accentuat necesită PowerShell pentru a scăpa de caracterul care urmează.
Rețineți că acest lucru funcționează numai în mediile PowerShell. Va trebui să utilizați caracterul caret în linia de comandă.
![Cum să scăpați de spațiile din căile fișierelor de pe linia de comandă Windows Cum să scăpați de spațiile din căile fișierelor de pe linia de comandă Windows]()
Folosiți caractere de accent (`)
Dacă sunteți familiarizat cu sistemele de operare asemănătoare UNIX, cum ar fi Linux și macOS, este posibil să fiți familiarizat cu utilizarea caracterului backslash (\) înainte de un spațiu pentru a-l scăpa. Windows folosește acest caracter pentru căile obișnuite ale fișierelor, așa că nu funcționează. Caracterele caret (^) și accent (`) sunt versiunea Windows a backslash, în funcție de shell-ul liniei de comandă pe care îl utilizați.
Vezi mai mult: