[SCRIPT DOS] Concaténation et boucle for

Fermé
Utilisateur anonyme - 31 août 2007 à 15:04
 Utilisateur anonyme - 1 sept. 2007 à 16:49
Bonjour à tous

J'ai un problème avec un script de concaténation:

J'ai x fichiers texte dans un premier dossier (rep1 par exemple) j'ai x (le même nombre que l'autre) fichiers dans un second dossier et j'aimerai faire une concaténation du texte se trouvant dans ces dossiers comme suit:

rep1/fichier1 "une tabulation" rep2/fichier1
rep1/fichier2 "une tabulation" rep2/fichier2
......
...
rep1/fichierx "une tabulation" rep2/fichierx


J'ai donc utilisé la commande suivante:

FOR %%F IN (*.txt) DO COPY /B rep1\%%F +rep2\%%F=result.txt

Le problème, c'est qu'à la fin, je n'ai qu'une ligne... A chaque fois que le prog fait un tour dans la boucle FOR, il écrase l'ancien contenu du
fichier result.txt.

Quelqu'un aurait-il une solution à cela ?

Merci d'avance
A voir également:

7 réponses

teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
31 août 2007 à 15:07
Salut,

Pourquoi tu utilises une boucle for pour ça?

COPY /B rp1\*.txt+rp2\*.txt result.txt non?

0
Chacual Messages postés 230 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 15 octobre 2007 150
31 août 2007 à 15:08
Il te manque juste une commande dans ta boucle qui sera chargée d'ajouter le contenu de result.txt à la fin du fichier final mais je ne sais pas quelle est la commande à utiliser... Ce ne serait pas une option de COPY par hasard ?
0
Utilisateur anonyme
31 août 2007 à 15:23
teebo: Non, ça ne marche pas, cela me met:

rep1/fichier1 rep2/fichier1 rep1/fichier2 rep2/fichier2

Chacual: si une telle commande existe, l'aide de ms-dos ne le cite pas...
0
Utilisateur anonyme
31 août 2007 à 15:26
Si aucune solution en commande MS-DOS n'existe, il n'y aurait pas une solution en langage C ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
31 août 2007 à 15:40
Mouarf, EUREKA, je suis un peu bête:

Il faut juste penser à créer ton fichier result.txt (vide) avant.

FOR %%F IN (*.txt) DO COPY /B result.txt+rep1\%%F +rep2\%%F=result.txt 
0
Utilisateur anonyme
31 août 2007 à 15:49
Cool! Merci ça marche!
0
Utilisateur anonyme
1 sept. 2007 à 16:49
ça fonctionne mais il me rajoute un "y" avec deux points dessus à la fin du fichier... Pourquoi ? Et surtout comment éviter ça ?
0