Я пытаюсь удалить определенные значения реестра. Я использовал the code (by "rojo").Как удалить несколько значений в реестре
Этот код отлично работает, если вы определяете точный ключ. Например, я хочу удалить Logon.vbs из Run. Если я также хочу удалить Logoff.vbs, кажется, я не могу использовать * .vbs для удаления этих двух. Как я могу это сделать (удаление нескольких ключей с тем же расширением)?
Связанный с этим вопрос заключается в том, как удалить ключ, содержащий определенные данные. Например, у меня есть ключ с именем Logon, который содержит данные в C: \ Windows \ Logon.vbs. Я хочу, чтобы и этот ключ был удален. При использовании приведенного выше примера это не сработало.
У меня есть разрешение на эти ключи, так что это не проблема. Что мне не хватает или что-то не так?
В качестве примера я предоставил скриншот, где пример (1) представлен красным цветом и (2) синим цветом. Скриншот:
код в моем первом примере будет выглядеть следующим образом:
@echo off
setlocal
set "DisableScripts=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
rem get only the first token of each line of "reg query"
for /f %%I in (
'reg query "%DisableScripts%"'
) do (
echo(%%I | findstr /i "Logon.vbs" >NUL && (
rem (if "findstr" didn't exit with an abnormal error code)
echo Deleting item %%I
reg delete "%DisableScripts%" /v "%%I" /f
)
Это удаляет ключ "logon.vbs" просто отлично. Однако я также хочу удалить «Logoff.vbs». Я пробовал использовать «* .vbs», но безрезультатно.
Вышеприведенный код также не удаляет значение «Script», в котором данные содержат Logon.vbs. Полагаю, мне нужно было как-то использовать переключатель /d для этого ...
Вы должны добавить примеры на свои вопросы. – Endoro
Привет Эндоро, вы правы, я добавил пример и дополнительную информацию. Заранее спасибо! – user2987842
Привет, я разместил решение ниже, но я не могу понять, как удалить эти ключи с определенным значением в поле данных .... Кто-нибудь? Благодарю. – user2987842