Войти

Показать полную графическую версию : [решено] Удаление значения параме реестра


KPOTOC
07-02-2012, 05:55
Доброго времени)))

Помогите с батником для удаления ЗНАЧЕНИЯ параметров "DisplayName" в подкаталогах ветки "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", учитывая, что "Uninstall" имеет многоуровневую структуру и параметр может находится на любом уровне.

Прошу комментировать команды.

Iska
07-02-2012, 07:42
KPOTOC, зачем сие нужно?

KPOTOC
07-02-2012, 15:01
KPOTOC, зачем сие нужно? »

...неужели не понятно за что отвечают параметры данной ветки???

Да сеструха малая прется лазить и удалять все что не попадя...

...листая форумы, так и не понял смысла коментить без нужды - посты набивать? Админил тему пару лет назад, так тема была по сути: вопрос-ответ и без лишних зачем, почему, да нет смысла...просто вопрос-ответ...

Iska
07-02-2012, 17:09
...неужели не понятно за что отвечают параметры данной ветки??? »
Мне сие понятно. Непонятно другое: зачем нужно решать некорректно поставленную задачу? Вам следует завести для сестры отдельную учётную запись, не имеющую прав администратора — если Вы для неё не авторитет и не можете этого добиться, так сказать, простыми организационными методами.

Хотите получить ответ — пожалуйста, пробуйте:
@echo off
setlocal enableextensions enabledelayedexpansion

set sSubKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

>nul chcp 1251

for /f "delims=" %%i in ('reg.exe query "%sSubKey%"') do (
>nul 2>&1 reg.exe query "%%i" /v "DisplayName" && (reg.exe delete "%%i" /v "DisplayName" /f >nul)
)

>nul chcp 866

endlocal
exit /b 0

Не забудьте сделать перед запуском пакетного файла резервную копию реестра.

так и не понял смысла коментить без нужды»
Затем, чтобы не заниматься бессмысленной или бесполезной ерундой, и задаётся уточняющий вопрос. Его проигнорировать — Ваше право.

Админил тему пару лет назад, так тема была по сути: вопрос-ответ и без лишних зачем, почему, да нет смысла...просто вопрос-ответ... »
И что?

KPOTOC
07-02-2012, 18:52
Хотите получить ответ — пожалуйста, пробуйте:

Код:
@echo off
setlocal enableextensions enabledelayedexpansion
set sSubKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
>nul chcp 1251
for /f "delims=" %%i in ('reg.exe query "%sSubKey%"') do (
>nul 2>&1 reg.exe query "%%i" /v "DisplayName" && (reg.exe delete "%%i" /v "DisplayName" /f >nul)
)
>nul chcp 866
endlocal
exit /b 0 »

Спасибо, но чуток не то...
"reg delete /v DisplayName" удаляет сам параметр, а мне нужно только значение затереть...

Команда в принципе рабочая, не проверял работу с подуровнями...

Вам следует завести для сестры отдельную учётную запись, не имеющую прав администратора — если Вы для неё не авторитет и не можете этого добиться, так сказать, простыми организационными методами. »

Можно было бы..есть большое "НО", довольно часто администрирование проходит удаленно, как по Lan/WLan так и через Internet/VPN, с поддержкой WoL, так же при администрировании в основном используются оси на Linux, редко Win...В целом постоянно нужно что бы был автовход на Админа...

Iska
07-02-2012, 19:05
Спасибо, но чуток не то...
"reg delete /v DisplayName" удаляет сам параметр, а мне нужно только значение затереть... »
Что просили изначально — то и получили ;).

Попробуйте так:
@echo off
setlocal enableextensions enabledelayedexpansion

set sSubKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

>nul chcp 1251

for /f "delims=" %%i in ('reg.exe query "%sSubKey%"') do (
>nul 2>&1 reg.exe query "%%i" /v "DisplayName" && (reg.exe add "%%i" /v "DisplayName" /t reg_sz /d "" /f >nul)
)

>nul chcp 866

endlocal
exit /b 0


Команда в принципе рабочая, не проверял работу с подуровнями... »
Можете не проверять — со вложенными значениями «DisplayName» работать не будет.

P.S. Я не нашёл у себя в:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
ни одного раздела реестра ниже первого уровня.

P.P.S. Замечание про:
Не забудьте сделать перед запуском пакетного файла резервную копию реестра. »
остаётся в силе.

KPOTOC
07-02-2012, 21:07
Что просили изначально — то и получили . »
для удаления ЗНАЧЕНИЯ параметров "DisplayName" »

Можете не проверять — со вложенными значениями «DisplayName» работать не будет.
P.S. Я не нашёл у себя в:
Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall »

Встречается довольно редко, но бывает...

P.P.S. Замечание про:
Цитата Iska:
Не забудьте сделать перед запуском пакетного файла резервную копию реестра. »
остаётся в силе. »

Само собой...без бекапа ни-ни)))

Спасибо, тема закрыта!




© OSzone.net 2001-2012