pixel0815
Goto Top

Batch läuft nicht so rund

Hallo liebe Gemeinde,
vielleicht weiß einer Rat warum der Befehl nicht ausgeführt wird? :O)


:: @echo off
setlocal enabledelayedexpansion
set RemoveList="ICE-DC-REG"  
for %%a in ("DS Server") do (  
	set Data=
	for /f "tokens=2*" %%o in ('reg.exe query "HKEY_CURRENT_USER\Software\Microsoft\Exchange\Exchange Provider" /v "%%~a" 2^>NUL') do set Data=%%~p  
	for %%r in (%RemoveList%) do (
		if /i "!Data!"=="%%~r" (  
			reg.exe delete "HKEY_CURRENT_USER\Software\Microsoft\Exchange\Exchange Provider" /v "%%~a" /f >NUL  
		)
	)
)

Ausgabe

W:\>setlocal enabledelayedexpansion

W:\>set RemoveList="ICE-DC-REG"  

W:\>for %a in ("DS Server") do (  
set Data=
 for /F "tokens=2*" %o in ('reg.exe query "HKEY_CURRENT_USER\Software\Microsoft\  
Exchange\Exchange Provider" /v "%~a" 2>NUL') do set Data=%~p  
 for %r in ("ICE-DC-REG-01") do (if /I "!Data!" == "%~r" (reg.exe de  
lete "HKEY_CURRENT_USER\Software\Microsoft\Exchange\Exchange Provider" /v "%~a"  
/f  1>NUL ) )
)

W:\>(
set Data=
 for /F "tokens=2*" %o in ('reg.exe query "HKEY_CURRENT_USER\Software\Microsoft\  
Exchange\Exchange Provider" /v "DS Server" 2>NUL') do set Data=%~p  
 for %r in ("ICE-DC-REG-01") do (if /I "!Data!" == "%~r" (reg.exe de  
lete "HKEY_CURRENT_USER\Software\Microsoft\Exchange\Exchange Provider" /v "DS Se  
rver" /f  1>NUL ) )  
)

W:\>set Data=

W:\>set Data=REG_SZ    ICE-DC-REG-01

W:\>(if /I "!Data!" == "ICE-DC-REG-01" (reg.exe delete "HKEY_CURRENT  
_USER\Software\Microsoft\Exchange\Exchange Provider" /v "DS Server" /f  1>NUL )  
)

W:\>

Gruß
Heiko

Content-Key: 273503

Url: https://administrator.de/contentid/273503

Printed on: April 25, 2024 at 07:04 o'clock

Member: Clijsters
Clijsters Jun 01, 2015 at 11:38:01 (UTC)
Goto Top
Hallo liebe Gemeinde,
Hallo Heiko,
vielleicht weiß einer Rat warum der Befehl nicht ausgeführt wird? :O)
Welcher?

27. W:\>(if /I "!Data!" == "ICE-DC-REG-01" (reg.exe delete "HKEY_CURRENT 
28. _USER\Software\Microsoft\Exchange\Exchange Provider" /v "DS Server" /f  1>NUL ) 
29. ) 
Da?
Weil "!Data!" nicht gleich "ICE-DC-REG-01" ist? face-smile

Gruß
Dominique
Member: pixel0815
pixel0815 Jun 01, 2015 at 11:55:06 (UTC)
Goto Top
Hallo Dominique,

leider ist es egal welchen Wert ich da nehme.
Habe schon verschiedene Values ausprobiert aber es wird nicht gelöscht.
Member: Clijsters
Clijsters Jun 01, 2015 at 12:43:15 (UTC)
Goto Top
Ich glaube, du verstehst die Problematik nicht...

Zur Veranschaulichung:
(if /I "abc" == "abc" (reg.exe delete "HKEY_CURRENT_USER\Software\Microsoft\Exchange\Exchange Provider" /v "DS Server" /f  1>NUL ))   
Würde funktionieren.
Und selbst, wenn wir !Data! mal aufschlüsseln...
(if /I "REG_SZ" == "CE-DC-REG-0" (reg.exe delete "HKEY_CURRENT_USER\Software\Microsoft\Exchange\Exchange Provider" /v "DS Server" /f  1>NUL ))   
Ist das Ergebnis immernoch false.
Member: pixel0815
pixel0815 Jun 01, 2015 at 12:52:55 (UTC)
Goto Top
Es funktioniert aber genau sowie es soll.

Oben gebe ich was vor auf das er reagieren soll.
Wenn der Eintrag gefunden wird dann soll er ihn löschen und wenn nicht dann nix machen. genau das tut das skript :o) Also Thema gegessen.
Member: pixel0815
pixel0815 Jun 01, 2015 at 12:54:02 (UTC)
Goto Top
Achso ich hatte es schon selbst gelöst.
in den tokens war einer zu wenig drin. Dann hat er das richtige gespeichert :o)