(Resolut) pb concatenation DOS

pb concatenation DOS (Resolut) - Shell/Batch - Programmation

Marsh Posté le 20-02-2008 à 11:19:52    

Bonjour,
Je me remet au DOS et j'ai un pb pour concaténer deux fichier texte.
 
J'ai temp.txt et temp1.txt
 
temp.txt
1
2
3
 
et temp1.txt
prog1
prog2
prog3
 
j'aimerai avoir un troisième fichier temp2.txt comme ceci:
 
1 prog1
2 prog2
3 prog3
 
voila ou j'en suis:
 
for /F "tokens=1-5 delims= " %%a in ('dir "%DIR%\config\" ^| find ".cmd"') do (set /a NUM+=1)    
: pour avoir le nombre de ligne total!
for /F "tokens=1-5 delims= " %%a in ('dir "%DIR%\config\" ^| find ".cmd"') do (@echo %%d>>temp.txt)  
:les prog dos dans le mon dossier ecrit dans temp.txt
for /L %%J IN (1,1,%NUM%) DO (echo %%J>>temp1.txt)  
Je rempli les colonnes dans temp1.txt
 
test de contatenation mais pas dans l'odre voulu bou!!!
for /F "tokens=1-3 delims= " %%a in (temp.txt temp1.txt) do (@echo %%a>>temp2.txt)
RESULTAT:
1
2
3
prog1
prog2
prog3
 
Ce qui pour la commande est normal avais vous une idée pour avoir la présentation voulu???
D'avance un grand merci!!!


Message édité par Sm@No le 21-02-2008 à 16:52:28
Reply

Marsh Posté le 20-02-2008 à 11:19:52   

Reply

Marsh Posté le 21-02-2008 à 01:43:05    

Hello ,

 

Tu cherches les complications là ..

 

ça devrait le faire :

@echo off

 

for /f %%A in ('dir /b/a-d/s "%DIR%\config\" ^| find /i ".cmd"') do (echo %%A>>tmp1.txt)
findstr /n ".cmd" "tmp1.txt">>tmp2.txt& del tmp1.txt& tmp2.txt

 

... à condition que tu ai défini ta variable %DIR% avant


Message édité par Eric_71 le 21-02-2008 à 01:44:13
Reply

Marsh Posté le 21-02-2008 à 11:12:31    

Merci parfait!!!
 
En faite l'option /n  sur le findstr nickel!!!
Encore merci ca marche.


Message édité par Sm@No le 21-02-2008 à 11:12:50
Reply

Marsh Posté le 21-02-2008 à 20:04:40    

De rien ,
 
là tu as le chemin complet du fichier , si tu veux qu'il te donne uniquement le nom du fichier dans la liste tu modifie le echo :
 
tu remplace cette partie

(echo %%A>>tmp1.txt)


par ça

(echo %%~nxA>>tmp1.txt)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed