Un .bat pour modifier un .bat

Fermé
Barkouze - 15 juin 2011 à 16:21
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 17 juin 2011 à 03:06
Bonjour tout le monde et merci d'avance pour vos précieuses réponses,

Voilà ce que je souhaite faire avec mon batch :

Je souhaite écrire la même chose : "c:\aaa\bbb\ccc.exe" à la 2ème colonne de la 1ère ligne de tous les fichiers .bat situés dans un même répertoire, sans modifier le reste de ces fichiers.

Je sais pas si c'est quelque chose de difficile ou non.




A voir également:

3 réponses

BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 812
Modifié par BeFaX le 15/06/2011 à 16:36
"La seconde colonne de la première ligne", donc la première et la seconde colonne sont séparées par un espace ?
0
Je vais être plus précis : j'ai un programme qui génère un fichier .bat qui est sensé lancer un logiciel associé à 2 images, mais ce logiciel bug et donc en début de fichier j'ai quelque chose du type :

"" "ddd.jpg" "eee.jpg"

Je voudrais avoir à la place et ce pour tous les .bat généré par mon logiciel qui sont tous dans le même répertoire :

"c:\aaa\bbb\ccc.exe" "ddd.jpg" "eee.jpg"

Voilà pour les précisions, merci de l'attention qu'on me porte :)
0
BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 812
15 juin 2011 à 19:01
Ok donc en fait il suffirait de remplacer la chaine "" par "c:\aaa\bbb\ccc.exe" non ?
0
exactement, sur plusieurs fichiers d'un même répertoire d'un coup, mais je sais pas comment faire, mes connaissances en programmation sont très limitées...
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
17 juin 2011 à 03:06
Bonsoir,

Le problème consiste à remplacer une ligne (ici la première) dans un fichier à organisation séquentielle.

A ma connaissance,

avec ce type de fichier, le seul moyen pour parvenir à ce résultat réside dans l'écriture d'un programme (un batch....) qui a pour fonction; La recopie de chaque ligne du fichier à modifier (fichier en input du traitement) dans un second fichier (fichier en output) après que la logique du programme aie modifié celle(s) de(s) ligne(s) concernée(s).
Il faut ensuite effacer (détruire) l'ancien fichier puis renommer le nouveau fichier avec le nom de l'ancien (où bien gérer des versions). C'est dangereux Il faut toujours prévoir une sauvegarde des fichiers impactés avant un traitement de ce genre.

Hors cette méthode, MS_DOS autorise l'ajout de lignes (en début ? Peut-être par concaténation de 2 fichiers.......) ou en fin de fichier, mais pas le remplacement comme il est mentionné dans le texte:
"c:\aaa\bbb\ccc.exe" "ddd.jpg" "eee.jpg"

Une discussion similaire sur CCM:
https://forums.commentcamarche.net/forum/affich-22293333-recuperer-ligne-precedente#p22320772
0