crofex
Goto Top

Teil eines REG query in Variable schreiben und weiter verarbeiten.

Hallo liebe Admins!

Ich möchte einen Registryeintrag suchen und anschließend löschen. Das Suchen des EIntrags via reg query habe ich bereits hinbekommen.
Die Syntax sieht folgendermaßen aus:
reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" /s /f "New Signature"

Als ergebnis gibt er mir folgendes:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook 9375CFF0413111d3B88A00104B2A6676\00000003
New Signature REG_BINARY 7300690067006E0061007400750072000000

Suchvorgang abgeschlossen: 1 übereinstimmende Zeichenfolge(n) gefunden.

Jetzt möchte ich den Reg Key, also nur das "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook 9375CFF0413111d3B88A00104B2A6676\00000003" in eine Variable geschrieben haben um anschließend via reg delete den Wert "New Signature" zu löschen.

Ich weiß, dass ich mit tokens arbeiten muss. Mein Versuch sieht da so aus:
FOR /F "tokens=1,2,3,4 delims= " %%B IN ('reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" /s /f "New Signature"') DO SET Key=%%B

Echo %Key%

Die Ausgabe mit Echo bringt mir dann aber das Wort "Suchvorgang".

Wie mache ich es also richtig?

Gruß
Chris

PS: Ich sollte vielleicht erwähnen, dass "New Signature" ein Wert und kein Schlüssel ist.

Content-Key: 191973

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

Printed on: April 24, 2024 at 23:04 o'clock

Mitglied: 60730
60730 Sep 28, 2012 updated at 09:12:28 (UTC)
Goto Top
moin,

Die Syntax sieht folgendermaßen aus:
reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" /s /f "New Signature"

das muß ich mir garnicht copy&pasten - die sieht so sicher nicht aus.
"query" kennt kein Force.

Dann willst du doch "irgendwas damit veranstalten und das rad haben wir doch schon..

for /f "delims= eol=!" %a in ('reg query "hkcu\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\"') do reg query "%a" /s |find /i "New Signature" && echo reg delete "%a"  

Gruß
Member: Crofex
Crofex Sep 28, 2012 updated at 10:51:05 (UTC)
Goto Top
Hi!
In diesem Falle steht das /f für folgendes (aus der reg query hilfe entnommen):
/f Bestimmt die zu suchenden Daten bzw. Muster.
Anführungszeichen verwenden, falls in der Zeichenfolge
Leerzeichen vorhanden sind. Standard ist "*".

Leider bin ich durch die hilfen von tokens und for nicht durchgestiegen. Entschuldige bitte, dass ich trotz Suche und nicht Verstehens der Syntax einen neuen Post aufgemacht hab.

Selbst ist der Mann face-smile

Umständlich, aber so gehts auch:
reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" /s /f "New Signature" >>c:\temp.txt
findstr "HKEY" c:\temp.txt >>c:\temp2.txt
SET /p Key=<c:\temp2.txt
REG DELETE "%Key%" /v "New Signature" /f

del c:\temp.txt
del c:\temp2.txt
reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" /s /f "Reply-Forward Signature" >>c:\temp.txt
findstr "HKEY" c:\temp.txt >>c:\temp2.txt
SET /p Key=<c:\temp2.txt
REG DELETE "%Key%" /v "Reply-Forward Signature" /f

del c:\temp.txt
del c:\temp2.txt

Die beiden reg-query-Aufrufe laufen an meiner Win7 Arbeitsstation 1A durch. Auf einer winXP maschine jedoch nicht. Jemand eine Idee, was ich dagegen tun kann?
Member: Crofex
Crofex Sep 28, 2012 updated at 12:16:42 (UTC)
Goto Top
Okay, reg query kennt unter XP den /f schalter nicht... Das lässt mich jetzt ziemlich alt aussehen... Wie soll ich also unter XP mit dem Problem verfahren?

Neue Erkenntnis: Mit dem schalter /v "New Signature" und /s funktioniert das reg query unter Win7 zwar auch wie geplant, unter XP leider nicht.

Fehler: zu viele Befehlszeilenparameter.