setx

Crea o modifica le variabili di ambiente nell'ambiente utente o di sistema, senza richiedere la programmazione o lo scripting. Il comando Setx recupera anche i valori delle chiavi del registro e li scrive nei file di testo.

Nota

Questo comando fornisce l'unico modo da riga di comando o programmatico per impostare direttamente e in modo permanente i valori dell'ambiente di sistema. Le variabili di ambiente di sistema sono configurabili manualmente tramite Pannello di controllo o tramite un editor del registro. Il comando set, che è interno all'interprete dei comandi (Cmd.exe), imposta le variabili di ambiente utente solo per la finestra della console corrente.

Sintassi

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>]

Parametri

Parametro Descrizione
/s <computer> Specifica il nome o indirizzo IP di un computer remoto. Non utilizzare le barre rovesciate. Il valore predefinito corrisponde al nome del computer locale.
/u [<domain>\]<user name> Esegue lo script con le credenziali dell'account utente specificato. Il valore predefinito sono le autorizzazioni di sistema.
/p [<password>] Specifica la password dell'account utente specificato nella /u parametro.
<variable> Specifica il nome della variabile di ambiente da impostare.
<value> Specifica il valore a cui si desidera impostare la variabile di ambiente.
/k <path> Specifica che la variabile viene impostata in base alle informazioni di una chiave del registro. Il percorso usa la seguente sintassi: \\<HIVE>\<KEY>\...\<Value>. Ad esempio, si potrebbe specificare il seguente percorso: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
/f <filename> Specifica il file che si desidera utilizzare.
/a <X>,<Y> Specifica le coordinate assolute e l'offset come parametri di ricerca.
/r <X>,<Y> <String> Specifica le coordinate relative e l'offset da String come parametri di ricerca.
/m Specifica di impostare la variabile nell'ambiente di sistema. L'impostazione predefinita è l'ambiente locale.
/x Visualizza le coordinate dei file, ignorando le opzioni della riga di comando /a, /r e /d.
/d <delimiters> Specifica delimitatori come , o \ da usare oltre ai quattro delimitatori predefiniti: SPACE, TAB, ENTER e LINEFEED. I delimitatori validi includono qualsiasi carattere ASCII. Il numero massimo di delimitatori è 15, inclusi i delimitatori predefiniti.
/? Visualizza la guida al prompt dei comandi.

Osservazioni:

  • Questo comando è simile all'utilità UNIX SETENV.

  • È possibile usare questo comando per impostare i valori per le variabili di ambiente utente e di sistema da una delle tre origini (modalità): modalità riga di comando, modalità registro o modalità file.

  • Questo comando scrive le variabili nell'ambiente master nel registro. Le variabili impostate con le variabili setx sono disponibili solo nelle finestre dei comandi future, non nella finestra di comando corrente.

  • HKEY_CURRENT_USER e HKEY_LOCAL_MACHINE sono gli unici hive supportati. REG_DWORD, REG_EXPAND_SZ, REG_SZ e REG_MULTI_SZ sono i tipi di dati RegKey validi.

  • Se si ottiene l'accesso ai valori REG_MULTI_SZ nel registro, viene estratto e usato solo il primo elemento.

  • Non è possibile usare questo comando per rimuovere i valori aggiunti agli ambienti locali o di sistema. È possibile usare questo comando con un nome di variabile e nessun valore per rimuovere un valore corrispondente dall'ambiente locale.

  • I valori di registro REG_DWORD vengono estratti e usati in modalità esadecimale.

  • La modalità file supporta l'analisi solo dei file di testo ritorno a capo e di avanzamento riga (CRLF).

  • L'esecuzione di questo comando in una variabile esistente rimuove i riferimenti a qualsiasi variabile e usa valori espansi.

    Ad esempio, se la variabile %PATH% ha un riferimento a %JAVADIR%, mentre %PATH% viene modificato tramite setx, %JAVADIR% viene espanso e il relativo valore viene assegnato direttamente alla variabile di destinazione %PATH%. Questo significa che gli aggiornamenti futuri di %JAVADIR% non si rifletteranno sulla variabile %PATH%.

  • Tenere presente che è previsto un limite di 1024 caratteri quando si assegna il contenuto a una variabile usando setx.

    Questo significa che il contenuto viene ritagliato se si superano i 1024 caratteri e che il testo ritagliato è quello applicato alla variabile di destinazione. Se questo testo ritagliato viene applicato a una variabile esistente, può comportare la perdita di dati precedentemente contenuti nella variabile di destinazione.

Esempi

Per impostare la variabile di ambiente MACHINE nell'ambiente locale sul valore Brand1, digitare:

setx MACHINE Brand1

Per impostare la variabile di ambiente MACHINE nell'ambiente di sistema sul valore Brand1 Computer, digitare:

setx MACHINE Brand1 Computer /m

Per impostare la variabile di ambiente MYPATH nell'ambiente locale per usare il percorso di ricerca definito nella variabile di ambiente PATH, digitare:

setx MYPATH %PATH%

Per impostare la variabile di ambiente MYPATH nell'ambiente locale in modo da usare il percorso di ricerca definito nella variabile di ambiente PATH dopo aver sostituito ~ con %, digitare:

setx MYPATH ~PATH~

Per impostare la variabile di ambiente MACHINE nell'ambiente locale su Brand1 in un computer remoto denominato computer1, digitare:

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

Per impostare la variabile di ambiente MYPATH nell'ambiente locale in modo da usare il percorso di ricerca definito nella variabile di ambiente PATH in un computer remoto denominato computer1, digitare:

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

Per impostare la variabile di ambiente TZONE nell'ambiente locale sul valore trovato nella chiave del registro HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName, digitare:

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

Per impostare la variabile di ambiente TZONE nell'ambiente locale di un computer remoto denominato computer1 sul valore trovato nella chiave del registro HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName, digitare:

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

Per impostare la variabile d ambiente BUILD nell'ambiente di sistema sul valore trovato nella chiave del registro HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber, digitare:

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

Per impostare la variabile di ambiente BUILD nell'ambiente di sistema di un computer remoto denominato Computer1 sul valore trovato nella chiave del registro HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber, digitare:

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

Per visualizzare il contenuto di un file denominato Ipconfig.out insieme alle coordinate corrispondenti del contenuto, digitare:

setx /f ipconfig.out /x

Per impostare la variabile di ambiente IPADDR nell'ambiente locale sul valore trovato alla coordinata 5.11 nel file Ipconfig.out, digitare:

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

Per impostare la variabile di ambiente OCTET1 nell'ambiente locale sul valore trovato alla coordinata 5,3 nel file Ipconfig.out con i delimitatori #$*., digitare:

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

Per impostare la variabile di ambiente IPGATEWAY nell'ambiente locale sul valore trovato alla coordinata 0,7 rispetto alla coordinata del Gateway nel file Ipconfig.out, digitare:

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

Per visualizzare il contenuto del file Ipconfig.out insieme alle coordinate corrispondenti del contenuto, in un computer denominato computer1, digitare:

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