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.

Opmerking

Gebruikers die meer geavanceerde mogelijkheden zoeken, worden aangemoedigd om PowerShell te verkennen voor verbeterde scripting en automatisering.

Syntaxis

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

Parameterwaarden

Kenmerk Beschrijving
/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.
/een 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:uit Schakelt opdrachtenuitbreidingen uit.
/f:on Hiermee schakelt u voltooiing van bestands- en mapnamen in.
/f:uit Schakelt de voltooiing van bestands- en mapnamen uit.
/v:on Schakelt vertraagde uitbreiding van omgevingsvariabele in.
/v:uit 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>:

Waarde Kleur
0 Zwart
1 Blauw
2 Groen
3 Aqua
4 Rood
5 Paars
6 Geel
7 Wit
8 Grijs
9 Lichtblauw
een Lichtgroen
b Licht aqua
c Lichtrood
d Licht paars
e Lichtgeel
f Helder wit

Opmerkingen

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

    <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. Voorbeeld:

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

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

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

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

    Opmerking

    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". Voorbeeld:

    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 voor alle cmd opdrachtregelopties op een computer of gebruikerssessie in- of uitschakelen 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 REG_DWORD-waarde in op 0×1 (ingeschakeld) of 0×0 (uitgeschakeld) in het register met behulp van Regedit.exe. Door de gebruiker opgegeven instellingen hebben voorrang op computerinstellingen en opdrachtregelopties hebben voorrang op registerinstellingen.

    Waarschuwing

    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 de voltooiing van bestands- en mapnamen in- of uitschakelen voor alle processen van de cmd opdracht op een computer of voor een gebruikersaanmeldingssessie 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 besturingselementteken voor een bepaalde functie (bijvoorbeeld 0×9 is TAB en 0×08 is BACKSPACE). Gebruik de waarde [0×20] voor witruimte, omdat dit geen geldig besturingselementteken is. Door de gebruiker opgegeven instellingen hebben voorrang op computerinstellingen en opdrachtregelopties hebben voorrang op registerinstellingen.

    Waarschuwing

    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 voltooiing van bestands- en mapnamen inschakelt met behulp van /f:on, gebruikt u Ctrl+D voor het voltooien van de mapnaam en Ctrl+F voor het voltooien van de bestandsnaam. Het enige verschil tussen de toetsencombinaties Ctrl+D en Ctrl+F is dat Ctrl+D alleen overeenkomt met mapnamen en Ctrl+F komt overeen met zowel bestands- als mapnamen. Als u de voltooiing van bestands- en mapnamen gebruikt voor de ingebouwde mapopdrachten cd, mdof rdmapvoltooiing, wordt ervan uitgegaan.

  • Als u op Ctrl+D of Ctrl+F drukt, worden 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 de lijst achteruit wilt doorlopen, drukt u tegelijkertijd op Shift en Ctrl+D of Ctrl+F .
    • Als u de opgeslagen lijst met overeenkomende paden wilt negeren en een nieuwe lijst wilt genereren, bewerkt <string> u 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 bestands- en mapnamen verwerkt vanaf binnen <string>, op het punt waar <string> de voltooiing is verwerkt, wordt een 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 zijn ingesteld in de HKEY_CURRENT_USER hive zijn alleen geldig voor de huidige gebruiker, maar definiëren het gedrag van de globale 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 hive.
  3. Lokale variabelen gevonden in de HKEY_CURRENT_USER hive.
  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 escapeteken ^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 uw variabelenamen combineren om uw code beter leesbaar te maken, bijvoorbeeld UserName.

Opmerking

  • 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.