Remplacer une ligne 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
-
1 juil. 2020 à 10:47
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 - 3 juil. 2020 à 13:26
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 - 3 juil. 2020 à 13:26
A voir également:
- Remplacer une ligne dans un fichier
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
5 réponses
barnabe0057
Messages postés
14439
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
14 avril 2024
4 905
Modifié le 1 juil. 2020 à 20:38
Modifié le 1 juil. 2020 à 20:38
Salut,
Je ne vois pas de problème d'espace, le seul problème que je vois est la présence de l'esperluette & qui est un caractère spécial et qui doit donc être échappé :
https://www.robvanderwoude.com/escapechars.php
Je ne vois pas de problème d'espace, le seul problème que je vois est la présence de l'esperluette & qui est un caractère spécial et qui doit donc être échappé :
https://www.robvanderwoude.com/escapechars.php
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
2 juil. 2020 à 08:51
2 juil. 2020 à 08:51
Hello Barnabe,
En fait, j'essaye de faire la manip à l'aide d'une solution que tu m'avais précédemment communiqué.
Mais je suis peut être sur une mauvaise piste ?
Sur mon essai ci-dessus, le 1er call est OK
En revanche, pour le 2nd ça ne donne rien... Enfin là je tentais un peu à l'arrache...
je ne vois pas trop comment faire et si surtout je suis pas dans l'erreur en adoptant cette méthode.
A ton avis ?
K
En fait, j'essaye de faire la manip à l'aide d'une solution que tu m'avais précédemment communiqué.
Mais je suis peut être sur une mauvaise piste ?
for %%E in (*.*) do (
for /f "skip=2 tokens=1,* delims=]" %%A in ('find /V "" /N "%%~E"') do (
set "string=%%~B"
call:substitution "%%%%x_direction%%%%" DIRECT
call:substitution "%%%== ^'I%%%" == 'RECV'
echo.!string!
echo.!string!>> "%%~E"
)
del /f "%%~E"
)
:substitution
if not "!string!"=="" (set "string=!string:%~1=&%2!")
Sur mon essai ci-dessus, le 1er call est OK
En revanche, pour le 2nd ça ne donne rien... Enfin là je tentais un peu à l'arrache...
je ne vois pas trop comment faire et si surtout je suis pas dans l'erreur en adoptant cette méthode.
A ton avis ?
K
barnabe0057
Messages postés
14439
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
14 avril 2024
4 905
2 juil. 2020 à 09:06
2 juil. 2020 à 09:06
Dans le deuxième CALL tes paramètres sont mal délimités.
Les paramètres sont délimités par un espace, si un des paramètres doit contenir des espaces alors il faut entourer ce paramètre avec des double-quotes " "
Les paramètres sont délimités par un espace, si un des paramètres doit contenir des espaces alors il faut entourer ce paramètre avec des double-quotes " "
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
2 juil. 2020 à 13:02
2 juil. 2020 à 13:02
Ben mince Barnabe, j'ai beau mettre des double-quotes partout, le script ne change aucunement la ligne.
J'ai tenté tout ça:
Et d'autres choses...
Il n'y aurait pas un autre aspect à revoir dans le script ?
J'ai tenté tout ça:
call:substitution "%%%" == ^'I"%%%" "== 'RECV"
call:substitution "%%%"== ^'I^'"%%%" == 'RECV'
call:substitution "%%%'I'%%%" "== 'RECV"
call:substitution "%%%" 'I' "%%%" "== 'RECV'"
Et d'autres choses...
Il n'y aurait pas un autre aspect à revoir dans le script ?
barnabe0057
Messages postés
14439
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
14 avril 2024
4 905
Modifié le 2 juil. 2020 à 15:12
Modifié le 2 juil. 2020 à 15:12
Est-ce que c'est mieux comme ça :
for %%E in (*.*) do (
for /f "skip=2 tokens=1,* delims=]" %%A in ('find /V "" /N "%%~E"') do (
set "string=%%~B"
call:substitution "'%x_direction%'" "'&DIRECT'"
call:substitution "'I' goto FIN" "'RECV' goto FIN"
echo.!string!
echo.!string!>> "%%~E"
)
del /f "%%~E"
)
:substitution
if not "!string!"=="" (set "string=!string:%~1=%~2!")
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
3 juil. 2020 à 08:25
3 juil. 2020 à 08:25
Ah oui beaucoup mieux ! :-)
En revanche, j'arrive pas à soustraire les guillemets dans le résultat:
if NOT '&DIRECT' == "'RECV' goto FIN"
En revanche, j'arrive pas à soustraire les guillemets dans le résultat:
if NOT '&DIRECT' == "'RECV' goto FIN"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
3 juil. 2020 à 13:26
3 juil. 2020 à 13:26
Le diable est dans les détails ! ;-)
Nickel ça marche
Merci encore et beaucoup pour ton aide
A la prochaine ;-)
Nickel ça marche
Merci encore et beaucoup pour ton aide
A la prochaine ;-)