Bonjour à tous. Je vous explique j'ai un fichier texte, j'aimerai récupérer une information (un chiffre par exemple) de ce fichier texte et l'attribuer à une variable dans mon prgramme batch. J'ai essayé FOR /F %%A in (kelkechose.txt) DO mais je ne vois pas comment recupérer l'information dans une variable par la suite.
Merci d'avance
P'tite précision : cette boucle récupère la dernière ligne de fichier.txt dans la variable MAVARIABLE. En fonction du format du fichier d'entrée, la commande peut varier un peu.
Splinter_7
Posté le 22-01-2006 à 21:34:14
merci sa fonctionne mais j'ai une autre question... avec mon fichier batch je lance la commande net send et j'aimerai que si l'ip de la machine n'existe pas sur le reseau, il envoi un message mais comment fait on pour gérer les erreurs???
Splinter_7
Posté le 22-01-2006 à 22:14:06
/!\retour premiere question/!\ Excusez moi mais lorsque je recupère l'information dans MAVARIABLE cela ne fonctionne pas si il y a un espace, par exemple "salut" il renvoi "salut" mais si on met "salut sa va ?" il renvoi "salut" :s comment faire pour qu'il prenne en compte toute la chaine?
wackevat
Posté le 22-01-2006 à 22:16:55
Fais for /?
pour plus d'infos + exemples.
Splinter_7
Posté le 22-01-2006 à 22:24:42
j'ai pas trouver ce que je veux mais tu n'aurai pas une idée ?
Splinter_7
Posté le 22-01-2006 à 22:29:45
c'est bon l'histoire des espace j'ai trouvé il fauut utiliser tokens et delims mais par contre pour la gestion des erreurs je trouve pa du tout
wackevat
Posté le 22-01-2006 à 22:44:36
Qu'entends-tu par gestion des erreurs ?
Splinter_7
Posté le 22-01-2006 à 22:52:35
par exemple j'execute la command net send si l'alias n'existe pas sur le reseau le message est envoyé a tous le reseau avec *
Publicité
Posté le 22-01-2006 à 22:52:35
KangOl
Profil : pointeur
Posté le 22-01-2006 à 22:54:21
ERRORLEVEL
Splinter_7
Posté le 23-01-2006 à 16:53:22
Oui voila mais comment l'utiliser s'il te plait?
wackevat
Posté le 23-01-2006 à 16:57:37
if %ErrorLevel% == 0 fais_ceci else fais_cela
Splinter_7
Posté le 23-01-2006 à 18:52:13
d'accord je vais essayer merci nglechau
Splinter_7
Posté le 23-01-2006 à 19:00:15
excuse moi dans mon cas: j'utilise la commande net send et cela me renvoi une erreur net send helpmsg 2273. Quelle condition utiliser avec ERRORLEVEL pour cette erreur?
wackevat
Posté le 23-01-2006 à 19:03:15
Tu évalues cette variable juste après avoir appelé net send.
Splinter_7
Posté le 23-01-2006 à 20:39:18
c'est a dire :
if "%ip%" == "3" net send ***.***.*.* %mes%
if "%ERRORLEVEL%"!="0" GOTO blabla
Splinter_7
Posté le 23-01-2006 à 20:39:51
en fait la je veux que si l'alias n'est pas sur le reseau il l'envoi a tous le reseau
wackevat
Posté le 23-01-2006 à 21:02:44
%ErrorLevel% est une variable système et un entier, pas besoin de le quoter.
L'opérateur de comparaison != n'existe pas.
Fais de différents tests pour connaître la valeur ErrorLevel retournée dans chaque cas.
Splinter_7
Posté le 23-01-2006 à 21:11:34
merci pour tes precisions
Splinter_7
Posté le 23-01-2006 à 21:23:31
comment faire pour faire le signe different alors
KangOl
Profil : pointeur
Posté le 23-01-2006 à 21:28:46
if not %ERRORLEVEL% 1 do GOTO foo
wackevat
Posté le 23-01-2006 à 21:30:17
Il te manque un == KangOl
Sinon, pour la liste complète des opérateurs :
if /?
Splinter_7
Posté le 23-01-2006 à 21:32:35
il me reste beaucoup à apprendre lol
merci a vous
Splinter_7
Posté le 23-01-2006 à 21:33:05
sans indiscretion vous faite koi comme etude? ou comme travail?
wackevat
Posté le 23-01-2006 à 22:27:05
Etudes en info pour moi, mais de toute façon, Windows et les batchs ne sont pas enseignés à l'école
Sinon, je ne pense pas que les modos soient ravis de nos mylife.com
Splinter_7
Posté le 23-01-2006 à 22:36:36
si moi j'ai decouvert les batch à l'école cette année en bts ig ! ^^
wackevat
Posté le 23-01-2006 à 22:54:48
Ah OK. On ne fait pas les mêmes études
Si tu as des soucis, n'hésite pas de revenir et surtout n'oublie pas que l'aide de Windows contient beaucoup d'infos sur les syntaxes + exemples.