[cmd] variables d'environnement
Char Snipeur
Messages postés
9813
Date d'inscription
Statut
Contributeur
Dernière intervention
-
elg -
elg -
Bonjour
je sais qu'il est possible de définir des variables d'environnement à partir de la commande set dans une fenetre CMD. En revanche celle ci est détruite des que l'on ferme la fenetre. Y a t-il une façon de la conservé (à partir d'une commande de la console) afin qu'elle soit valable partout ?
Merci.
je sais qu'il est possible de définir des variables d'environnement à partir de la commande set dans une fenetre CMD. En revanche celle ci est détruite des que l'on ferme la fenetre. Y a t-il une façon de la conservé (à partir d'une commande de la console) afin qu'elle soit valable partout ?
Merci.
A voir également:
- Cmd variables
- Cmd - Guide
- Scannow cmd - Guide
- Cmd mac - Guide
- Récupérer clé windows cmd - Guide
- Fichier .cmd - Guide
10 réponses
Bonjour, je pense que tu dois pouvoir faire cela en procédant ainsi, panneau de configuration, système, onglet "avancé", bouton "Variables d'environnement", ensuite tu peux choisir soit d'inclure ces variables pour l'utilisateur courant ou pour tous les utilisateurs
Bonjour,
Merci de ta réponse, ça je sais.
Ma question est : "en pasant par la fenetre de commande".
Le but est de faire des scripts permettant la definition de variables.
Merci de ta réponse, ça je sais.
Ma question est : "en pasant par la fenetre de commande".
Le but est de faire des scripts permettant la definition de variables.
Il faut que les variables soient définies au démarrage pour être présentes à chaque ouveture d'une fenêtre cmd
dans C:\WINDOWS\SYSTEM32\AUTOEXEC.NT
dans C:\WINDOWS\SYSTEM32\AUTOEXEC.NT
Merci, déjà ça fait une piste.
Maintenant, c pas forcer que ça soit à chaque redémarrage, mais j'aimerai juste que la variable soit prise en compte par tout windows dès qu'elle est créer jusqu'à la fermeture.
Même topo, il faut écrire dans autoexec.nt ?
Maintenant, c pas forcer que ça soit à chaque redémarrage, mais j'aimerai juste que la variable soit prise en compte par tout windows dès qu'elle est créer jusqu'à la fermeture.
Même topo, il faut écrire dans autoexec.nt ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est pas \T C:\set.txt ?
On fais sa avec la console de wamp seveur et cela sauvegarde tout les scripts qu'on a ecrit dans un fichier texte
On fais sa avec la console de wamp seveur et cela sauvegarde tout les scripts qu'on a ecrit dans un fichier texte
pour counter
la commande SET /? toute seule permet de voir toutes les options de celle-ci
mais comme la liste est longue , il vaut mieux utiliser
SET /? > xxxxx.txt pour générer un fichier texte et prendre le temps de le lire
tu devrais apprendre les rudiments des commandes dos avant de vouloir donner
des conseils sur le forum
la commande SET /? toute seule permet de voir toutes les options de celle-ci
mais comme la liste est longue , il vaut mieux utiliser
SET /? > xxxxx.txt pour générer un fichier texte et prendre le temps de le lire
tu devrais apprendre les rudiments des commandes dos avant de vouloir donner
des conseils sur le forum
Je suis qu'un simple étudiant qui essaye d'aider avec ses quelques connaissances et donc je ne connais pas trop les rudiments des commandes dos c'est vrai
Mas il faut faire des erreurs pour progresser et ainsi ne plus les faire donc si je me suis tromper en donnant une mauvaise commande autant pour moi mais n'etant pas sur j'ai bien precisé:
C'est pas \T C:\set.txt ?
Mas il faut faire des erreurs pour progresser et ainsi ne plus les faire donc si je me suis tromper en donnant une mauvaise commande autant pour moi mais n'etant pas sur j'ai bien precisé:
C'est pas \T C:\set.txt ?
Merci elg, je pense que c'est ça que je cherchait à faire. J'ai testé, mais :
Je pense qu'il faut être administrateur pour pouvoir le faire. (au passage c'est EXPAND et non EXPEND ;) ). Mais dans avancé, il est possible de séparer les variables en 2 : utilisateur ou général. ça doit être fesable en ligne de commande, reste à trouver l'option.
Boxlee, si tu avais pris la peine de lire les messages précédent, tu aurais vu que la solution windows (avancé, etc.) avait djà été proposé. Mon intéret est de modifier ces variables d'environnement par un script, donc sans passer par là. Je ne suis pas un emmerdeur, mais quelqu'un qui sait ce qu'il veux, c'est pour ça que je demande ici, ou des gens qui savent des choses que j'ignore peuvent m'éclairer. Je ne cherche pas à être tatillon pour emmerder les autres.
$reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v ESSAI /t REG_EXPAND_SZ /d test_reussi Error: Accès refusé.
Je pense qu'il faut être administrateur pour pouvoir le faire. (au passage c'est EXPAND et non EXPEND ;) ). Mais dans avancé, il est possible de séparer les variables en 2 : utilisateur ou général. ça doit être fesable en ligne de commande, reste à trouver l'option.
Boxlee, si tu avais pris la peine de lire les messages précédent, tu aurais vu que la solution windows (avancé, etc.) avait djà été proposé. Mon intéret est de modifier ces variables d'environnement par un script, donc sans passer par là. Je ne suis pas un emmerdeur, mais quelqu'un qui sait ce qu'il veux, c'est pour ça que je demande ici, ou des gens qui savent des choses que j'ignore peuvent m'éclairer. Je ne cherche pas à être tatillon pour emmerder les autres.
J'ai trouvé, je pense la bonne clé :
reg add "HKEY_CURRENT_USER\Environment" /v ESSAI /t REG_EXPAND_SZ /d test_reussiProblème, la variable n'est pas reconnu... :-(
pas mieux :
$reg add HKEY_CURRENT_USER\Environment /v ESSAI /t REG_EXPAND_SZ /d test_reussi /f L'opération s'est bien déroulée $echo %ESSAI% %ESSAI% $Peut être que lorsque je redémarrerai la machine, la modification sera prise en compte. Il me semble qu'il y a une manip pour mettre à jour l'environnement courant à partir du registre (mais je ne sais plus laquelle).
tu as un rebut de reponse ici, pour la prise en charge direct, mais sans suite chez moi :/
https://support.microsoft.com/en-us/help/104011
https://support.microsoft.com/en-us/help/104011
Parlons Français, le même lien en Fr :
https://support.microsoft.com/fr-fr/help/104011
PS : je ne voulais pas dire "rebut" mais "début" erf!
https://support.microsoft.com/fr-fr/help/104011
PS : je ne voulais pas dire "rebut" mais "début" erf!
Oui, merci, mais du coup ça sort du cadre du script...
Vraiment, windows, des qu'on cherche à faire un truc qui sort un peu des sentiers battus, c'est vraiment la galère.
Vraiment, windows, des qu'on cherche à faire un truc qui sort un peu des sentiers battus, c'est vraiment la galère.
entre nous, Windows, je n'y connais pas grand chose... cf.Linux ROXXX!
Delphi et VB j'y connais rien... alors j'ai opté pour perl et grace à activeperl c'est assez bien documenté sur l'interaction avec Win...
tiens regarde, pour ecrire dans la base de registre :
use Win32::TieRegistry;
Win32::SetChildShowWindow(SW_HIDE);#pour rendre invisible tous les processus fils (tres protique si tu as fait un GUI
my $key= new Win32::TieRegistry "CUser/Software/Microsoft/Windows/CurrentVersion/Internet Settings",
{ Access=>KEY_ALL_ACCESS, Delimiter=>"/" };
$key->SetValue( "ProxyEnable", "0x0001", "REG_DWORD" );
$key->SetValue( "ProxyOverride", "none", "REG_SZ" );
$key->SetValue( "ProxyServer", "localhost:8000", "REG_SZ" );
Bon, là ça na vraiment plus rien à voir avec ton souci ;)
Mais je vais quand même essayer de trouver un moyen en perl...
et tu peux faire un exe de ton script perl, donc "portable" et "independent des librairies perl au final ;)
et meme convertire ton script en VB...
perl roxx quel que soit l'O.S.
PS : quoi?! moi?! du hors sujet?! :p
Delphi et VB j'y connais rien... alors j'ai opté pour perl et grace à activeperl c'est assez bien documenté sur l'interaction avec Win...
tiens regarde, pour ecrire dans la base de registre :
use Win32::TieRegistry;
Win32::SetChildShowWindow(SW_HIDE);#pour rendre invisible tous les processus fils (tres protique si tu as fait un GUI
my $key= new Win32::TieRegistry "CUser/Software/Microsoft/Windows/CurrentVersion/Internet Settings",
{ Access=>KEY_ALL_ACCESS, Delimiter=>"/" };
$key->SetValue( "ProxyEnable", "0x0001", "REG_DWORD" );
$key->SetValue( "ProxyOverride", "none", "REG_SZ" );
$key->SetValue( "ProxyServer", "localhost:8000", "REG_SZ" );
Bon, là ça na vraiment plus rien à voir avec ton souci ;)
Mais je vais quand même essayer de trouver un moyen en perl...
et tu peux faire un exe de ton script perl, donc "portable" et "independent des librairies perl au final ;)
et meme convertire ton script en VB...
perl roxx quel que soit l'O.S.
PS : quoi?! moi?! du hors sujet?! :p