Version de windows et sortir un errorlevel pour les scripts dos

Soyez le premier à donner votre avis sur cette source.

Vue 11 050 fois - Téléchargée 514 fois

Description

Ce code permet de remonter la version de Windows et en quittant de sortir un ERRORLEVEL correspondant à l'OS trouvé, ceci permet de récuperer cet ERRORLEVEL dans un fichier de commandes MS DOS.

Conclusion :


exemple de script MS DOS pour traiter l'ERRORLEVEL :

START /W c:\\projet1.exe

IF ERRORLEVEL 7 GOTO winXP
IF ERRORLEVEL 6 GOTO win2000
IF ERRORLEVEL 5 GOTO winNT
IF ERRORLEVEL 4 GOTO win98b
IF ERRORLEVEL 3 GOTO win98a
IF ERRORLEVEL 2 GOTO win95b
IF ERRORLEVEL 1 GOTO win95a

goto fin

:win95a
ECHO windows 95a
pause
GOTO fin

:win95b
ECHO windows 95b
pause
GOTO fin

:win98a
ECHO windows 98a
pause
GOTO fin

:win98b
ECHO windows 98b
pause
GOTO fin

:winNT
ECHO windows NT
pause
GOTO fin

:win2000
ECHO windows 2000
pause
GOTO fin

:winXP
ECHO windows XP
pause
GOTO fin

:fin
echo

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
5
Je pense que tu n'a pas compris
le programme VB du zip ne cherche pas a obtenir le code de sortie d'un programme mais a generer un code de sortie lorsqu'il est quitté.
Ce code de sortie est récupéré dans un fichier de commande BAT et suivant le code de sortie cela me permet dans mon fichier de commande BAT de connaitre la version de windows, cela meut servir par exemeple dans les scripts de connexion a un domaine pour diffuser des patchs Windows qui sont souvent spécifique a un OS.

Donc je repete, dans ce code source, je ne veux pas recuperer le code de sortie d'un autre programme mais je veux que mon programme genere un code de sortie ou errorlevel pour DOS.
dans l'explication final de ce code source il y a un exemple de fichier BAT pour une utilisation en reel il suffit de remplacer les ECHO .... par des actions DOS genre : call KB852732.exe /quiet /norestart

et je n'ai pas compris ta question : " ??? c quoi le f**k??? "
Messages postés
216
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 mai 2004

??? c quoi le f**k???
Messages postés
216
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 mai 2004

C'est ceci pour obtenir le code de sortie d'un programme :
<
Declare Function GetExitCodeProcess Lib "kernel32" Alias "GetExitCodeProcess" (ByVal hProcess As Long, lpExitCode As Long) As Long
>
hProcess est le handle du process et lpExitCode est la varaible long qui va recevoir le code. Retourne 0 en cas de probs.
Messages postés
216
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 mai 2004

C'est ceci pour obtenir le code de sortie d'un programme :
<
Declare Function GetExitCodeProcess Lib "kernel32" Alias "GetExitCodeProcess" (ByVal hProcess As Long, lpExitCode As Long) As Long
>
hProcess est le handle du process et lpExitCode est la varaible long qui va recevoir le code. Retourne 0 en cas de probs.
Messages postés
216
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 mai 2004

LOL. 1 zip pour ça?. La chose interressante est ceci :
<
Declare Sub ExitProcess Lib "Kernel32" (ByVal uExitCode As Long)
>

Cette api permet de fermer le programme en lui fesant retourner un numéro qu'on récupère :
IF ERRORLEVEL # GOTO "étiquette dans la batch"

On doit probablement pouvoir obtenir ce code dans VB à l'aide de CreateProcess ou autre...
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.