Page 1 sur 1

Connaître l'OS

Posté : 28 juin 2009 13:52
par smumu
Re-bonjour !

C'est encore moi. :D
Je poste une deuxième fois parce que j'ai une autre question à poser.

Y a-t-il une commande qui renvoie la version de Windows ?
Je veux que le batch détecte si c'est Vista ou XP (la version pro, familiale ou autre, je m'en fou).

Merci d'avance pour vos réponses
smumu :)

Re: Connaître l'OS

Posté : 29 juin 2009 14:34
par Laddy
Bonjour
une solution possible

Code : Tout sélectionner

@echo off
ver.exe 
pause

Re: Connaître l'OS

Posté : 29 juin 2009 15:52
par smumu
Oui mais ver (le .exe n'est pas obligatoire) ne retourne pas de variable ou un truc comme ça.
Mais j'ai réfléchis et trouvé une solution :
écrire le ver dans l'OS avec

Code : Tout sélectionner

ver > os.txt
et récupérer une chaine de caractère dans le fichier (j'avais vu comment faire quelque part, je retrouverais le site).

Merci pour le nom de la fonction, ça m'a aidé ! :P

Re: Connaître l'OS

Posté : 30 juin 2009 07:48
par Laddy
La variable c'est à toi de la créer dans ton batch, le ver.exe était pour signifier que c'était un executable, une commande, parfois il est obligatoire pour être executer.

Re: Connaître l'OS

Posté : 01 juil. 2009 11:24
par Bigfish
Salut,

il est possible de simplifier la recuperation du resultat de la commande ver en recuperant ce resultat directement dans une variable:

Code : Tout sélectionner

for /f "tokens=*" %%d in ('ver') do set VersionOS=%%d
echo %VersionOS%
 
ATTENTION: %%d fonctionne dans un fichier.bat pour une utilisation en direct dans une fenetre ms-dos il faut remplacer %%d par %d

A+

Re: Connaître l'OS

Posté : 06 juil. 2009 18:20
par smumu
Effectivement, c'est pratique !

Le problème, c'est que je veux juste savoir si c'est XP ou Vista.
Et si c'est Vista alors faire bidule.
Si c'est XP alors faire ça.

Je connait les if et else mais comment faire ce code ?

Re: Connaître l'OS

Posté : 11 sept. 2009 17:46
par Devatoria
Chalut.

Bon, le post date un peu, mais pour ceux que sa peut intéresser, je vais mettre ma solution.

Code : Tout sélectionner

@echo off

ver.exe > temp.txt

findstr /C:"XP" temp.txt
if %errorlevel%==0 goto xp

findstr /C:"Vista" temp.txt
if %errorlevel%==0 goto vista

if %errorlevel%==1 goto error

goto fin

:xp
echo Vous ˆtes sous XP !
goto fin

:vista
echo Vous ˆtes sous Vista !
goto fin

:error
echo Votre version de Windows n'est pas compatible avec ce programme, d‚sol‚ !
goto fin

:fin
del temp.txt
pause
Bon, c'est un peu "moche" comme méthode, mais ça marche ! (Sous XP en tout cas, sous Vista je n'ai pas essayé.)
Ensuite, il suffit de mettre le code approprié à XP dans l'étiquette :xp, et celui de vista dans :vista.

Voilà, bye.