Benötige Hilfe Zeilen ändern fals nicht vorhanden hinzufügen
Und zwar geht es um Folgendes habe mir eine kleine Batchdatei anhand des Forums zusammenbasteln können
Nun zu meinem Problem
Er Löscht bzw ersetzt immer die 1. Zeile des Gesuchten Bereichs, und zum 2. wäre es schön wenn er die werte nicht Stumpf in den Bereich einfügt sondern fals sie vorhanden sind diese ändert. Es gibt allerdings Settings in dieser .ini Datei die leer sind z.B.
[Misc]
Backuptarget=
xxx=1
yyy=2
Nun passiert es das er ab Backuptarget hängen bleibt fals ich nur Werte ersetzen möchte vielleicht kann ja jemand Helfen
Mein bisheriger CODE
Nun zu meinem Problem
Er Löscht bzw ersetzt immer die 1. Zeile des Gesuchten Bereichs, und zum 2. wäre es schön wenn er die werte nicht Stumpf in den Bereich einfügt sondern fals sie vorhanden sind diese ändert. Es gibt allerdings Settings in dieser .ini Datei die leer sind z.B.
[Misc]
Backuptarget=
xxx=1
yyy=2
Nun passiert es das er ab Backuptarget hängen bleibt fals ich nur Werte ersetzen möchte vielleicht kann ja jemand Helfen
Mein bisheriger CODE
for /f "delims=" %%a in ('dir /b /s /a-d "C:\Test\*OM.INI"') do (
echo %%a
Move %%a %%a.v6.ini
(
FOR /f "tokens=1*delims=" %%x IN (%%a.v6.ini) DO (
FOR /f "tokens=1*delims== " %%b IN ("%%x") DO (
SET repro=Y
IF "%%c"=="" (
SET "Gruppe="
IF /i "%%b"=="[Misc]" SET Gruppe=y
) ELSE (
IF DEFINED Gruppe (SET "repro="&ECHO(ColorText1=16777215)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorText2=16777215)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorText3=0)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorText4=0)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorBase1=12434688)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorBase2=9211020)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorBase3=12434688)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorBase4=9211020)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorModeText1=1)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorModeBase1=2)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorModeText2=1)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorModeBase2=1)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorModeText3=1)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorModeBase3=2)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorModeText4=1)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorModeBase4=1)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorModeBaseFocus=2)
IF DEFINED Gruppe (SET "repro="&ECHO(ColorModeBaseError=1)
)
IF DEFINED repro ECHO(%%x
)
)
)>%%a
rem del %%a.bak
)
Please also mark the comments that contributed to the solution of the article
Content-Key: 1296057985
Url: https://administrator.de/contentid/1296057985
Printed on: April 27, 2024 at 03:04 o'clock
3 Comments
Latest comment
Für sowas nimmt man heutezutage doch gleich die Powershell
https://www.powershellgallery.com/packages/PsIni/3.1.2
Oder für die VBS Fraktion gibbet auch genügend Futter womit man sowas "vernünftig" macht
Arbeiten mit INI Files in VBScript
https://www.powershellgallery.com/packages/PsIni/3.1.2
Install-Module -Name PsIni
(Get-IniContent "D:\myinifile.ini") | Set-IniContent -NameValuePairs @{'Backuptarget'='D:\Blablub'} -Sections 'Misc' | Out-IniFile "D:\myinifile.ini" -Force
Arbeiten mit INI Files in VBScript
Zitat von @Olalaland:
Ja es sollte schon in Batch gehalten werden da wir mit Verschiedenen Betriebssystemen zurecht kommen müssen.
Jedes Windows OS das Batch beherrscht, tut das auch mit Powershell, selbst XP.Ja es sollte schon in Batch gehalten werden da wir mit Verschiedenen Betriebssystemen zurecht kommen müssen.