Programme en Batch...

Nicoto -  
 Nicoto -
Bonjour,
J'ai commencé à apprendre le Batch et, pour m'amuser, j'ai essayé de créer un p'tit programme qui pourrait être utile.
Mon "programme" consiste à lire un fichier texte et exécute quelque chose quand il reconnait un mot dans le fichier ! (il n'y en a qu'un, de mot)
Voici le code:
@echo off
set /p var= < mon_fichier.txt
if "%var%"=="bonjour" ( echo Blabla )
pause>nul


Il se trouve justement que la variable var est égale à bonjour. Alors je ne comprends pas pourquoi il n'est pas écrit : Blabla >.< !
Quelqu'un peut-il m'aider? :(
Merci.

P.S. : N'allez pas me dire qu'il y a mieux comme langage informatique ;) . J'ai déjà eu droit à cette phrase dans d'autres forums.


A voir également:

4 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
enlever l'espace après var=
vérifier qu'il n'y a pas d'espace en fin de ligne dans mon_fichier.txt
vérifier en affichant : echo ++%var%++
@echo off  
set /p var=< mon_fichier.txt  
if "%var%"=="bonjour" ( echo Blabla )  
pause>nul  

1
chuka Messages postés 965 Date d'inscription   Statut Membre Dernière intervention   378
 
Salut,
tu peux t'inspirer de cela:
FINDSTR /C:%1 monfichier.txt
if %errorlevel%==0 (echo ok) else (echo errror)

quand tu lances ton batch, en ligne de commande(supposons qu'il se nomme test.bat), tu passe en argument le mot à rechercher....par exemple:
test.bat bonjour
@+
0
Nicoto
 
Salut Chuka et merci pour ta réponse.
J'ai testé ton Batch. Il est écrit qu'il manque un argument après le /C: . Est-ce normal?
Peux-tu m'expliquer un peu plus le code que tu m'as montré? Je ne comprends pas très bien. :S
Pour être plus clair, ce que je voudrais pouvoir faire , c'est d'exécuter qqu chose quand le Batch reconnait le mot... (en locurence, bonjour)
Et si quelqu'un pourrait aussi m'expliquer pour quelle raison mon code ne fonctionne pas, ce ne serait pas de refus.
0
chuka Messages postés 965 Date d'inscription   Statut Membre Dernière intervention   378
 
salut,
FINDSTR /C:%1 monfichier.txt //cherche l'occurrence, dans le fichier monfichier.txt ,%1. %1 represente l'argument que tu passes, ici le mot à chercher, lorsque tu lance le batch.
Le batch doit être lancé en ligne de commande:
quand tu lances ton batch, en ligne de commande(supposons qu'il se nomme test.bat), tu passe en argument le mot à rechercher....par exemple:
test.bat bonjour
if %errorlevel%==0 (echo ok) else (echo errror) //si tu as une occurence alors tu affiche ok, sinon error
0
Nicoto
 
Salut Dudcek et Chuka,

@Dubcek: O.K. j'essaye ça tout de suite. Merci ;-).

@Chuka: Merci, c'est plus clair maintenant ^^'. J'essaye ça aussi.

[EDIT]
Merci Dubcek ! Le problème n'était pas dans le programme, mais dans mon fichier texte ^^'. Je me suis rendu compte qu'il y avait un espace après le mot.
(grâce à ++%var%++).

Merci aussi à Chuka pour m'avoir répondu si vite.
A+
0