Bonjour,
J'écris un batch pour ajouter une ligne dans un fichier texte (.bat)
J'ajoute du texte sur la troisième ligne du fichier. (variable %tmp%)
Mes variables:
mess_rem = texte à ajouter en début de fichier
mess = texte à ajouter
fichier_sync_tmp = nom du fichier temporaire
fichier_sync = fichier d'origine a modifier
Mon code:
Mon problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 set /a a1=0 set /a tmp=3 rem ajout de la première ligne echo %mess_rem% > %fichier_sync_tmp% rem on lit le fichier ligne par ligne for /f "delims=" %%a in ('type %fichier_sync%') do call :subfor %%a goto suite rem on traite ligne par ligne :subfor set /a a1=a1+1 rem si le numéro de ligne <> %tmp% je colle le texte d'origine rem si le numéro de ligne = %tmp% je colle mon texte ajouté if not %a1% == %tmp% echo %1 >> %fichier_sync_tmp% if %a1% == %tmp% echo %mess% >> %fichier_sync_tmp% goto :EOF :suite
Lors de la commande do call :subfor %%a dans le :subfor, je ne retrouve que le premier mot de chaque ligne.
Si je met do call :subfor "%%a" j'ai bien la ligne complète mais avec entre guillemets.
Si quelqu'un a une solution ...
Merci
Partager