Variables et conditions IF pour commande GREP [DOS] - Shell/Batch - Programmation
Marsh Posté le 10-11-2006 à 19:20:02
Sous DOS ou le batch Windows ? Il y a beaucoup de différences, même si ce n'est pas le cas dans cet exemple.
Renseigne-toi sur ErrorLevel.
La syntaxe :
set VAR=commande
n'existe pas.
Dans ton cas, t sera une valeur chaîne. Fais :
echo %t%
pour comprendre.
Marsh Posté le 10-11-2006 à 22:41:47
Pardon, Batch Windows en fait.
Oui sinon j'avais bien compris :
"Mais evidemment ca ne marche pas, car la variable t prend comme valeur "grep -c "ORA-" monfichier.log" au lieu de O ou 1 ... "
Marsh Posté le 11-11-2006 à 06:13:19
| wizdom a écrit : |
Désolée d'avoir zappé ce passage.
Mais tu as zappé aussi ma deuxième ligne. ![]()
Marsh Posté le 11-11-2006 à 12:22:09
Oui, le Errorlevel ?
Ben non ca ne sert qu'à récuperer des codes d'erreurs.
Par exemple :
grep -c "ORA-" toto.txt
echo %ERRORLEVEL%
Si toto.txt existe, je récupère la valeur 0 avec le Errorlevel.
Si toto.txt n'existe pas je récupère la valeur 2.
Mais en aucun cas le errorlevel me renvoi le contenu du résultat de la commande grep...
Hélas ![]()
Marsh Posté le 10-11-2006 à 17:10:55
Bonjour !
J'ai actuellement un shell Unix qui me permet de déterminer si un import Oracle à fonctionné ou pas (en effectuant une recherche sur la chaine "ORA-" dans le fichier de log).
En clair ca donne ca (dans le principe) :
Avec cette commande GREP on peut faire des choses vraiment très sympa. Du coup j'ai réessayé de faire la meme chose sous DOS. J'ai d'abord cherché un équivalent à grep en version Windows, ce que j'ai trouvé ici :
http://pages.interlog.com/~tcharron/grep.html
Ca date un peu mais ca marche toujours très bien !
La commande "grep -c "ORA-" monfichier.log" renvoi 0 si la chaine "ORA-" n'a pas été trouvée dans le fichier monfichier.log. Sinon elle renvoi le nombre d'occurences de la chaine "ORA-".
Mais après je ne sais pas comment stocker ce résultat dans une variable DOS et tester sa valeur ?
J'ai testé ca :
Mais evidemment ca ne marche pas, car la variable t prend comme valeur "grep -c "ORA-" monfichier.log" au lieu de O ou 1 ...
Donc si un pro du DOS pouvait me dire comment faire ca , ce serait vraiment super ! Toutes les bidouilles bilousiennes sont permises