IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Récupérer le chemin du "Menu Démarrer" [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre éclairé

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 601
    Par défaut Récupérer le chemin du "Menu Démarrer"
    Bonjour à tous,

    Je désespère depuis quelques temps car je n'arrive pas à trouver une solutions à ce pb. Voici mes contraintes:

    Je fais un batch pour installer silencieusement plusieurs applications.
    Pour certaines je passe par le dézippage d'un fichier zip dans program files
    Je sais gérer les différents chemin en fonctions des différentes version de windows.... (de façon basique=> adresse en dur c:\.....etc...)

    Le problème se complique avec l'adresse du menu démarrer (all users) car apparemment la présence de l'accent pose problème.... surtout pour la version XP car pas d'accent dans vista / W7 et W8

    A force de chercher je me suis rendu compte que plusieurs solutions existaient mais je n'ai pas réussi à les mettre en oeuvre....

    1) enregistrer d'une certaine façon mon fichier batch pour que l'accent ne pose pas de pb.....

    2) récupérer l'adresse du menu démarrer commun dans le registre (je pense que c'est la meilleure façon car du coup peu importe la version de Windows (si la clé est la même.. vous confirmez ?)

    Voila ce que j'ai réussi à coder:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    setlocal ENABLEEXTENSIONS
     set KEY_NAME="HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
     set VALUE_NAME="Common Start Menu"
    rem for /F "usebackq tokens=3" %%A IN (`reg query %KEY_NAME% /v "%VALUE_NAME%="`) do echo %%A
    J'avoue ne pas comprendre tous les paramètres utilisés pour lire une clé de registre.... si vous pouviez m'éclairer je serai ravi !

    J'ai aussi testé ceci que j'ai trouvé sur le forum....mais...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Pour récupérer la valeur d'une clé :
    For /f "Skip=4 Tokens=3" %%i In ('Reg Query XXX /v DisplayName') Do YYY
    3) l'utilisation d'un exécutable tiers.... j'ai vu sur le forum "NirCmd".
    Cette solution me semble aussi intéressante bien que je préfèrerai ne pas utiliser de fichier tiers.... (pas encore tester mais me semble assez facile à utiliser)

    4) Peut être y a-t-il autre chose que je n'ai pas encore découvert.

    Je vous remercie pour l'aide que vous pourrez m'apporter....

  2. #2
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Salut,

    Oui le plus simple c'est d'écrire ton chemin au format OEM, ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %alluserprofile%\menu d‚marrer\Programmes

  3. #3
    Membre éclairé

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 601
    Par défaut
    Merci pour cette réponse..... malheureusement ça plantait encore.... Mais j'ai trouvé !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "%ALLUSERSPROFILE%\menu d‚marrer\Programmes\"
    Il faut respecter les majuscules et ne pas oublier le "\" à la fin....

    Merci....
    Ceci dit ça m'intéresse quand même de savoir récupérer la valeur dans le registre.....

  4. #4
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Citation Envoyé par mnssylvain Voir le message
    Il faut respecter les majuscules et ne pas oublier le "\" à la fin....
    non, c'est moi qui ai fait une faute de frappe, il manquait le s pour users dans mon message.

    Citation Envoyé par mnssylvain Voir le message
    Ceci dit ça m'intéresse quand même de savoir récupérer la valeur dans le registre.....
    Dans ce cas tu peux utilement voir l'aide en ligne de la commande reg en tapant
    reg /? sur ta console puis reg query /?, il y a des exemples.

    pareil pour for avec for /? et findstr /? qui te servira pour filtrer l'entête de la commande reg.

    Avec tout ça, tu devrais t'en sortir. Si c'est pas le cas, il te suffira de revenir le dire et on fera un petit bout de code...

  5. #5
    Membre éclairé

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 601
    Par défaut
    COOL

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/02/2010, 04h44
  2. Récupérer les programmes du menu démarrer
    Par smyley dans le forum Windows
    Réponses: 2
    Dernier message: 07/07/2008, 13h18
  3. Réponses: 4
    Dernier message: 29/11/2005, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo