jkoenig
Goto Top

Batch Vorgang bricht in FOR Schleife ab

Hallo, ich arbeite im Moment an einem Script um Computer mit Windows XP automatisch einzurichten und einzustellen. Das klappt so weit ganz gut, jedoch habe ich ein Problem bei dem ich einfach nicht weiter komme.

Ich muss den vollen Namen eines Registry Schlüssels auslesen, genauer den kompletten Namen von "HKEY_USERS\S-1-5-21-..." .

Der Vorgang bricht jedoch beim "set var=%%A" in der FOR Schleife ab (dasFenster schließt sich einfach).

@echo off & setlocal EnableDelayedExpansion
reg query HKEY_USERS>tmp.tmp
find "S-1-5-21-" tmp.tmp>tmp2.tmp  
find /v "_Cl" tmp2.tmp>tmp.tmp  

for /F "tokens=*" %%A in (tmp.tmp) do (  
  set var=%%A
  if %var:~0,4%==HKEY set ausgabe=%%A
)

echo %ausgabe%

pause>nul

Interessant ist noch, dass wenn ich die Variable "var" vor der Schleife schon einmal deklariere das "set var..." den Vorgang nicht mehr abbricht sondern einfach nur die Variable nicht setzt.

Hoffe auf baldige Hilfe und wünsche noch einen sonnigen tag face-smile

MfG
Jeremias

Content-ID: 172329

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

Ausgedruckt am: 05.11.2024 um 12:11 Uhr

Skyemugen
Skyemugen 31.08.2011 um 09:33:04 Uhr
Goto Top
Aloha,

warum arbeitest du eigentlich nicht einfach mit

for /f "delims=" %%a in ('reg query HKEY_USERS ^|findstr "S-1-5-21-" ^|findstr /v "_Cl"') do set "Ausgabe=%%a"
?

greetz André

edit: /v hinzugefügt vor dem Frühstück nicht gesehen
JKoenig
JKoenig 31.08.2011 um 09:39:18 Uhr
Goto Top
Puh, weil ich mich leider nur mittelmäßig mit Batch auskenne face-smile

funktioniert so weit, nur gibt es jetzt noch eine Möglichkeit das letzte findstr mit einem NOT zu verbinden (es soll eben nicht der Key mit der Endung "_Classes" ausgegeben werden) ?

Ansonnsten funktioniert das schon super danke face-smile

Gruss
Jeremias

€dit:
Ok, acta non verba ...
Die Ausgabe krieg ich ja da es sich um feste acht Zeichen handelt mit %Ausgabe:~0,-8% hin.

Danke nochmal face-smile

Gruss
Jeremias
Skyemugen
Skyemugen 31.08.2011 um 10:36:59 Uhr
Goto Top
Aloha,

stimmt, da fehlte noch der Schalter /v, den hatte ich bei dir übersehen face-wink - hättest du aber auch selber herausfinden können ^_^

greetz André