Delen via


cmd

Start een nieuw exemplaar van de opdracht-interpreter, cmd.exe. Als u zonder parameters gebruikt, cmd worden de versie- en copyrightgegevens van het besturingssysteem weergegeven.

Note

Gebruikers die op zoek zijn naar meer geavanceerde mogelijkheden, worden aangemoedigd om PowerShell te verkennen voor verbeterde scripts en automatisering.

Syntax

cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [<string>]

Parameters

Parameter Description
/c Voert de opdracht uit die is opgegeven door <string> en sluit vervolgens de opdrachtprocessor af.
/k Voert de opdracht uit die is opgegeven door <string> en houdt de opdrachtprocessor actief.
/s Bij gebruik met /c of /kactiveert u speciale regels voor niet-parseren die de eerste en laatste aanhalingstekens (") rond de <string> , maar de rest van de opdracht ongewijzigd laten.
/q Hiermee schakelt u echo uit.
/d Hiermee schakelt u de uitvoering van AutoRun-opdrachten uit.
/a Hiermee wordt de uitvoer van opdrachten opgemaakt als American National Standards Institute (ANSI).
/u Hiermee wordt de uitvoer van de opdracht opgemaakt als Unicode.
/t:{<b><f> | <f>} Hiermee stelt u de achtergrondkleuren (b) en voorgrond (f) in.
/e:on Hiermee schakelt u opdrachtextensies in.
/e:off Schakelt opdrachtenuitbreidingen uit.
/f:on Hiermee schakelt u voltooiing van bestands- en mapnamen in.
/f:off Schakelt de voltooiing van bestands- en mapnamen uit.
/v:on Schakelt vertraagde uitbreiding van omgevingsvariabele in.
/v:off Schakelt vertraagde uitbreiding van omgevingsvariabelen uit.
<string> Hiermee geeft u de opdracht die u wilt uitvoeren.
/? Geeft hulp weer in de opdrachtprompt.

De volgende tabel bevat geldige hexadecimale cijfers die u kunt gebruiken als de waarden voor <b> en <f>:

Value Color
0 Black
1 Blue
2 Green
3 Aqua
4 Red
5 Purple
6 Yellow
7 White
8 Gray
9 Light blue
a Light green
b Light aqua
c Light red
d Light purple
e Light yellow
f Bright white

Remarks

  • Gebruik de pipe-operator (|) om de uitvoer van de opdracht om te leiden naar de invoer van een andere opdracht. For example:

    <command1> | <command2>
    
  • De operator double pipe (||) wordt alleen gebruikt om de volgende opdracht uit te voeren als de vorige opdracht mislukt. In het opgegeven scenario command2 wordt alleen uitgevoerd als command1 dit mislukt. For example:

    <command1> || <command2>
    
  • Als u de uitvoer van de opdracht naar een bestand wilt omleiden, gebruikt u het haakje > groter dan de hoek. For example:

    <command1> > <file1.txt>
    
  • Als u meerdere opdrachten wilt groeperen of nesten, gebruikt u &. For example:

    <command1> & <command2>
    
  • Als u meerdere opdrachten wilt <string>gebruiken, scheidt u deze door het opdrachtscheidingsteken &&. For example:

    <command1> && <command2> && <command3>
    

    Note

    Wanneer u deze gebruikt &&, wordt de volgende && opdracht alleen uitgevoerd als de voorgaande opdracht is voltooid. Cmd voert de eerste opdracht uit en gaat alleen verder met de volgende als de vorige opdracht is geslaagd. Als de vorige opdracht mislukt, worden de volgende opdrachten niet uitgevoerd.

  • De ampersand &, pipe |en haakjes ( ) zijn speciale tekens die moeten worden voorafgegaan door het escapeteken ^ of aanhalingstekens wanneer u deze als argumenten doorgeeft.

  • Als een opdracht een bewerking heeft voltooid, retourneert deze een afsluitcode van nul (0) of geen afsluitcode.

  • Als het pad, de bestanden of informatie die u opgeeft spaties bevat, moet u dubbele aanhalingstekens (" ") rond de tekst gebruiken, zoals "Computer Name". For example:

    mkdir Test && mkdir "Test 2" && move "Test 2" Test
    
  • U moet aanhalingstekens gebruiken rond de volgende speciale tekens: & <> [ ] | { } ^ = ; ! ' + , ' ~ [witruimte].

  • Als u opgeeft /c of /k, worden de cmd processen, de rest van <string>en de aanhalingstekens alleen bewaard als aan alle volgende voorwaarden wordt voldaan:

    • U gebruikt /sniet ook .
    • U gebruikt precies één set aanhalingstekens.
    • U gebruikt geen speciale tekens tussen de aanhalingstekens, bijvoorbeeld: & <> ( ) @ ^ |.
    • U gebruikt een of meer spaties tussen de aanhalingstekens.
    • De <string> aanhalingstekens zijn de naam van een uitvoerbaar bestand.

    Als niet aan de vorige voorwaarden wordt voldaan, <string> wordt het eerste teken verwerkt om te controleren of het een aanhalingsteken openen is. Als het eerste teken een aanhalingsteken openen is, wordt dit samen met het aanhalingsteken sluiten verwijderd. Alle tekst na de aanhalingstekens sluiten blijft behouden.

  • Als u niet opgeeft /d, cmd zoekt u naar de volgende registersubsleutels:

    • HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ

    • HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ

    Als een of beide registersubsleutels aanwezig zijn, worden deze uitgevoerd voor alle andere variabelen.

  • U kunt opdrachtextensies voor een bepaald proces uitschakelen met behulp van /e:off. U kunt extensies in- of uitschakelen voor alle cmd opdrachtregelopties op een computer of gebruikerssessie door de volgende REG_DWORD waarden in te stellen:

    • HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD

    • HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD

    Stel de waarde REG_DWORD in op 0x1 (ingeschakeld) of 0x0 (uitgeschakeld) in het register met behulp van Regedit.exe. Door de gebruiker opgegeven instellingen hebben voorrang op computerinstellingen en opdrachtregelopties hebben voorrang op registerinstellingen.

    Caution

    Het onjuist bewerken van het register kan uw systeem ernstig beschadigen. Voordat u wijzigingen aanbrengt in het register, moet u een back-up maken van waardegegevens op de computer.

  • Wanneer u opdrachtextensies inschakelt, worden de volgende opdrachten beïnvloed:

    • assoc
    • call
    • chdir (cd)
    • color
    • del (erase)
    • endlocal
    • for
    • ftype
    • goto
    • if
    • mkdir (md)
    • popd
    • prompt
    • pushd
    • set
    • setlocal
    • shift
    • start (bevat ook wijzigingen in externe opdrachtprocessen)
  • Als u vertraagde uitbreiding van omgevingsvariabelen inschakelt, kunt u het uitroepteken (!) gebruiken om de waarde van een omgevingsvariabele tijdens runtime te vervangen.

  • Voltooiing van bestands- en mapnamen is niet standaard ingeschakeld. U kunt de voltooiing van de bestandsnaam in- of uitschakelen voor een bepaald proces van de cmd opdracht met /f:{on | off}.

  • U kunt het aanvullen van bestands- en mapnamen in- of uitschakelen voor alle processen van de cmd opdracht op een computer of voor een aanmeldingssessie van een gebruiker door de volgende REG_DWORD waarden in te stellen:

    • HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD

    • HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD

    • HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD

    • HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD

    Als u de REG_DWORD waarde wilt instellen, voert u Regedit.exe uit en gebruikt u de hexadecimale waarde van een controleteken voor een bepaalde functie ( 0x9 is bijvoorbeeld TAB en 0x08 is BACKSPACE). Gebruik de waarde [0x20] voor witruimte, omdat dit geen geldig controleteken is. Door de gebruiker opgegeven instellingen hebben voorrang op computerinstellingen en opdrachtregelopties hebben voorrang op registerinstellingen.

    Caution

    Het onjuist bewerken van het register kan uw systeem ernstig beschadigen. Voordat u wijzigingen aanbrengt in het register, moet u een back-up maken van waardegegevens op de computer.

  • Als u het aanvullen van bestanden en mapnamen inschakelt met behulp van /f:on, gebruikt u CTRL+D voor het aanvullen van mapnamen en CTRL+F voor het aanvullen van bestandsnamen. Het enige verschil tussen de toetsencombinaties CTRL+D en CTRL+F is dat CTRL+D alleen overeenkomt met directorynamen en CTRL+F met zowel bestands- als directorynamen. Als u de voltooiing van bestands- en mapnamen gebruikt voor de ingebouwde mapopdrachten cd, mdof rdmapvoltooiing, wordt ervan uitgegaan.

  • Door op CTRL+D of CTRL+F te drukken, wordt de bestands- en mapnaam voltooid. Met deze toetsencombinatiefuncties wordt een jokerteken toegevoegd als <string> er geen jokerteken aanwezig is, maakt u een lijst met paden die overeenkomen en geeft u vervolgens het eerste overeenkomende pad weer. Als geen van de paden overeenkomt, piept de voltooiingsfunctie voor bestands- en mapnamen en wordt de weergave niet gewijzigd.

    • Als u door de lijst met overeenkomende paden wilt navigeren, drukt u herhaaldelijk op CTRL+D of CTRL+F .
    • Als u achteruit door de lijst wilt bladeren, drukt u tegelijkertijd op de SHIFT-toets en op CTRL+D of CTRL+F.
    • Als u de opgeslagen lijst met overeenkomende paden wilt verwijderen en een nieuwe lijst wilt genereren, bewerkt <string> u deze en drukt u op CTRL+D of CTRL+F.
    • Als u schakelt tussen CTRL+D en CTRL+F, wordt de opgeslagen lijst met overeenkomende paden verwijderd en wordt er een nieuwe lijst gegenereerd.
  • Bestands- en mapnaamvoltooiing verwerkt bestandsnamen die witruimte of speciale tekens bevatten als u aanhalingstekens plaatst rond het overeenkomende pad.

  • Als u de aanvulling van bestands- en mapnamen van binnenuit <string>verwerkt, wordt op het punt <string> waar de voltooiing is verwerkt, elk deel van het pad rechts van de cursor verwijderd.

Omgevingsvariabelen gebruiken

De cmd command-shell-omgeving wordt gedefinieerd door variabelen die het gedrag van de opdrachtshell en het besturingssysteem bepalen. U kunt het gedrag van de opdrachtshell-omgeving of de hele besturingssysteemomgeving definiëren met behulp van twee typen omgevingsvariabelen, systeem en lokaal. Systeemomgevingsvariabelen definiëren het gedrag van de globale besturingssysteemomgeving. Lokale omgevingsvariabelen definiëren het gedrag van de omgeving van het huidige exemplaar van cmd.

Alleen gebruikers met beheerdersbevoegdheden kunnen systeemvariabelen wijzigen. Deze variabelen worden meestal gebruikt in aanmeldingsscripts. Lokale omgevingsvariabelen zijn alleen beschikbaar wanneer de gebruiker voor wie ze zijn gemaakt, is aangemeld bij de computer. Lokale variabelen die in de HKEY_CURRENT_USER hive zijn ingesteld, zijn alleen geldig voor de huidige gebruiker, maar bepalen het gedrag van de wereldwijde besturingssysteemomgeving.

In de volgende lijst worden de verschillende typen variabelen in aflopende volgorde van prioriteit beschreven:

  1. Ingebouwde systeemvariabelen.
  2. Systeemvariabelen gevonden in de HKEY_LOCAL_MACHINE bijenkorf.
  3. Lokale variabelen gevonden in de HKEY_CURRENT_USER bijenkorf.
  4. Alle omgevingsvariabelen en -paden die zijn ingesteld in het Autoexec.bat-bestand.
  5. Alle omgevingsvariabelen en -paden die zijn ingesteld in een aanmeldingsscript (indien aanwezig).
  6. Variabelen die interactief worden gebruikt in een script of batchbestand.

In de opdrachtshell neemt elk exemplaar de cmd omgeving van de bovenliggende toepassing over. Daarom kunt u de variabelen in de nieuwe cmd omgeving wijzigen zonder dat dit van invloed is op de omgeving van de bovenliggende toepassing.

U kunt de omgevingsvariabelen in uw omgeving weergeven door een van de volgende opdrachten uit te voeren:

set
Get-ChildItem Env:

Omgevingsvariabelen instellen

Als u een variabele wilt weergeven, typt u:

set <VariableName>

Als u een variabele wilt toevoegen, typt u:

set <VariableName>=<value>

Als u een variabele wilt verwijderen, typt u:

set <VariableName>=

U kunt de meeste tekens gebruiken als variabele waarden, inclusief witruimte. Als u de speciale tekens <, >, |, & of ^ gebruikt, moet u deze voorafgaan door het escape-teken ^of dubbele aanhalingstekens. Als u dubbele aanhalingstekens gebruikt, worden deze opgenomen als onderdeel van de waarde, omdat alles na het gelijkteken wordt genomen als de waarde. Bekijk de volgende voorbeelden:

Als u de variabelewaarde New&Namewilt maken, typt u:

set <VariableName>=New^&Name

Als u de variabelewaarde "New&Name"wilt maken, typt u:

set <VariableName>="New&Name"

Als u set <VariableName>=New&Name bij de opdrachtprompt typt (zonder het carat ^ of dubbele aanhalingstekens), wordt mogelijk het volgende foutbericht weergegeven:

"'Name' is not recognized as an internal or external command, operable program or batch file."

Namen van variabelen zijn niet hoofdlettergevoelig. De variabele wordt set echter precies weergegeven zoals u deze hebt getypt. U kunt hoofdletters en kleine letters in de namen van uw variabelen combineren om uw code leesbaarder te maken, bijvoorbeeld Gebruikersnaam.

Note

  • De maximale grootte van de afzonderlijke omgevingsvariabele is 8.192 bytes.
  • De maximale totale grootte voor alle omgevingsvariabelen, inclusief namen, waarden en gelijktekens, is 65.536 tekens voor een proces.

Omgevingsvariabelewaarden vervangen

Als u variabelewaarden in de opdrachtregel of scripts wilt vervangen, plaatst u de naam van de variabele in procenttekens (%VariableName%). Hiermee kunt cmd u verwijzen naar de waarde van de variabele in plaats van deze als letterlijke tekst te behandelen. Wanneer een script wordt uitgevoerd, cmd vervangt u exemplaren van de variabele door de waarde. Als u bijvoorbeeld %USERNAME% gebruikt in een script, wordt deze automatisch vervangen door de werkelijke gebruikersnaam. Variabele vervanging is niet recursief; cmd controleert variabelen slechts één keer.