Se connecter avec
S'enregistrer | Connectez-vous

Batch : chercher un fichier puis lui ajouter des lignes

Dernière réponse : dans Programmation

Bonjour à tous,

Voilà je débute en batch et j'ai un peu de mal pour commencer.
J'ai un fichier texte qui contient deux lignes et je voudrais faire un fichier batch qui cherche un fichier dans tout l'ordinateur puis une fois ce fichier trouvé, qu'il lui ajoute les deux lignes contenues dans le fichier texte. Il faudrait également que le batch ne s'arrête pas au premier fichier trouvé mais qu'il cherche si il n'y en a pas d'autres du même nom, auquel cas leur rajouter également les deux lignes.

Voilà j'espère que c'est à peu près clair, sinon n'hésitez pas à me demander de préciser.

En vous remerciant d'avance !
Lassé par la pub ? Créez un compte

Ok merci j'ai déjà tenté un truc, peux-tu me dire ce que tu en penses et quelles modifications faire ?

  1. @echo off
  2. for /f "delims=" %%i in ('dir C:\fichier_a_modifier.txt /b /s') do (
  3. for /f "delims=" %%j in ('type "fichier_contenant_les_lignes.txt"') do (
  4. echo %%j>>%%i
  5. ))
  6. pause


Je ne suis pas du tout sûr que ça soit bon, c'est vraiment une ébauche.
Expert Programmation

Tu n'as besoin que d'un seul FOR, le FOR /F fait déjà la boucle sur les résultats.
Il faut que tu commence par de mettre dans un répertoire avec CD, et ta commande DIR doit être sans le chemin.

Merci de tes conseils, j'ai essayé de refaire selon ce que tu m'as dit. Voici donc le script refait :

  1. @echo off
  2. cd c:\
  3. for /f "delims=" %%i in ('dir /b /s fichier_a_modifier.txt') do (
  4. echo fichier_contenant_les_lignes.txt >> %%i
  5. )


Par contre il doit y avoir pas mal d'erreurs, j'ai un peu de mal sur la syntaxe et tout... donc tout conseil ou modification sont les bienvenus encore une fois ;) 
Expert Programmation

Pour changer de lecteur, CD ne suffit pas, il faut simplement faire:
  1. c:

Ensuite, pour se mettre à la racine de C:, il faut faire:
  1. cd \


Enfin, ceci:
  1. echo fichier_contenant_les_lignes.txt >> %%i

Avant de te lancer dans les modifications, pour être sûr de ce que tu vas faire, fais simplement:
  1. echo %%i

Maintenant, c'est ton disque dur, tu en fais ce que tu veux...
Lassé par la pub ? Créez un compte
Tom's guide dans le monde