Interchanger le contenu de deux fichiers .bat [Dos]

Jgeo27 -  
 11:22 -
Bonjour, Avec un script en langage DOS, Je dois interchanger le contenu de deux fichiers .bat.. à l'aide de paramètre. Exemple.. si mon script est script.bat, en faisant : script.bat exemple.bat exemple2.bat le contenu de "exemple" se retrouve dans "exemple2" et le
contenu de "exemple2" se retrouve dans "exemple1" tout ça sans utiliser de copy ni move...

6 réponses

  1. Utilisateur anonyme
     
    Bonne idée le type, mais à quoi bon le for ? Et pourquoi 2 fichiers intermédiaires au lieu d'un seul ?

    type %1 > interm
    type %2 > %1
    type interm > %2
    del interm

    Surtout qu'avec les >>, il ne fallait pas oublier d'effacer exemple1 et exemple2 au milieu
    2
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      effectivement !!
      0
    2. 11:22
       
      il n'efface pas le interm même avec le del interm
      0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    on copie ligne par ligne en passant par des fichiers intermédiaires
    for /f "delims=" %%a in ('type exemple1') do echo %%a >> ex1
    for /f "delims=" %%a in ('type exemple2') do echo %%a >> ex2
    for /f "delims=" %%a in ('type ex1') do echo %%a >> exemple2
    for /f "delims=" %%a in ('type ex2') do echo %%a >> exemple1

    del ex1 ex2
    1
  3. Utilisateur anonyme
     
    Bonjour

    As-tu pensé à utiliser RENAME pour échanger les noms des fichiers plutôt que leurs contenus ?
    Attention quand même : d'une part il faut utiliser un nom de fichier temporaire, et d'autre part ça ne marchera pas si les fichiers sont dans des dossiers différents.
    0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    c'est un exercice ?
    utiliser 2 boucles FOR
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Jgeo27
     
    Oui, je ne peux pas utiliser RENAME, je peux avoir un exemple avec les deux boucles FOR?
    0
  7. Jgeo27
     
    Merci pour vos réponses ! ça résout mon problème, mais j'ai un petit problème avec les paramètres si mon fichier qui effectue l'échange s'appelle share.bat et qu'il se trouve dans C:\ et les deux fichiers à interchanger ficher1.bat et fichier2.bat sont également dans c:\ comment faire appel à fichier1.bat et fichier2.bat en paramètre dans le fichier share.bat (à éxécuter en double clic) (Je suis débutant ^^)
    Encore merci!
    @echo off
    share.bat fichier1.bat fichier2.bat
    IF "%1" == " " (
    echo Votre paramètre 1 est manquant
    goto fin)
    IF "%2" == " " (
    echo Votre paramètre 2 est manquant
    goto fin)
    type %1 > interm
    type %2 > %1
    type interm > %2
    del interm
    :fin
    pause > nul
    0
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      avec call: call fichier.bat fichier1 fichier2
      0