Variable : version de Windows
Fermé
Bonjour,
Je voudrais savoir quelle commande (ou script) me permettrait de faire une action ou une autre selon la version de Windows... Par exemple :
si Windows est Windows XP
echo C'est un XP
si Windows est Vista
echo c'est un foutu Vista
il me faut juste 2 conditios : pour Windows XP et Vista ( comme dans l'exemple )
J'ai cherché par moi même mais je suis pas assez expérimenté... En fait je connais presque rien
Merci d'avance
Je voudrais savoir quelle commande (ou script) me permettrait de faire une action ou une autre selon la version de Windows... Par exemple :
si Windows est Windows XP
echo C'est un XP
si Windows est Vista
echo c'est un foutu Vista
il me faut juste 2 conditios : pour Windows XP et Vista ( comme dans l'exemple )
J'ai cherché par moi même mais je suis pas assez expérimenté... En fait je connais presque rien
Merci d'avance
A voir également:
- Variable : version de Windows
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Variable d'environnement temp - Forum Word
- Msgbox vba variable ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
13 réponses
Alors alors,
ce code est parfait en ce qui concerne Windows XP mais quand ça concerne Vista... En fait, la commande "ver" dans Vista donne quelque chose comme : Microsoft Windows [version 6.0.quelquechose] donc ça ne marche pas... Je pense qu'il faut se baser sur le numéro de version ( 5 pour XP et 6 pour Vista ) pour que ce code marche dans les deux Windows... Une idée ?
Merci d'avance
ce code est parfait en ce qui concerne Windows XP mais quand ça concerne Vista... En fait, la commande "ver" dans Vista donne quelque chose comme : Microsoft Windows [version 6.0.quelquechose] donc ça ne marche pas... Je pense qu'il faut se baser sur le numéro de version ( 5 pour XP et 6 pour Vista ) pour que ce code marche dans les deux Windows... Une idée ?
Merci d'avance
Ton idée sur le numéro était pas mal réfléchie mais quand tu regardes le VER de Windows, tu trouves [version 5.0.2600] donc un 6...
mais je pense que la deuxième idée est l'idéale
merci beaucoup !
mais je pense que la deuxième idée est l'idéale
merci beaucoup !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Vista me dit qu'ELSE n'est pas un programme ou une commande reconnue... Etrange.... :s
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
3 oct. 2008 à 19:05
3 oct. 2008 à 19:05
Il faut veiller à ce qu'il y ait un espace entre la ")" et le premier "E" du ELSE et également entre le "E" final et la "(".
Sinon je ne vois pas pourquoi tu as ce message.
Sinon je ne vois pas pourquoi tu as ce message.
Finalement je vais essayer une autre technique : nous avons :
- sous Windows XP, "Microsoft Windows XP"
- sous Win Vista, "Microsoft Windows [version 6.0.1600]
IF "%version_W%" == "XP" (
C'est un XP )
IF "%version_W%" == "[v" (
C'est un foutu Windows
Cela fonctionnerait-t'il ? Je ne peux pas tester pour l'instant, je ne pourrais essayer que ce soir
merci d'avance
- sous Windows XP, "Microsoft Windows XP"
- sous Win Vista, "Microsoft Windows [version 6.0.1600]
IF "%version_W%" == "XP" (
C'est un XP )
IF "%version_W%" == "[v" (
C'est un foutu Windows
Cela fonctionnerait-t'il ? Je ne peux pas tester pour l'instant, je ne pourrais essayer que ce soir
merci d'avance
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
3 oct. 2008 à 19:18
3 oct. 2008 à 19:18
Je ne pense pas que cela fonctionne de cette manière. Dans la variale %%K tu auras "[version"
De cette manière ça doit fonctionner (à tester sous Vista)
IF "%version_W%" == "XP" ( C'est un XP ) IF "%version_W%" == "[v" ( C'est un foutu Windows )
De cette manière ça doit fonctionner (à tester sous Vista)
IF "%version_W%" == "XP" ( C'est un XP ) IF "%version_W%" == "[version" ( C'est un foutu Windows )
Eh bien on peu clore ce sujet par un magnifique [Résolu] !
merci beaucoup à toi christian
merci beaucoup à toi christian
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
3 oct. 2008 à 22:41
3 oct. 2008 à 22:41
A bientôt peut-être sur CCM, bon courage,
Dernière nouvelle, ma variable était en fait pour copier un fichier dans C:/Documents and Settings/%user%/ et apparemment, la commande %homedrive% permet d'y accéder quel que soit la version de Windows et l'utilisateur...
Je travaille dessus
P.S : quelqu'un aurait une variable permettant de savoir dans quel disque se situe le script ?
Je travaille dessus
P.S : quelqu'un aurait une variable permettant de savoir dans quel disque se situe le script ?
Petite erreur de ma part, c'est pas %homedrive% qui permet ça mais %homedrive%%homepath% ou %userprofile%
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
1 oct. 2008 à 22:40
1 oct. 2008 à 22:40
Bonsoir,
Je te propose ce qui suit en MS-DOS:
Je te propose ce qui suit en MS-DOS:
SETLOCAL ENABLEdelayedExpansion SETLOCAL ENABLEextensions CLS rem INFORMATIONS (sous windows XP) : rem Cette commmande affiche : Microsoft Windows XP [version 5.1.2600] VER rem rem Cette commmande affiche : Windows_NT ECHO %os% rem Moyen d'identifier la version XP ou Vista : FOR /F "tokens=1-4*" %%I IN ( ' VER ^| FIND "Windows" ') DO ( SET "version_W=%%K" ) IF "%version_W%" == "XP" ( ECHO C'est un XP ) rem ici je présume que le libellé est "Vista". Je ne peux pas faire le test je rem suis sous XP. IF "%version_W%" == "Vista" ( ECHO C'est un foutu Vista ) pause
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
1 oct. 2008 à 22:44
1 oct. 2008 à 22:44
Tiens-moi informé, à demain.
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
2 oct. 2008 à 19:15
2 oct. 2008 à 19:15
Bonsoir,
Compte tenu du message de la commande VER ( Microsoft Windows [version 6.0.quelquechose) qui ne contient pas le mot Vista en lieu et place de XP, ce qui a pour effet d'éliminer l'avantage du "positionnel" (position des groupes de c. séparés par un espace au moins, dans les deux messages)) :
Microsoft Windows [version 6.0.quelquechose]
comparé à
Microsoft Windows XP [version 5.1quelquechose]
La recherche sur un numéro (5. ou 6.) semble raisonnable (il est peu probable de trouver à terme une version 5.6.1 par exemple pour windows XP ou l'équivalent pour Vista). Dans ce cas on peut programmer comme ceci :
Autre possibilité :
Si tu es certain de n'exécuter ce batch tel qu'il est, que sur les deux systèmes XP OU Vista, on peut aussi procéder par élimination (si ce n'est pas l'un, c'est l'autre) sans changer autre chose au code existant.
Dis-moi ce que tu en penses.
Compte tenu du message de la commande VER ( Microsoft Windows [version 6.0.quelquechose) qui ne contient pas le mot Vista en lieu et place de XP, ce qui a pour effet d'éliminer l'avantage du "positionnel" (position des groupes de c. séparés par un espace au moins, dans les deux messages)) :
Microsoft Windows [version 6.0.quelquechose]
comparé à
Microsoft Windows XP [version 5.1quelquechose]
La recherche sur un numéro (5. ou 6.) semble raisonnable (il est peu probable de trouver à terme une version 5.6.1 par exemple pour windows XP ou l'équivalent pour Vista). Dans ce cas on peut programmer comme ceci :
FOR /F %%I IN ( ' VER ^| FINDSTR /C:"5." ') DO ( ECHO C'est un XP ) FOR /F %%I IN ( ' VER ^| FINDSTR /C:"6." ') DO ( ECHO C'est un foutu Vista )
Autre possibilité :
Si tu es certain de n'exécuter ce batch tel qu'il est, que sur les deux systèmes XP OU Vista, on peut aussi procéder par élimination (si ce n'est pas l'un, c'est l'autre) sans changer autre chose au code existant.
IF "%version_W%" == "XP" ( ECHO C'est un XP ) ELSE ( ECHO C'est un foutu Vista )
Dis-moi ce que tu en penses.
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
2 oct. 2008 à 22:55
2 oct. 2008 à 22:55
Oui, mais le 6 de 5.0.2600 n'est pas suivi par un . (point) et l'on teste "5." et "6.". Mais de toute façon c'est scabreux.
Puisque la seconde solution te convient ce n'est pas plus mal.
Bon courage ! Merci pour le retour,
Puisque la seconde solution te convient ce n'est pas plus mal.
Bon courage ! Merci pour le retour,