Dela via


set (miljövariabel)

Visar, anger eller tar bort cmd.exe miljövariabler. Om det används utan parametrar , anger du de aktuella miljövariabelinställningarna.

Anmärkning

Det här kommandot kräver kommandotillägg, som är aktiverade som standard.

Set-kommandot kan också köras från Windows-återställningskonsolen med hjälp av olika parametrar. Mer information finns i Windows Recovery Environment (WinRE).

Syntax

set [<variable>=[<string>]]
set [/p] <variable>=[<promptString>]
set /a <variable>=<expression>

Parameterar

Parameter Beskrivning
<variable> Anger miljövariabeln som ska anges eller ändras.
<string> Anger strängen som ska associeras med den angivna miljövariabeln.
/p Anger värdet <variable> för till en rad med indata som angetts av användaren.
<promptstring> Anger ett meddelande som uppmanar användaren att ange indata. Den här parametern måste användas med parametern /p .
/a Anger <string> till ett numeriskt uttryck som utvärderas.
<expression> Anger ett numeriskt uttryck.
/? Visar hjälp i kommandotolken.

Anmärkningar

  • Om kommandotillägg är aktiverade (standard) och du kör set med ett värde visas alla variabler som börjar med det värdet.

  • Tecknen , , , och är specialtecken för kommandogränssnittet, och de måste föregås av escape-tecknet (<) eller omges av citattecken när de används i > (till exempel "StringContaining&Symbol").|&^^<string> Om du använder citattecken för att omsluta en sträng som innehåller ett av specialteckenen anges citattecknen som en del av miljövariabelvärdet.

  • Använd miljövariabler för att styra beteendet för vissa batchfiler och program och för att styra hur Windows och MS-DOS undersystem visas och fungerar. Set-kommandot används ofta i filen Autoexec.nt för att ange miljövariabler.

  • Om du använder kommandot set utan parametrar visas de aktuella miljöinställningarna. De här inställningarna innehåller vanligtvis miljövariablerna COMSPEC och PATH , som används för att hitta program på disken. Två andra miljövariabler som används av Windows är PROMPT och DIRCMD.

  • Om du anger värden för <variable> och <string>läggs det angivna <variable> värdet till i miljön och <string> är associerat med variabeln. Om variabeln redan finns i miljön ersätter det nya strängvärdet det gamla strängvärdet.

  • Om du bara anger en variabel och ett likhetstecken (utan <string>) för kommandot set rensas värdet <string> som är associerat med variabeln (som om variabeln inte finns där).

  • Om du använder parametern /a stöds följande operatorer i fallande prioritetsordning:

    Operatör Åtgärden har utförts
    ( ) Gruppering
    ! ~ - Unär
    * / % Aritmetik
    + - Aritmetik
    << >> Logiskt skift
    & Bitvis OCH
    ^ Bitvis exklusiv ELLER
    = *= /= %= += -= &= ^= = <<= >>=
    , Uttrycksavgränsare
  • Om du använder logiska operatorer (&& eller ||) eller modulus (%) omger du uttryckssträngen inom citattecken. Alla icke-numeriska strängar i uttrycket betraktas som miljövariabelnamn och deras värden konverteras till tal innan de bearbetas. Om du anger ett miljövariabelnamn som inte har definierats i den aktuella miljön tilldelas värdet noll, vilket gör att du kan utföra aritmetik med miljövariabelvärden utan att använda % för att hämta ett värde.

  • Om du kör set /a från kommandoraden utanför ett kommandoskript visas uttryckets slutliga värde.

  • Numeriska värden är decimaltal om det inte föregås av 0× för hexadecimala tal eller 0 för oktala tal. Därför är 0×12 samma som 18, vilket är samma som 022.

  • Stöd för fördröjd miljövariabelexpansion är inaktiverat som standard, men du kan aktivera eller inaktivera det med hjälp av cmd /v.

  • När du skapar batchfiler kan du använda set för att skapa variabler och sedan använda dem på samma sätt som du använder de numrerade variablerna %0 via %9. Du kan också använda variablerna %0 via %9 som indata för set.

  • Om du anropar ett variabelvärde från en batchfil omger du värdet med procenttecken (%). Om batchprogrammet till exempel skapar en miljövariabel med namnet BAUD kan du använda strängen som är associerad med BAUD som en utbytbar parameter genom att skriva %baud% i kommandotolken.

Exempel

Om du vill ange värdet TEST^1 för miljövariabeln med namnet testVarskriver du:

set testVar=TEST^^1

Set-kommandot tilldelar allt som följer likhetstecknet (=) till värdet för variabeln. Om du skriver set testVar=TEST^1får du därför följande resultat: testVar=TEST1.

Om du vill ange värdet TEST&1 för miljövariabeln testVarskriver du:

set testVar=TEST^&1

Om du vill ange en miljövariabel med namnet inkludera så att strängen c:\directory är associerad med den skriver du:

set include=c:\directory

Du kan sedan använda strängen c:\directory i batchfiler genom att omsluta namnet med procenttecken (%). Du kan till exempel använda dir %include% i en batchfil för att visa innehållet i katalogen som är associerad med variabeln inkludera miljö. När det här kommandot har bearbetats ersätter strängen c:\directory %include%.

Om du vill använda kommandot set i ett batchprogram för att lägga till en ny katalog i sökvägsmiljövariabeln skriver du:

@echo off
rem ADDPATH.BAT adds a new directory
rem to the path environment variable.
set path=%1;%path%
set

Om du vill visa en lista över alla miljövariabler som börjar med bokstaven p skriver du:

set p

Om du vill visa en lista över alla miljövariabler på den aktuella enheten skriver du:

set