Fichier bat

Bonsoir à tou !

J’ai besoin d’informations pour la création d’un fichier bat :

  • comment faire en sorte que mon fichier bat pose une question (par exemple demande le nom d’un fichier) et stocke la réponse dans une variable ?

  • comment faire pour que mon fichier bat soit capable de dire si un fichier existe ou non ?

  • Comment réinjecter les variables que j’ai affectées a la question ci dessus dans une commande (pour passer des paramètres à un exécutable par exemple) ?

Merci ! Bonne soirée !

J’ai trouvé toutes ces informations !
Mais je n’en trouve pas une : comment dans mon fichier bat mettre un “echo” qui fait passer à la ligne ?

Pour les infos c’est très bien expliqué ici :
http://www.generation-nt.com/apps/forum/in…=0&#entry158789

“echo.” pour aller à la ligne.

Ah ok merci je vais tester ça !

Et aussi, est ce que quelqu’un saurait comment vérifier dans mon script bat si un fichier existe ?

Et au passage, comment faire un else dans un if ?

J’ai trouvé ça pour verifier si un fichier existe :
http://membres.lycos.fr/jlenit/informat/batch.htm

Comment mettre un else dans un if (si c’est cette solution, fais tel truc, pour toutes les autres solutions, fais tel truc).

Est-il possible de vérifier si une ligne existe dans un fichier ? Par exemple j’ai un fichier contenant plein de ligne, et une de ces lignes est “toto”.
Mon bat est-il capable de me dire si ce fichier contient le ligne toto ?

Tout est dans l’aide Windows XP. Cherche “command line” ou “batch file” ou un truc dans le genre, et tu auras la référence de toutes les commandes utilisables dans un .bat.

Pour le “else” dans un “if”, je crois que ça marche pas si tu mets pas de parenthèses sur la meme ligne que le “if”, je m’étais fait avoir plusieurs fois.

if exist toto.txt ( rem faire un truc ici ) else ( rem faire un autre truc ici )
Il me semble que si tu mets les parenthèses à la ligne, ça chie.

Pour trouver une ligne dans un fichier, je sais pas trop… tu peux peut-être utiliser un “find” ou “findstr”, et avec un peu de chance, il te positionne le “errorlevel” à une valeur qui va bien. je rappelle que le “errorlevel” est une pseudo variable d’environnement qui reflète le résultat de la dernière commande exécutée… la plupart du temps, ça vaut 0 si tout s’est bien passé, et 1 ou plus si ça a chié, mais ça peut être autre chose selon les cas.
Dans un fichier .bat, tu peux faire un “if errorlevel 1 …” juste après une commande pour faire un truc si la commande a chié (enfin si elle a renvoyé un errorlevel supérieur à 0).

OK merci pour cette réponse précise :stuck_out_tongue:

Je testerai ça tout à l’heure (oui là je suis pas sous Windows) et je te dis si tout ça fonctionne!

Pour le else ça n’a pas marché mais j’ai finalement pu faire autrement :stuck_out_tongue:

Pour le findstr et le find ils affichent le texte recherché si ils le trouvent dans le fichier.

Il faudrai donc que mon fichier bat puisse récupérer la sortie de la commande findstr, comme ça ensuite je fais un if et je compare. C’est possible ?