[SCRIPT DOS] Concaténation et boucle for

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
--
Seules les forces obscures peuvent ouvrir et fermer les portes de Silent Hill
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut,

    Pourquoi tu utilises une boucle for pour ça?

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

    1. 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 ?
      1. 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...
        1. Si aucune solution en commande MS-DOS n'existe, il n'y aurait pas une solution en langage C ?
          1. Contributeur
            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 
            1. ça fonctionne mais il me rajoute un "y" avec deux points dessus à la fin du fichier... Pourquoi ? Et surtout comment éviter ça ?