modifier certaine ligne dans un fichier et prendre en compte l'argument de la commande
Bonjour,
je trouve pas comment faire le script batch.
J'ai un fichier toto.bat, il y a des lignes en commentaires que je souhaite dé-commenter par un script "modif.bat"
voici le contenu de toto.bat
Code:
1 2 3 4 5 6 7 8 9 10 11
| REM +------------------------------------------------------------------------------------------------------+
REM | Script qui permet de bloquer un programme |
REM | - Pour bloque supprimer REM devant echo et exit avec les dates de blocages et déblocages|
REM |pour débloquer ajouter REM devant echo et exit |
REM +------------------------------------------------------------------------------------------------------+
REM echo "Blocage le 26/02/2020 - Déblocage le 27/02/2020"
REM exit 0
REM -- Ne pas faire en journée
REM -- Ne pas faire le dimanche |
Je lance le script modif.bat -B 09/06/2020 10/06/2020
le script ne modifie que les 2 lignes suivantes:
Code:
1 2 3 4 5 6
| REM echo "Blocage le 26/02/2020 - Déblocage le 27/02/2020"
REM exit 0
en
echo "Blocage le 09/06/2020 - Déblocage le 10/06/2020"
exit 0 |
et lorsque je relance le script modif.bat -D il commente les 2 lignes en
Code:
1 2
| REM echo "Blocage le 09/06/2020 - Déblocage le 10/06/2020"
REM exit 0 |
je trouvé comme prendre en compte les arguments et modifier les lignes mais c'est pas ce que je souhaite, je vois pas comment faire
voici le script modif.bat
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| @echo off
if "%1"=="-B" goto blocage
if "%1"=="-D" goto déblocage
:blocage
setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (toto.bat) do (
set str=%%a
set str=!str:REM echo "Blocage le 26/02/2020 - Déblocage le 27/02/2020"=echo "Blocage le 26/02/2020 - Déblocage le 27/02/2020"!
set str=!str:REM exit 0=exit 0!
echo !str!>>fichier2test.txt
)
type fichier2test.txt>toto.bat
del fichier2test.txt
goto fin
:deblocage
goto fin
:fin
exit /b 0 |
ça fonctionne, mais c'est pas bon car je peux pas savoir a l'avance les dates qui sont dans le fichier et je sais pas comment en modifier le fichier changer les dates
pourrait on me venir en aide ?
Sébastien