Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Если веток больше, ничего в коде не меняется, просто добавить строчку
Call :DelReg "своя ветка" "нужная маска раздела"
Чтобы выключить отображение разделов
Код: Выделить весь код
:DelReg
	For /F "usebackq delims=" %%r In (`2^>nul REG QUERY %~1 /f %2 /k`) Do (
		Echo %%r| >nul 2>&1 Find /I "\" &&(>nul Reg Delete "%%r" /f ||Echo %%r)
	)
Exit /B
При этом если Нужно понимать, удалился ли раздел или нет, если раздел не удалился, сообщение получите.
Структура кода:

Код: Выделить весь код
@Echo Off
..........................       Ваш код
..........................
Где-то внутри 	Call :DelReg ........................ сколько угодно штук
..........................       Ваш код
..........................
Где-то внутри  возможно еще сколько угодно раз	Call :DelReg ........................ сколько угодно штук
..........................       Ваш код
..........................
Exit /B

:Sub1
        Код вашей процедуры 1 если она нужна
Exit /b

:Sub2
        Код вашей процедуры 2 если она нужна
Exit /b

и т д куча ваших процедур если нужно

:DelReg
	For /F "usebackq delims=" %%r In (`2^>nul REG QUERY %~1 /f %2 /k`) Do (
		Echo %%r
		Echo %%r| >nul 2>&1 Find /I "\" &&Reg Delete "%%r" /f
	)
Exit /B
Порядок следования процедур не имеет значения

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 09-10-2021 в 21:07.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:01, 09-10-2021 | #8