Rechercher : dans
Par :

Comment avoir le contenu d'une variable DOS ?

Dernière réponse le 7 nov 2001 à 00:52:25 rondbleu, le 31 oct 2001 à 15:13:37 
 Signaler ce message aux modérateurs

Bonjour,

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

Meilleures réponses pour « Comment avoir le contenu d'une variable DOS ? » dans :
[MS-Dos] Lister le contenu d'un répertoire dans un fichier Voir Il peut s'avérer pratique d'effectuer le listage d'un ou plusieurs répertoires dans un fichier, afin de tenir par exemple un catalogue de fichiers. Sous MS-Dos (ou sous Windows en ouvrant une fenêtre d'invite de commande MS-Dos) il est possible...
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF) VoirConversion format de fichier DOS UNIX / UNIX DOS Préambule Ce qu'il faut savoir Conversion DOS vers UNIX Conversion UNIX vers DOS Préambule Il existe déjà des utilitaires (dos2unix et unix2dos) qui s'acquittent très bien ce cette...
Comment récupérer le résultat d'une commande dans une variable VoirComment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...
Systèmes d'exploitation - DOS - Astuces VoirAvoir accès au lecteur de CD-ROM Le lecteur de CD-ROM se déclare dans les fichiers config.sys et autoexec.bat. Dans le fichier config.sys il faut déclarer le gestionnaire de périphérique pour votre lecteur CD-ROM (bien qu'il soit détecté...
Variables d'environnement VoirVariables d'environnement Une variable d'environnement est une valeur dynamique, chargée en mémoire, pouvant être utilisée par plusieurs processus fonctionnant simultanément. Sur la plupart des systèmes d'exploitation, les emplacement de...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...

1

batmat, le 31 oct 2001 à 16:40:19

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
@+

Répondre à batmat

2

rondbleu, le 31 oct 2001 à 16:45:48

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

Répondre à rondbleu

3

system admin, le 31 oct 2001 à 16:59:18

Si 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

Répondre à system admin

4

rondbleu, le 31 oct 2001 à 17:12:35

Yahoooo ! Ca marche ! Merci, c'est seulement le deuxième % qui me manquait !

Répondre à rondbleu

5

system admin, le 31 oct 2001 à 17:23:00

Tu 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 .

Répondre à system admin

6

rondbleu, le 2 nov 2001 à 14:47:41

Je 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

Répondre à rondbleu

9

_jeune_padawan_, le 5 nov 2001 à 15:54:55

Dans un bat il fo pas metre de guillemets .... sinon ca marche po ;-p

pad'guimmets ....

Répondre à _jeune_padawan_

7

ipl, le 2 nov 2001 à 19:22:50

>>>correspondances des valeurs affectées à errorlevel !

Les errorlevels sont les réponses renvoyées par le "logiciel interrogé"... quel est ton logiciel ?

Répondre à ipl

8

rondbleu, le 5 nov 2001 à 09:34:14

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.

Répondre à rondbleu

10

_jeune_padawan_, le 5 nov 2001 à 15:59:08

Juste une petite presision .....

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 !

Répondre à _jeune_padawan_

11

rondbleu, le 6 nov 2001 à 22:11:42

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

Répondre à rondbleu

12

 ipl, le 7 nov 2001 à 00:52:25

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 !

Répondre à ipl