Modifier variables dans un fichier
Résolu/Fermé
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
-
Modifié le 30 juil. 2019 à 13:42
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 31 juil. 2019 à 10:48
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 31 juil. 2019 à 10:48
A voir également:
- Modifier variables dans un fichier
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
3 réponses
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
Modifié le 30 juil. 2019 à 14:35
Modifié le 30 juil. 2019 à 14:35
Bonjour,
Ca devrait être quelque chose comme ça :
Ca devrait être quelque chose comme ça :
@echo off
Setlocal EnableExtensions EnableDelayedExpansion
set $fichier=fichier.txt
if exist output.txt (del output.txt)
for /f "tokens=1,* delims==" %%A in (%$fichier%) do (
set ligne=%%B
if "%%~A"=="RATIO" (
set ligne=!ligne:^(x_large_caste^)=ESPA!
set ligne=!ligne:^(x_sms2^)=YEAR!
echo %%A=!ligne!
)
if "%%~A"=="PROG" (
set ligne=!ligne:^(x_numbr^)=NUM!
echo %%A=!ligne!
)
if not "%%~A"=="RATIO" (if not "%%~A"=="PROG" (echo %%A=%%B))
) >>output.txt
pause
exit
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
30 juil. 2019 à 15:47
30 juil. 2019 à 15:47
Salut barnabe0057,
Quel talent ! Ton code fonctionne du tonnerre ! :-)
Merci énormément ! Depuis hier, tu m'as fait gagné au moins 3 jours de travail :-)
Ceci dit, il me reste encore un petit point à corriger.
En fait, parfois j'ai aussi la ligne suivante qui apparait:
RATIO='\',
Est-ce que dans ton code, on peut ajouter une ligne qui va supprimer le "\" ?
et donc, on se retrouvera simplement avec l'expression suivante:
RATIO='',
Merci encore pour ton aide !
Quel talent ! Ton code fonctionne du tonnerre ! :-)
Merci énormément ! Depuis hier, tu m'as fait gagné au moins 3 jours de travail :-)
Ceci dit, il me reste encore un petit point à corriger.
En fait, parfois j'ai aussi la ligne suivante qui apparait:
RATIO='\',
Est-ce que dans ton code, on peut ajouter une ligne qui va supprimer le "\" ?
et donc, on se retrouvera simplement avec l'expression suivante:
RATIO='',
Merci encore pour ton aide !
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
Modifié le 30 juil. 2019 à 16:13
Modifié le 30 juil. 2019 à 16:13
Monsieur est servi :
J'ai un peu simplifié car j'avais 2-3 ECHO qui se répétait, c'est un peu plus lisible maintenant.
@echo off
Setlocal EnableExtensions EnableDelayedExpansion
set $fichier=fichier.txt
if exist output.txt (del output.txt)
for /f "tokens=1,* delims==" %%A in (%$fichier%) do (
set ligne=%%B
if "%%~A"=="RATIO" (if "%%~B"=="'\'," (set ligne='',) else (
set ligne=!ligne:^(x_large_caste^)=ESPA!
set ligne=!ligne:^(x_sms2^)=YEAR!
)
)
if "%%~A"=="PROG" (set ligne=!ligne:^(x_numbr^)=NUM!)
echo %%A=!ligne!
) >>output.txt
pause
exit
J'ai un peu simplifié car j'avais 2-3 ECHO qui se répétait, c'est un peu plus lisible maintenant.
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
31 juil. 2019 à 10:45
31 juil. 2019 à 10:45
Salut Barnabe,
Encore une fois, je salut ton efficacité.
Mon script fonctionne mieux que je le pensais !
Encore merci pour ton aide précieuse
@+ ;-)
Encore une fois, je salut ton efficacité.
Mon script fonctionne mieux que je le pensais !
Encore merci pour ton aide précieuse
@+ ;-)
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
31 juil. 2019 à 10:48
31 juil. 2019 à 10:48
Tant mieux si ça fonctionne comme tu veux.
Bonne continuation et à bientôt peut-être.
Bonne continuation et à bientôt peut-être.