Connaître l'OS

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
Avatar du membre
smumu
Batcheur occasionnel
Messages : 6
Enregistré le : 27 juin 2009 23:56
Localisation : Chez moi
Contact :

Connaître l'OS

Message 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 :)
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

Re: Connaître l'OS

Message par Laddy »

Bonjour
une solution possible

Code : Tout sélectionner

@echo off
ver.exe 
pause
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
Avatar du membre
smumu
Batcheur occasionnel
Messages : 6
Enregistré le : 27 juin 2009 23:56
Localisation : Chez moi
Contact :

Re: Connaître l'OS

Message 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
smumu

dev web HTML/CSS/PHP(MySQL)
dev Windows batch
dev PSP lua
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

Re: Connaître l'OS

Message 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.
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
Bigfish
Batcheur débutant
Messages : 26
Enregistré le : 08 août 2008 18:46

Re: Connaître l'OS

Message 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+
Avatar du membre
smumu
Batcheur occasionnel
Messages : 6
Enregistré le : 27 juin 2009 23:56
Localisation : Chez moi
Contact :

Re: Connaître l'OS

Message 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 ?
smumu

dev web HTML/CSS/PHP(MySQL)
dev Windows batch
dev PSP lua
Devatoria
Batcheur débutant
Messages : 10
Enregistré le : 10 sept. 2009 10:59
Localisation : Saint-Etienne

Re: Connaître l'OS

Message 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.
Dev :

BATCH, xHTML 1.0 Strict, CSS, PHP, SQL, ASP.NET, VB.NET, VBS.
Répondre