[cmd] variables d'environnement

Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -  
 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.
--
Salutation ! Quand on sait pas, on touche pas !JBT
Char Snipeur
Configuration: Windows XP
Firefox 1.0.7

10 réponses

  1. Jimmyb3 Messages postés 1118 Statut Membre 336
     
    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
    2
  2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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.
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
    0
  4. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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 ?
    0
    1. elg
       
      'soir!

      vieux topic, mais un complement s'impose :

      SET /?

      en cmd, et la reponse y sera ;)

      elg
      0
    2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331 > elg
       
      salut.
      Je ne vois pas où !
      0
    3. boxlee Messages postés 633 Statut Membre 87 > Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention  
       
      bonjour

      comme l'a précisé ELG , click sur éxécuter , puis taper cmd

      et ensuite taper SET /? pour avoir toutes les options de cette commande

      ou plutot SET /? > set01.txt ( le fichier set01.txt sera généré ), tu pourras le consulter à ta guise
      0
    4. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331 > boxlee Messages postés 633 Statut Membre
       
      super, mais je n'ai vu nul part dans l'aide où est la solution à mon problème, c'est à dire créer une variable valide au delà de la session cmd en cour !
      0
    5. boxlee Messages postés 633 Statut Membre 87 > Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention  
       
      les fichiers .bat , ça existe, ou alors , tu peux te servir d'un

      langage de programmation ,visual c++, visual basic, delphy, etc, etc...
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. C0uNter Messages postés 951 Date d'inscription   Statut Membre 48
     
    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
    0
    1. boxlee Messages postés 633 Statut Membre 87
       
      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
      0
  7. C0uNter Messages postés 951 Date d'inscription   Statut Membre 48
     
    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 ?
    0
  8. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Merci elg, je pense que c'est ça que je cherchait à faire. J'ai testé, mais :
    $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.
    0
    1. elg
       
      cf. EXPAND oui, dsl, je suis dyslexique ;)... alors si un jour tu vois "example" ecrit comme ça... faut pas s'inquieter ;) et d'ailleurs c'etait pas "doite" mais "doute" que je voulais écrire toute à l'heure lol
      0
  9. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    J'ai trouvé, je pense la bonne clé :
    reg add "HKEY_CURRENT_USER\Environment" /v ESSAI /t REG_EXPAND_SZ /d test_reussi
    Problème, la variable n'est pas reconnu... :-(
    0
    1. elg
       
      essaye :

      reg add HKEY_CURRENT_USER\Environment /v ESSAI /t REG_EXPAND_SZ /d test_reussi /f

      moi ça fonctionne...

      j'etais justement en train de te faire un topo sur ça... donc, plus besoin ;)
      0
      1. elg > elg
         
        au temps pour moi, elle n'est effectivement pas reconnue... suite à echo %ESSAI%
        je croyais que c'etait le terminal qui te disait ça...
        0
  10. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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).
    0
    1. elg
       
      oui, c'est ok apres reboot, je viens de tester ;)
      0
  11. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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.
    0
    1. elg
       
      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
      0