Ich versuche derzeit, Reg-Abfrage-Befehle zu verwenden, um den Datenwert "testring" in einem Wert mit einem zufälligen Namen in HKCU \ Software \ zufällige Zeichen zu finden. Ich möchte, dass das Skript den Teststring-Wert findet und anschließend den übergeordneten Schlüssel HKCU \ Software \ zufällige Zeichen löscht. Ich habe verschiedene Möglichkeiten, um mit Scripting versucht und das ist, was ich habe bisher aber ich Syntaxfehler erhalte und nicht reg Abfrage bekommen zu finden, was ich es brauche:Suche nach Datenwert mit Reg.exe und löschen übergeordneten Schlüssel
@echo off
setlocal enabledelayedexpansion
set Key="HKCU\Software"
set STRING="teststring"
for /f "delims=" %%a in ('reg.exe query "%Key%" /f "%STRING%" /d /s') do (
call :GetValueName Value "%%a"
ECHO reg.exe delete "%Key%" /v "!Value!" /f
)
goto :eof
:GetValueName
set Return=
for %%a in (%~2) do (
if "%%a"=="REG_SZ" (
set %1=!Return:~1!&goto :eof
) else (
set Return=!Return! %%a
)
)
:eof
Welche Fehler bekommen Sie? – NobodyNada
Ungültige Syntax, unabhängig davon, wie sehr ich die Syntax für die REG-Abfrage ändere. – DropItLikeItsHot
Ich denke, was @NobodyNada wollte, war die genaue Fehlermeldung. Der allgemeine Tipp zum Debuggen von Batch-Dateien besteht darin, beim Debuggen '@echo off' vom Anfang der Datei zu entfernen. Wenn sich der Fehler in Ihrem Stapel befindet, verhindert diese Zeile die Anzeige. –