Bonjour,
Je cherche à éditer un fichier ini ou à ajouter une ligne si il ne la trouve pas.
Malheureusement mon script me permet bien d'éditer le ligne. Mais il ne me permet pas d'ajouter une ligne si il ne la trouve pas.
Permet l'édition :
Code :
- SET "globalsection="
- (
- FOR /f "tokens=1*delims=" %%a IN (c:\wapt\wapt-get.ini) DO (
- FOR /f "tokens=1*delims== " %%b IN ("%%a" ) DO (
- SET repro=Y
- IF "%%c"=="" (
- SET "globalsection="
- IF /i "%%b"=="[Global]" SET globalsection=y
- ) ELSE (
- IF DEFINED globalsection (
- IF "%%b"=="wapt_server" (
- SET "repro="&ECHO(wapt_server=test)
- )
- )
- IF DEFINED repro ECHO(%%a
- )
- )
- )>%appdata%\newfile.txt
- GOTO :EOF
|
wapt-get.ini
Code :
- [global]
- waptupdate_task_period=120
- wapt_server=https://wapt/
- repo_url=https://wapt/wapt
- use_hostpackages=1
|
Voici un de mes tests en ajoutant un else au if %%b = wapt_server :
Code :
- SET "globalsection="
- (
- FOR /f "tokens=1*delims=" %%a IN (c:\wapt\wapt-get.ini) DO (
- FOR /f "tokens=1*delims== " %%b IN ("%%a" ) DO (
- SET repro=Y
- IF "%%c"=="" (
- SET "globalsection="
- IF /i "%%b"=="[Global]" SET globalsection=y
- ) ELSE (
- IF DEFINED globalsection (
- IF "%%b"=="wapt_server" (
- SET "repro="&ECHO(wapt_server=test)
- ) ELSE (
- SET "repro="&ECHO(wapt_server=test)
- )
- )
- IF DEFINED repro ECHO(%%a
- )
- )
- )>%appdata%\newfile.txt
- GOTO :EOF
|