olalaland

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 face-big-smile
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
)
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 1296057985

Url: https://administrator.de/forum/benoetige-hilfe-zeilen-aendern-fals-nicht-vorhanden-hinzufuegen-1296057985.html

Ausgedruckt am: 17.07.2025 um 20:07 Uhr

149569
149569 23.09.2021 aktualisiert um 14:48:43 Uhr
Für sowas nimmt man heutezutage doch gleich die Powershell
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  
Oder für die VBS Fraktion gibbet auch genügend Futter womit man sowas "vernünftig" macht
Arbeiten mit INI Files in VBScript
Olalaland
Olalaland 27.09.2021 um 09:02:11 Uhr
Ja es sollte schon in Batch gehalten werden da wir mit Verschiedenen Betriebssystemen zurecht kommen müssen.
149569
149569 27.09.2021 aktualisiert um 10:22:16 Uhr
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.