Ligne commande avancé: Détermination OS

Résolu
Lequestionneur Messages postés 88 Statut Membre -  
Lequestionneur Messages postés 88 Statut Membre -
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...
A voir également:

3 réponses

Groarh Messages postés 706 Statut Membre 185
 
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 ;)
0
dubcek Messages postés 19023 Date d'inscription   Statut Contributeur Dernière intervention   5 640
 
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
)
0
Lequestionneur Messages postés 88 Statut Membre 5
 
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

0
dubcek Messages postés 19023 Date d'inscription   Statut Contributeur Dernière intervention   5 640
 
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
	)
)
0
Lequestionneur Messages postés 88 Statut Membre 5
 
Ok, Merci BEAUCOUP c'est beaucoup plus clair pour moi.

merci
0