Interchanger le contenu de deux fichiers .bat [Dos]

Fermé
Jgeo27 - 6 nov. 2013 à 07:54
 11:22 - 23 oct. 2015 à 17:19
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...

A voir également:

6 réponses

Utilisateur anonyme
6 nov. 2013 à 16:47
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
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
7 nov. 2013 à 08:09
effectivement !!
0
il n'efface pas le interm même avec le del interm
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
6 nov. 2013 à 16:23
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
Utilisateur anonyme
6 nov. 2013 à 10:10
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
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
6 nov. 2013 à 11:28
hello
c'est un exercice ?
utiliser 2 boucles FOR
0

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

Posez votre question
Oui, je ne peux pas utiliser RENAME, je peux avoir un exemple avec les deux boucles FOR?
0
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
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
7 nov. 2013 à 08:17
avec call: call fichier.bat fichier1 fichier2
0