Je fais appel aux anciens.... j'ai besoin de récupérer sous DOS le contenu de la variable système errorlevel et je n'arrive plus à me souvenir comment faire.
Si quelqu'un pouvait m'aider rapidement....
Merci d'avance,
Rondbleu
Ou echo %errorlevel% > Variable.txt
Pour l'écrire dans Variable.txt
Jef
ipl
Contributeur sécurité
>>>correspondances des valeurs affectées à errorlevel !
Les errorlevels sont les réponses renvoyées par le "logiciel interrogé"... quel est ton logiciel ?
rondbleu
Auteur
C'est celui que je supporte (je fais du support technique) et justement, une personne se plaint que la valeur du errorlevel est toujours à 0. Or en faisant le test, j'ai 9009 !
Je vais continuer à chercher...
Merci beaucoup de votre aide à tous.
la variable errorlevel il ne faut pas la changer manuellement(ni dans un bat) paske sinon après elle ne retourne plus rien ......
seul le systeme dois le changer ....
kan errorlevel est different de 0 c k'il y a eu une erreur .....
seul le zero indik le bon fonctionnement !!!
padaventuriersousDOS !
rondbleu
@_jeune_padawan_Je crois aussi que cette variable contient la valeur du dernier "process" éxécuté. Il semble donc que plusieurs programmes peuvent mettre à jour cette variable. Il faut donc récupérer au plus vite la valeur insérée par le logiciel que l'on désire "ausculter".
En tous cas, votre aide à tous m'a permis de me sortir de cet appel. Je vous remercie tous.
Juste une petite réponse à "padaventuriersousDOS", cela fait des lustres que je n'ai plus utilisé de telles commandes mais je jure sur la bible (du DOS bien sûr) avoir fait de tels trucs il y a quelques années ;-o
MERCI MERCI MERCI MERCI MERCI MERCI MERCI
ipl
Contributeur sécurité
Je réponds à quelques vieux posts :
_jeune_padawan_ (05/11 à 15:54 GMT+1)
dans un bat il fo pas metre de guillemets .... sinon ca marche po ;-p
pad'guimmets ....
System Admin : (31/10 à 16:59 GMT+1)
IF "%ERRORLEVEL%" == "1" goto full
IF "%ERRORLEVEL%" == "0" goto broot
:full
echo "ça marche"
goto FIN
:broot
echo "PUTAIN MERDE CA PLANTE"
goto FIN
:FIN
-----
Les guillemets de ECHO sont inutiles et seront affichés sur l'écran !
Les guillemets de IF "%ERRORLEVEL%" == "1" sont inutiles, du moins sous cette forme (encadrement) ; il est bon de mettre un signe quelconque pour le cas où la variable testée serait vide ou inexistante
Les % sont inutiles dans le cas de errorlevel.
if errorlevel"==1" est une bonne habitude
ou encore mieux s'il y a une longue série de tests
if errorlevel"==" goto absent
if errorlevel==1 goto 1
etc.
car si la variable est vide, le test deviendrait if ==1 et Dos n'aime pas çà !
P.S. :
Les % sont à utiliser dans le cas de paramètres passés sur la ligne de commande... %1
ou dans le cas d'une variable de la "région de communication" comme %WINDIR% (peut-être créée par le .bat)
ou dans le cas d'une variable de boucle.
Voilà j'ai tout dit !
batmat
Sous Linux pour connaitre le contenu d'une variable d'environnement c 'est:
echo $NOMVARIABLE
il me semble que c pareil ou proche sous DOS
@+
rondbleu
Auteur
Merci d'avoir répondu. Malheureusement, je sais que c'est quelque chose de proche mais je ne me rappelle plus. J'ai testé :
- echo %errorlevel => résultat : %errorlevel
- echo $errorlevel => résultat : $errorlevel
- echo errorlevel => résultat : errorlevel
- print .... => can't find the file specified
....
Je craque et cherche sur internet mais n'arrive pas à trouver !
Merci tout de même,
Rondbleu
system admin
@rondbleusi tu es dans un bat
tu fais echo "%ERRORLEVEL%"
ou un truc pour tester
IF "%ERRORLEVEL%" == "1" goto full
IF "%ERRORLEVEL%" == "0" goto broot
:full
echo "ça marche"
goto FIN
:broot
echo "PUTAIN MERDE CA PLANTE"
goto FIN
:FIN
rondbleu
Auteur
@system adminYahoooo ! Ca marche ! Merci, c'est seulement le deuxième % qui me manquait !
system admin
@rondbleuTu vois je suis bon quand meme.
tiens un truc
pour mettre une valeur a une variable suite a un résultat
genre sous unix tu fais:
une commande ma genere le resultat dans un fichier texte toto.txt
je fais
set NOM=`cat toto.txt`
ma variable NOM est égal au resultat de la commande cat toto.txt
cat c est comme type sous dos.
bon mais sous DOS je suis un peu dans la merde alors voila comment je fais dans .bat
FOR /F %%i in (toto.txt) do set NOM=%%i
c est utile non.
PS:voir l aide de for et de set .
rondbleu
Auteur
@system adminJe dois bien dire que tu es GENIAL. Cela m'a permis d'avancer un peu dans mon test. Je cherche maintenant les correspondances des valeurs affectées à errorlevel !
En tous cas, je te remercie beaucoup.
Rondbleu
Trouvez des réponses à vos questions sur l'exploitation du système d'exploitation Windows, les astuces, et les résolutions de problèmes. Rejoignez une communauté de passionnés de Windows pour une utilisation efficace et productive de votre PC.