Bonjour,
Ma question parrait simple, mais c'est un peu plus compliquer
J'ai 2 boucle for Imbriquées , chacune écrit dans un fichier "b.txt", le problème, c'est qu'a chaque fois que je fait un echo xxx >> b.txt , il fait un retour chariot et me colle chaque ligne les unes en dessous des autres.
J'aimerai qu'a chaque fois que j'écris dans ce fichier, que ca ne revienne pas à la ligne, que ca me colle tout à la suite, que ca ne fasse qu'un bloc
Comme ceci :
xxx;yyy;zzz;
Et non comme cela :
xxx;
yyy;
zzz;
Code utilisé :
@echo off
cls
if exist b.txt (del b.txt)
FOR /F "usebackq tokens=1,2 delims=;" %%i in ("a.txt") do (
echo %%i >> b.txt
FOR /F "tokens=1,2,3 delims=:" %%k in ("%%j") do (
echo ;%%k;%%l;%%m >> b.txt
)
)
PS : Le but de ce programme est de créer un fichier exel, en parsant le fichier a.txt qui est un log contenant des erreurs de compilation. Le fichier a.txt se présente sous la forme
[Chemin_fichier] [n°_Ligne] [code_erreur] mais d'un seul bloc, comme ceci :
N:\CODE\VERIF_TOOLS\RESULTATS\FileAirway_Element.adb;Before line 47:Tag Not Found before function/procedure : name
J'utilise des boucle For pour parser le fichier et le découper en 3 partie (Chemin, n°ligne et code_erreur). Pour cela , je passe par un fichier temporaire b.txt pour coller le découpage de mon a.txt
Si vous avez des idées, ca serait génial !
[BATCH] Comment écrire à la suiet d'un fichier
Modérateur : WIN32-[GG]
Re: [BATCH] Comment écrire à la suiet d'un fichier
Bon en fait, le truc qui me manque juste, c'est comment fait on une tabulation lorsqu'on écrit dans un fichier ?
J'ai 2 boucle for imbriquées , chacune des deux doit écrire dans mon fichier exel (oui c'est plus un txt ^^ ) , mais à chaque appel de la fonction ECHO xxx >> test.xls
il m'écrit toutes les lignes avec un retour chariot. Je me retrouve avec :
XXX
YYY
ZZZ
... au lieu de :
XXX [TAB] YYY [TAB] ZZZ
Est ce que vous avez une idée ?
Merci beaucoup !
J'ai 2 boucle for imbriquées , chacune des deux doit écrire dans mon fichier exel (oui c'est plus un txt ^^ ) , mais à chaque appel de la fonction ECHO xxx >> test.xls
il m'écrit toutes les lignes avec un retour chariot. Je me retrouve avec :
XXX
YYY
ZZZ
... au lieu de :
XXX [TAB] YYY [TAB] ZZZ
Est ce que vous avez une idée ?
Merci beaucoup !
Re: [BATCH] Comment écrire à la suiet d'un fichier
Ne peux tu pas tous mettre dans une VAR et faire un echo à la fin de chaque ligne que tu veux mettre dans ton fichier final ?