Génération petit code (*.bat) --> débutant

testhelp -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai créé un fichier *.bat avec une commande très simple:

start test.exe /stext test1
start test2.exe /stext test2

Mes 2 fichiers générés contiennent du texte. Je souhaiterai plutôt que de me retrouver avec 2 fichiers (test1 et test2) en avoir un seul (testall) qui contient le texte de "test1" + le texte de "test2".

Pourriez-vous m'aider svp? Merci infiniement

8 réponses

  1. BeFaX Messages postés 16334 Statut Contributeur 3 863
     
    Donc il te faudrait lire le premier fichier texte pour le réécrire dans un nouveau fichier (textall) et écrire ce qui se trouve dans le second fichier texte à la suite du fichier textall.

    Donc ceci :

    MORE fichier1.txt>textall.txt
    MORE fichier2.txt>>textall.txt

    Ou :

    (more fichier1.txt
    more fichier2.txt)>textall.txt
    0
  2. testhelp
     
    Super merci beaucoup BeFaX ca fonctionne!!!

    Par contre, après avoir généré mon fichier reprenant le texte des 2 premiers fichiers générés, j'aimerai supprimé les 2 fichiers et ne gardé que le fichier de fusion.

    Est-ce possible?

    Merci encoreBeFaX
    0
    1. BeFaX Messages postés 16334 Statut Contributeur 3 863
       
      Oui, bien sûr, il te suffit de rajouter un DEL fichier1.txt fichier2.txt
      juste après ces lignes.
      Il te restera ton textall.txt.
      0
  3. testhelp
     
    tout fonctionne super merci beaucoup!!!
    0
  4. testhelp
     
    Finalement il semblerait qu'il y ait un problème.

    En fait j'ai demandé pour la fusion de 2 fichiers mais j'en ai en fait 6. J'ai extrapolé les codes. Mon problème est que mon fichier de fusion ne contient pas toutes les données cumulées des 6 fichiers générés.

    Si je lance le *.bat, ca me génère un fichier de fusion un coup de 6ko, un coup de 40ko, un suivant de 45ko, un suivant de 10ko, etc. (en ayant tout supprimé entre 2 tests).

    Voici mon code pour etre pus clair:

    start 1.exe /stext v1
    start 2.exe /stext v2
    start 3.exe /stext v3
    start 4.exe /stext v4
    start 5.exe /stext v5
    start 6.exe /stext v6
    start 7.exe /stext v7

    (more v1
    more v2
    more v3
    more v4
    more v5
    more v6
    more v7)>all

    Je n'ai pas mis les *.txt puisque je ne les veut pas. Je veux qu'ils restent des fichiers neutre que je peux ouvrir par la suite moi meme.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    essayer avec copy
    copy v1+v2+v3+v4+v5+v6+v7 all
    0
  7. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    avec start, les programmes démarrent en parallèle, ils ne sont peut-être pas tous terminés quand le.bat arrive aux more ou au copy
    0
  8. testhelp
     
    Bonjour,

    serait-il donc possible de faire la copie que lorsque tous les *.exe sont terminés? Peut être ajouter une ligne de code de tempo de 1 ou 2 secondes si ca existe?
    0
  9. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    soit enlever les start pour que les exe s'exécutent l'un après l'autre, soit mettre un délai de (par ex.) 10 secondes:
    ping -n 10 127.0.0.1 > NUL
    0