Cum să scapi de spațiile din căile fișierelor de pe linia de comandă Windows

Mediile de linie de comandă, cum ar fi promptul de comandă Windows și PowerShell, folosesc spații pentru a separa comenzile și argumentele, dar numele fișierelor și folderelor pot conține și spații. Pentru a specifica o cale de fișier cu un spațiu în interiorul acesteia, va trebui să o „escape”.

Linia de comandă 101: De ce trebuie să scape din spații

„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 standard, mai degrabă decât un caracter special care separă argumentele din linia de comandă.

De exemplu, să presupunem că aveți un fișier text din care doriți să vedeți conținutul. Puteți face asta cu comanda tip. Presupunând că fișierul text se află la C:TestFile.txt, următoarea comandă din linia de comandă va afișa conținutul acestuia:

type C:TestFile.txt

Grozav. Acum, ce se întâmplă dacă aveți același fișier la C:Test FolderTest File.txt? Dacă încercați să rulați comanda de mai jos, nu va funcționa – acele spații din calea fișierului vă stau în cale.

type C:Test FolderTest 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ă”.

Trei moduri de a scăpa din spații pe Windows

Există trei moduri diferite în care puteți scăpa de căile fișierelor pe Windows:

  8 moduri de a remedia Gray X pe pictogramele de pe desktop în Windows 10

Prin includerea căii (sau părți ale acesteia) între ghilimele duble ( ” ).
Prin adăugarea unui caracter caret ( ^ ) înaintea fiecărui 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 cu accent grav ( ` ) înaintea fiecărui spațiu. (Acest lucru funcționează numai în PowerShell, dar funcționează întotdeauna.)

Vă vom arăta cum să utilizați fiecare metodă.

Închideți calea între ghilimele ( ” )

Modul standard de a vă asigura că Windows tratează corect o cale de fișier este să o încadrați între ghilimele ( ” ). De exemplu, cu exemplul nostru de comandă de mai sus, am rula doar următoarele:

type "C:Test FolderTest File.txt"

De fapt, puteți include părți ale căii între ghilimele, dacă preferați. De exemplu, să presupunem că aveți un fișier numit File.txt în acel folder. Ai putea 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 doar ghilimele în jurul întregii căi.

Această soluție funcționează atât în ​​mediul tradițional Command Prompt (CMD), cât și în Windows PowerShell.

Uneori: utilizați caracterul caret pentru a scăpa de spații ( ^ )

În linia de comandă, caracterul caret ( ^ ) vă va permite să scăpați de spații — în teorie. 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 tasta caracterul caret, apăsați Shift+6.)

Iată problema: deși acest lucru ar trebui să funcționeze, și o face uneori, nu funcționează tot timpul. Manipularea acestui personaj de către promptul de comandă este ciudată.

De exemplu, cu comanda noastră exemplu, ați rula următoarele și nu ar funcționa:

type C:Test^ FolderTest^ File.txt

Pe de altă parte, dacă încercăm să deschidem fișierul nostru direct tastând calea acestuia în linia de comandă, putem vedea că caracterul caret scapă corect din spații:

C:Test^ FolderTest^ File.txt

Deci când funcționează? Ei bine, pe baza cercetărilor noastre, se pare că funcționează cu unele aplicații și nu cu altele. Kilometrajul dvs. poate varia în funcție de comanda pe care o utilizați. Manipularea acestui personaj de către promptul de comandă este ciudată. Încercați-l cu orice comandă pe care o utilizați, dacă sunteți interesat – poate funcționa sau nu.

  Cum să conectați AirPod-urile la Windows 11

Pentru consecvență, vă recomandăm să rămâneți cu ghilimele duble în linia de comandă sau să treceți la PowerShell și să utilizați metoda de accent grav de mai jos.

PowerShell: Folosiți caracterul Grave Accent ( ` )

PowerShell folosește caracterul cu accent grav (`) 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` FolderTest` File.txt

Fiecare caracter cu accent grav îi spune lui PowerShell să scape următorul caracter.

Rețineți că acest lucru funcționează numai în mediul PowerShell. Va trebui să utilizați caracterul caret în linia de comandă.

Dacă sunteți familiarizat cu sistemele de operare asemănătoare UNIX, cum ar fi Linux și macOS, este posibil să fiți obișnuit să utilizați caracterul backslash ( ) înainte de un spațiu pentru a-l scăpa. Windows folosește acest lucru pentru căile normale ale fișierelor, așa că nu funcționează – caracterele caret ( ^ ) și accent grav ( ` ) sunt versiunea Windows a backslash, în funcție de shell-ul de linie de comandă pe care îl utilizați.