Dela via


setx

Skapar eller ändrar miljövariabler i användar- eller systemmiljön, utan att behöva programmering eller skript. Kommandot Setx hämtar också värdena för registernycklar och skriver dem till textfiler.

Anmärkning

Det här kommandot är det enda kommandorads- eller programmatiska sättet att ange systemmiljövärden direkt och permanent. Systemmiljövariabler kan konfigureras manuellt via Kontrollpanelen eller via en registereditor. Kommandot ange, som är internt för kommandotolken (Cmd.exe), anger endast användarmiljövariabler för det aktuella konsolfönstret.

Syntax

setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable> <value> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable>] /k <path> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] /f <filename> {[<variable>] {/a <X>,<Y> | /r <X>,<Y> <String>} [/m] | /x} [/d <delimiters>]

Parameterar

Parameter Beskrivning
/s <computer> Anger namnet eller IP-adressen för en fjärrdator. Använd inte omvänt snedstreck. Standardvärdet är namnet på den lokala datorn.
/u [<domain>\]<user name> Kör skriptet med autentiseringsuppgifterna för det angivna användarkontot. Standardvärdet är systembehörigheterna.
/p [<password>] Anger lösenordet för det användarkonto som anges i parametern /u.
<variable> Anger namnet på den miljövariabel som du vill ange.
<value> Anger det värde som du vill ange miljövariabeln till.
/k <path> Anger att variabeln anges baserat på information från en registernyckel. Sökvägen använder följande syntax: \\<HIVE>\<KEY>\...\<Value>. Du kan till exempel ange följande sökväg: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
/f <filename> Anger den fil som du vill använda.
/a <X>,<Y> Anger absoluta koordinater och förskjutning som sökparametrar.
/r <X>,<Y> <String> Anger relativa koordinater och förskjutning från String som sökparametrar.
/m Anger att variabeln ska anges i systemmiljön. Standardinställningen är den lokala miljön.
/x Visar filkoordinater, ignorerar kommandoradsalternativen /a, /roch /d.
/d <delimiters> Anger avgränsare som , eller \ som ska användas utöver de fyra inbyggda avgränsarna – SPACE, TAB, ENTER och LINEFEED. Giltiga avgränsare innehåller alla ASCII-tecken. Det maximala antalet avgränsare är 15, inklusive inbyggda avgränsare.
/? Visar hjälp i kommandotolken.

Anmärkningar

  • Det här kommandot liknar UNIX-verktyget SETENV.

  • Du kan använda det här kommandot för att ange värden för användar- och systemmiljövariabler från någon av tre källor (lägen): Kommandoradsläge, registerläge eller filläge.

  • Det här kommandot skriver variabler till huvudmiljön i registret. Variabler som anges med setx variabler är endast tillgängliga i framtida kommandofönster, inte i det aktuella kommandofönstret.

  • HKEY_CURRENT_USER och HKEY_LOCAL_MACHINE är de enda hives som stöds. REG_DWORD, REG_EXPAND_SZ, REG_SZ och REG_MULTI_SZ är giltiga RegKey datatyper.

  • Om du får åtkomst till REG_MULTI_SZ värden i registret extraheras och används endast det första objektet.

  • Du kan inte använda det här kommandot för att ta bort värden som lagts till i de lokala miljöerna eller systemmiljöerna. Du kan använda det här kommandot med ett variabelnamn och inget värde för att ta bort ett motsvarande värde från den lokala miljön.

  • REG_DWORD registervärden extraheras och används i hexadecimalt läge.

  • Filläget stöder endast parsning av crlf-textfiler (vagnretur och radmatning).

  • Om du kör det här kommandot på en befintlig variabel tar du bort alla variabelreferenser och använder expanderade värden.

    Om variabeln %PATH% till exempel har en referens till %JAVADIR%och %PATH% ändras med hjälp av setxexpanderas %JAVADIR% och dess värde tilldelas direkt till målvariabeln %PATH%. Det innebär att framtida uppdateringar av %JAVADIR% inte återspeglas i variabeln %PATH%.

  • Tänk på att det finns en gräns på 1 024 tecken när du tilldelar innehåll till en variabel med setx-.

    Det innebär att innehållet beskärs om du går över 1 024 tecken och att den beskurna texten är det som tillämpas på målvariabeln. Om den beskurna texten tillämpas på en befintlig variabel kan det leda till förlust av data som tidigare innehades av målvariabeln.

Exempel

Om du vill ange miljövariabeln MACHINE i den lokala miljön till värdet Brand1skriver du:

setx MACHINE Brand1

Om du vill ange miljövariabeln MACHINE i systemmiljön till värdet Brand1 Computerskriver du:

setx MACHINE Brand1 Computer /m

Ange miljövariabeln MYPATH i den lokala miljön för att använda sökvägen som definierats i PATH-miljövariabeln genom att skriva:

setx MYPATH %PATH%

Om du vill ange miljövariabeln MYPATH i den lokala miljön för att använda sökvägen som definierats i miljövariabeln PATH när du har ersatt ~ med %skriver du:

setx MYPATH ~PATH~

Om du vill ange miljövariabeln MACHINE i den lokala miljön till Brand1 på en fjärrdator med namnet computer1skriver du:

setx /s computer1 /u maindom\hiropln /p p@ssW23 MACHINE Brand1

Om du vill ange miljövariabeln MYPATH i den lokala miljön för att använda sökvägen som definierats i miljövariabeln PATH på en fjärrdator med namnet dator1skriver du:

setx /s computer1 /u maindom\hiropln /p p@ssW23 MYPATH %PATH%

Om du vill ange miljövariabeln TZONE i den lokala miljön till värdet som finns i HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName registernyckel skriver du:

setx TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName

Om du vill ange miljövariabeln TZONE i den lokala miljön för en fjärrdator med namnet dator1 till värdet som finns i registernyckeln HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName skriver du:

setx /s computer1 /u maindom\hiropln /p p@ssW23 TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName

Om du vill ange miljövariabeln BUILD i systemmiljön till värdet som finns i HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber registernyckel skriver du:

setx BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber /m

Om du vill ange variabeln BUILD-miljö i systemmiljön för en fjärrdator med namnet Computer1 till värdet som finns i HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber registernyckel skriver du:

setx /s computer1 /u maindom\hiropln /p p@ssW23  BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber /m

Om du vill visa innehållet i en fil med namnet Ipconfig.outskriver du, tillsammans med innehållets motsvarande koordinater:

setx /f ipconfig.out /x

Om du vill ange IPADDR miljövariabeln i den lokala miljön till värdet som finns vid koordinaten 5,11 i filen Ipconfig.out skriver du:

setx IPADDR /f ipconfig.out /a 5,11

Ange OCTET1 miljövariabeln i den lokala miljön till värdet som finns vid koordinaten 5,3 i Ipconfig.out fil med avgränsare #$*., typ:

setx OCTET1 /f ipconfig.out /a 5,3 /d #$*.

Om du vill ange IPGATEWAY miljövariabeln i den lokala miljön till värdet som finns vid koordinaten 0,7 med avseende på koordinaten för Gateway i filen Ipconfig.out skriver du:

setx IPGATEWAY /f ipconfig.out /r 0,7 Gateway

Om du vill visa innehållet i filen Ipconfig.out, tillsammans med innehållets motsvarande koordinater, på en dator med namnet dator1skriver du:

setx /s computer1 /u maindom\hiropln /p p@ssW23 /f ipconfig.out /x