Kommandolinjemiljøer som Windows Command Prompt og PowerShell bruger mellemrum til at adskille kommandoer og argumenter – men fil- og mappenavne kan også indeholde mellemrum. For at angive en filsti med et mellemrum indeni, skal du “escape” den.

Kommandolinje 101: Hvorfor du skal undslippe mellemrum

At “undslippe” en karakter ændrer dens betydning. For eksempel vil escape et mellemrum få skallen til at behandle det som et standard mellemrumstegn snarere end et specialtegn, der adskiller kommandolinjeargumenter.

Lad os for eksempel sige, at du har en tekstfil, som du vil se indholdet af. Du kan gøre det med type-kommandoen. Forudsat at tekstfilen er på C:TestFile.txt, vil følgende kommando i kommandoprompt vise dens indhold:

type C:TestFile.txt

Store. Hvad nu hvis du har den samme fil på C:Test FolderTest File.txt? Hvis du prøver at køre nedenstående kommando, virker det ikke – disse mellemrum i filstien er i vejen.

type C:Test FolderTest File.txt

Kommandolinjen tror, ​​at du prøver at lede efter en fil kaldet C:Test og siger, at den “kan ikke finde den angivne sti.”

  Sådan rettes VLC-fejl Libvlc.dll mangler på Windows 10

Tre måder at undslippe rum på Windows

Der er tre forskellige måder, du kan undslippe filstier på i Windows:

Ved at omslutte stien (eller dele af den) i dobbelte anførselstegn ( ” ).
Ved at tilføje et indtegn ( ^ ) før hvert mellemrum. (Dette virker kun i kommandoprompt/CMD, og ​​det ser ikke ud til at virke med hver kommando.)
Ved at tilføje et alvorligt accenttegn ( ` ) før hvert mellemrum. (Dette virker kun i PowerShell, men det virker altid.)

Vi viser dig, hvordan du bruger hver metode.

Indsæt stien i anførselstegn ( ” )

Standardmetoden til at sikre, at Windows behandler en filsti korrekt, er at omslutte den i dobbelte anførselstegn ( ” ). For eksempel, med vores eksempelkommando ovenfor, ville vi bare køre følgende i stedet:

type "C:Test FolderTest File.txt"

Du kan faktisk sætte dele af stien i anførselstegn, hvis du foretrækker det. Lad os f.eks. sige, at du havde en fil med navnet File.txt i den mappe. Du kan køre følgende:

type C:"Test Folder"File.txt

Det er dog ikke nødvendigt – i de fleste tilfælde kan du bare bruge anførselstegn rundt om hele stien.

  Sådan tilføjes en brugerdefineret låseskærmmeddelelse i Windows 10

Denne løsning fungerer både i det traditionelle Command Prompt (CMD) miljø og i Windows PowerShell.

Nogle gange: Brug Caret-karakteren til at undslippe mellemrum ( ^ )

I kommandoprompten vil indtegningstegn ( ^ ) lade dig undslippe mellemrum – i teorien. Bare tilføj det før hvert mellemrum i filnavnet. (Du finder dette tegn i talrækken på dit tastatur. Tryk på Shift+6 for at skrive indtegningstegn.)

Her er problemet: Selvom dette burde virke, og det gør det nogle gange, virker det ikke hele tiden. Kommandopromptens håndtering af denne karakter er mærkelig.

For eksempel, med vores eksempelkommando, ville du køre følgende, og det ville ikke virke:

type C:Test^ FolderTest^ File.txt

På den anden side, hvis vi prøver at åbne vores fil direkte ved at skrive dens sti i kommandoprompten, kan vi se, at indtegningstegn undslipper mellemrummene korrekt:

C:Test^ FolderTest^ File.txt

Så hvornår virker det? Tja, baseret på vores forskning ser det ud til at det virker med nogle applikationer og ikke andre. Dit kilometertal kan variere afhængigt af den kommando, du bruger. Kommandopromptens håndtering af denne karakter er mærkelig. Giv det en chance med den kommando, du bruger, hvis du er interesseret – det kan måske ikke fungere.

  Sådan slår du deling i nærheden fra på Windows 10

For at opnå konsistens anbefaler vi, at du holder dig til dobbelte anførselstegn i kommandoprompten – eller skifter til PowerShell og bruger grave-accentmetoden nedenfor.

PowerShell: Brug Grave Accent Character ( ` )

PowerShell bruger gravaccenttegn ( ` ) som sin flugtkarakter. Bare tilføj det før hvert mellemrum i filnavnet. (Du finder dette tegn over Tab-tasten og under Esc-tasten på dit tastatur.)

type C:Test` FolderTest` File.txt

Hver grav-accent karakter fortæller PowerShell at undslippe den følgende karakter.

Bemærk, at dette kun virker i PowerShell-miljøet. Du bliver nødt til at bruge tegnet i kommandoprompt.

Hvis du er bekendt med UNIX-lignende operativsystemer som Linux og macOS, er du måske vant til at bruge omvendt skråstreg ( ) før et mellemrum for at undslippe det. Windows bruger dette til normale filstier, så det virker ikke—-tegn ( ^ ) og grave accent ( ` ) er Windows-versionen af ​​omvendt skråstreg, afhængigt af hvilken kommandolinjeskal du bruger.

By Anders