Ligne commande avancé: Détermination OS

Résolu
Bonjour,
Je veux créer un fichier .bat (de lignes de commande), mais avec deux différents si c'est vista ou xp.
je pensais créer un truc du genre:
if /i "OS sur lequel on se trouve" EQU "Vista" "les commandes à éxécuter sous vista"[else "commande à éxécuter sous XP"]

Si qqn pouvait me donner un truc pour mettre à la place de "OS sur lequel on se trouve", ce serait simpa, ou si Il faut utiliser une autre commande: Je suis ouvert à toutes les propositions....

Merci beaucoup d'avance à ceux qui peuvent m'aider...

--
"Le gagnant n'est pas celui qui ne tombe jamais, mais celui qui se relève le plus vite"
"Rien faire est une occupation à plein temps"
Configuration: Windows Vista home premium SP2 Authentique
Firefox 3.5.3
Microsoft office 2007

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Hello,
    j'ai pas Vista sous la main, mais quand je fais
    echo $OS
    sous bash sous XP, j'obtiens "windows NT". Vista aussi est NT, mais c'est pour te donner une piste...
    Si tu sais pas déjà, tu peux voir rapidement toutes les variables d'environnement en allant dans "propriétés" du Poste de travail ("Ordinateur" sous Vista), onglet "Avancé".

    Bon courage ;)
    1. Contributeur
      hello
      utiliser la commande DOS ver , 5 pour XP, 6 pour Vista
      C:>\ ver
      Microsoft Windows XP [version 5.1.2600]
      
      C:>\  aa
      XP
      
      C:>\  type  aa.bat
      @echo off
      
      for /F "tokens=5 delims=. " %%a in ('ver') do (
      if %%a EQU 5 echo XP
      if %%a EQU 6 echo Vista
      if %%a EQU 7 echo Windows 7
      )
      
      1. Merci beaucoup dubcek, mais je suis pas un utilisateur assez avancé pour ca et j'ai quasi rien compris de tout ce que tu as marqué:
        qu'est-ce que je dois écrire dans mon fichier .bat, et ou est-ce que je place les commandes à effectuer sous XP et sous vista???
        Est-il possible de faire un exemple de ce que je dois marquer, mais en mettant "CXP" à l'endroit ou je doit mettre les commandes pour XP et "CVISTA" pour les commandes pour vista...., SVP, merci beaucoup

    2. Contributeur
      comme ça, les commandes après le if sont groupées avec des () :
      @echo off
      
      for /F "tokens=5 delims=. " %%a in ('ver') do (
      if %%a EQU 5 ( echo XP
      	toutes les commandes ici s'exécutent sur XP
      	)
      if %%a EQU 6 ( echo Vista
      	toutes les commandes ici s'exécutent sur Vista
      	)
      )
      
      1. Ok, Merci BEAUCOUP c'est beaucoup plus clair pour moi.

        merci