setX

Crée ou modifie des variables d’environnement dans l’environnement utilisateur ou système, sans nécessiter de programmation ou de script. La commande setx récupère également les valeurs des clés de Registre et les écrit dans des fichiers texte.

Notes

Cette commande fournit la seule ligne de commande ou méthode par programmation pour définir des valeurs d’environnement système directement et de manière permanente. Les variables d’environnement système sont configurables manuellement par le biais du panneau de configuration ou d’un éditeur du Registre. La commande Set , qui est interne à l’interpréteur de commandes (Cmd.exe), définit les variables d’environnement utilisateur uniquement pour la fenêtre de console active.

Syntaxe

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

Paramètres

Paramètre Description
commutateur <computer> Spécifie le nom ou l’adresse IP d’un ordinateur distant. N’utilisez pas de barres obliques inverses. La valeur par défaut est le nom de l’ordinateur local.
/u. [<domain>\]<user name> Exécute le script avec les informations d’identification du compte d’utilisateur spécifié. La valeur par défaut est les autorisations système.
/p [ <password> ] Spécifie le mot de passe du compte d’utilisateur spécifié dans le paramètre /u .
<variable> Spécifie le nom de la variable d’environnement que vous souhaitez définir.
<value> Spécifie la valeur pour laquelle vous souhaitez définir la variable d’environnement.
/k <path> Spécifie que la variable est définie en fonction des informations d’une clé de registre. Le chemin d’accès utilise la syntaxe suivante : \\<HIVE>\<KEY>\...\<Value> . Par exemple, vous pouvez spécifier le chemin d’accès suivant : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
/f <filename> Spécifie le fichier que vous souhaitez utiliser.
/a <X>,<Y> Spécifie les coordonnées absolues et le décalage en tant que paramètres de recherche.
/r <X>,<Y> <String> Spécifie les coordonnées relatives et le décalage par rapport à la chaîne en tant que paramètres de recherche.
/m Spécifie de définir la variable dans l’environnement système. Le paramètre par défaut est l’environnement local.
/x Affiche les coordonnées des fichiers, en ignorant les options de ligne de commande /a, /r et /d .
/d <delimiters> Spécifie des délimiteurs tels que , ou \ à utiliser en plus des quatre délimiteurs intégrés (espace, tabulation, entrée et saut de ligne). Les délimiteurs valides incluent n’importe quel caractère ASCII. Le nombre maximal de délimiteurs est 15, y compris les délimiteurs intégrés.
/? Affiche l'aide à l'invite de commandes.

Remarques

  • cette commande est similaire à l’utilitaire UNIX SETENV.

  • Vous pouvez utiliser cette commande pour définir des valeurs pour les variables d’environnement utilisateur et système à partir de l’une des trois sources (modes) : mode ligne de commande, mode registre ou mode fichier.

  • Cette commande écrit des variables dans l’environnement maître dans le registre. Les variables définies avec des variables setx sont disponibles dans les fenêtres de commande ultérieures uniquement, et non dans la fenêtre de commande active.

  • HKEY_CURRENT_USER et HKEY_LOCAL_MACHINE sont les seules ruches prises en charge. REG_DWORD, REG_EXPAND_SZ, REG_SZ et REG_MULTI_SZ sont les types de données RegKey valides.

  • Si vous accédez à REG_MULTI_SZ valeurs dans le registre, seul le premier élément est extrait et utilisé.

  • Vous ne pouvez pas utiliser cette commande pour supprimer des valeurs ajoutées à des environnements locaux ou système. Vous pouvez utiliser cette commande avec un nom de variable et aucune valeur pour supprimer une valeur correspondante de l’environnement local.

  • REG_DWORD valeurs de Registre sont extraites et utilisées en mode hexadécimal.

  • Le mode de fichier prend en charge l’analyse des fichiers texte de retour chariot et de saut de ligne (CRLF) uniquement.

  • L’exécution de cette commande sur une variable existante supprime toutes les références de variable et utilise des valeurs développées.

    Par exemple, si la variable% PATH% a une référence à% JAVADIR% et que% PATH% est manipulé avec setx,% JAVADIR% est développé et sa valeur est affectée directement à la variable cible% Path%. Cela signifie que les futures mises à jour de% JAVADIR% ne seront pas reflétées dans la variable% PATH%.

  • Sachez qu’il existe une limite de 1024 caractères lors de l’affectation de contenu à une variable à l’aide de setx.

    Cela signifie que le contenu est rogné si vous dépassez 1024 caractères et que le texte rogné correspond à ce qui est appliqué à la variable cible. Si ce texte rogné est appliqué à une variable existante, cela peut entraîner une perte de données précédemment détenues par la variable cible.

Exemples

Pour définir la variable d’environnement de l’environnement local sur la valeur Brand1, tapez :

setx MACHINE Brand1

Pour définir la variable d’environnement d' ordinateur dans l’environnement système sur la valeur Brand1 Computer, tapez :

setx MACHINE Brand1 Computer /m

Pour définir la variable d’environnement myPath dans l’environnement local afin d’utiliser le chemin de recherche défini dans la variable d’environnement PATH , tapez :

setx MYPATH %PATH%

Pour définir la variable d’environnement myPath dans l’environnement local afin d’utiliser le chemin de recherche défini dans la variable d’environnement PATH après le remplacement ~ de par % , tapez :

setx MYPATH ~PATH~

Pour définir la variable d’environnement de l’environnement local sur Brand1 sur un ordinateur distant nommé Ordinateur1, tapez :

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

Pour définir la variable d’environnement myPath dans l’environnement local afin d’utiliser le chemin de recherche défini dans la variable d’environnement PATH sur un ordinateur distant nommé Ordinateur1, tapez :

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

Pour définir la variable d’environnement Tzone dans l’environnement local à la valeur trouvée dans la clé de Registre HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName , tapez :

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

Pour définir la variable d’environnement Tzone dans l’environnement local d’un ordinateur distant nommé Computer1 sur la valeur trouvée dans la clé de Registre HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName , tapez :

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

Pour définir la variable d’environnement de génération dans l’environnement système sur la valeur trouvée dans la clé de Registre HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber , tapez :

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

Pour définir la variable d’environnement de génération dans l’environnement système d’un ordinateur distant nommé Computer1 sur la valeur trouvée dans la clé de Registre HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber , tapez :

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

Pour afficher le contenu d’un fichier nommé ipconfig. out, avec les coordonnées correspondantes, tapez :

setx /f ipconfig.out /x

Pour définir la variable d’environnement ipaddr dans l’environnement local sur la valeur trouvée à la coordonnée 5, 11 dans le fichier ipconfig. out , tapez :

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

Pour définir la variable d’environnement octet1 dans l’environnement local à la valeur trouvée aux coordonnées 5, 3 dans le fichier ipconfig. out avec des délimiteurs # $ *., tapez :

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

Pour définir la variable d’environnement IPGateway dans l’environnement local à la valeur trouvée à la coordonnée 0, 7 en ce qui concerne la coordonnée de la passerelle dans le fichier ipconfig. out , tapez :

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

Pour afficher le contenu du fichier ipconfig. out , ainsi que les coordonnées correspondantes, sur un ordinateur nommé Computer1, tapez :

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

Références supplémentaires