lire nombre dans fichier et l'exploiter pour calcul [batch dos RESOLU] - Shell/Batch - Programmation
Marsh Posté le 04-08-2004 à 17:04:42
Impossible en DOS pur
Marsh Posté le 04-08-2004 à 17:17:11
ben, j'ai presque reussit la chose en passant par echo sur la valeur calculée, mais ca ne fonctionnait que si je lancait le prog depuis une console, et ca ecrit n'imp. si je le lance directement depuis windows.... et encore ca n'incrementait qu'une fois sur deux. Voila pourquoi j'aimerais me passer de la commande echo.
En fait, je sait pas comment utiliser la variable %%i
quelqu'un peut t il me donner la theorie (differences) sur :
i
%i
%%i
%i%
merci
Marsh Posté le 04-08-2004 à 17:52:22
ici faut que tu fasses déjà un :
SET /A x=%%i + 1
dans ta boucle...
Marsh Posté le 04-08-2004 à 18:13:49
merci, mais je suis toujours en galere
sinon, pour comprendre un peu j'ai fait ceci :
Code :
|
donne ce resultat quand le prog est lancé depuis une console DOS :
toto.txt contient 3
toto.txt contient 3
toto.txt contient 4
toto.txt contient 4
toto.txt contient 5
toto.txt contient 5
etc... bref ca incremente un coups sur 2
d'ou ma question sur la difference entre i, %i% et %%i ... j'ai rien trouve pour le moment de bien sur le net expliquant la chose
Marsh Posté le 05-08-2004 à 09:37:51
Alors voici un code qui fonctionne, c'est à dire qu'il lit un nombre dans un fichier texte, l'incrémente et range le nombre incrémenté dans ce meme fichier texte, mais comme j'ai toujours pas bien compris l'essence de la chose (j'y suis arrivé par tatonnements), ce code est pas beau ... s'il y a des amateurs pour corriger et faire un truc plus propre ...
Code :
|
Marsh Posté le 05-08-2004 à 09:59:02
marrant ce comportement en effet !! j'ai aussi le meme probleme.
tjrs est-il jefe que ton code marche bien c'est le principal...et je dirais comme aux chiffres et aux lettres : pas mieux ;-)
Marsh Posté le 05-08-2004 à 10:57:28
Bon, voici finalement une version plus "propre" et fonctionnelle.
Comme quoi il ne faut jamais desesperer !
Code :
|
Marsh Posté le 05-08-2004 à 12:40:30
SET %%x=0 ne sert à rien.
Sinon, bravo, je ne connaissais pas /F pour FOR ni /A pour SET. M'enfin je préfère utiliser WSCRIPT ou CSCRIPT
Marsh Posté le 05-08-2004 à 16:59:16
Moi non plus au depart je connaissais pas .... c'est grace a des recherches dans le forum que j'ai trouve ces pistes (vive la fonction RECHERCHER).
Sinon, pour l'initialisation de %%x au debut, tu as raison, on peut tout a fait l'enlever !
Marsh Posté le 04-08-2004 à 16:47:32
Bonjour,
Voici ma problématique :
Lire dans un fichier texte (toto.txt) un nombre.
Prendre ce nombre pour effectuer un calcul (l'incrémenter de +1).
ranger le nombre incrémenté dans ce meme fichier.
Ma solution (qui ne fonctionne pas bien entendu) :
FOR /F "" %%i IN (toto.txt) DO ( SET /A x=%i% + 1 >> toto.txt )
Quelqu'un peut il me venir en aide pour me corriger svp ?
Message édité par jefe le 05-08-2004 à 11:31:48