Remplacer du texte du un fichier ne contenant qu'une ligne

[Fermé]
Signaler
-
 Gritank -
Bonjour,

Je cherche à réaliser un batch qui doit trouver une suite de caractère dans un fichier .txt et la remplacer, bien-sur ceci en conservant le reste du fichier.

J'ai déjà trouver plein de solution avec la boucle for /F mais mon problème est que mon fichier .txt ne contient qu'une seule ligne. Parce que mon fichier est en fait un fichier .xml écrit d'une certaine manière (qui ne m'arrange pas du tout).

Voici une partie de mon fichier :

<Name>Motor Drive Standard 0</Name><Data><ManualSpeed>12</ManualSpeed><Direction>Positive</Direction><ReductionRatio>20</ReductionRatio><HomingSpeed>25</HomingSpeed><PushButtonsInputMode>ThroughBoard</PushButtonsInputMode><LimitSwitchesInputMode>ThroughBoard</LimitSwitchesInputMode><LimitSwitchPosition>StartStroke</LimitSwitchPosition><LimitSwitchesInversed>True</LimitSwitchesInversed><Motor>


C'est une parti d'un fichier de configuration, ici pour des moteurs, et le système à connu des évolution. Par exemple changement de nom des éléments ou valeur par défaut. J'aimerai donc créer un batch qui va, dans ce fichier, modifier certains noms et certaines valeurs.

Par exemple remplacer le 25 de <HomingSpeed>25</HomingSpeed> par 50.

J'ai essayé des solutions tel que :

FOR /F "tokens=1 delims=<" %%I IN (D:\\Users\\gritank\\Desktop\\techfile\\ConfigX1500.txt) do (
...
)

Mais le '<' n'est pas valide et mon gros souci c'est comme tout est sur un ligne et bien dès qu'il trouve un caractère ou suite de caractères recherché, il passe à la ligne suivante. Vu qu'il n'y en a pas, la recherche s'arrête.

Merci d'avance pour l'aide. Salutations

2 réponses

Messages postés
18247
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
2 août 2021
5 333
hello
DOS est très limité, utiliser sed, editeur Linux disponible pour Windows
https://www.commentcamarche.net/faq/s/sed
Merci,

Cependant il faut que le batch puisse être lancé sur plusieurs machines sans devoir installer d'autres outils.