Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удаление пераметра реестра если bat файл запущен в Безопасном режиме

Ответить
Настройки темы
CMD/BAT - Удаление пераметра реестра если bat файл запущен в Безопасном режиме

Аватара для Sfero_ID

Пользователь


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

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


Нужен совет:
Необходимо удалить параметр реестра и при этом вывести сообщение1 если параметр найден и удалён, или сообщение2 если параметр не существует.
Также, подскажите, как остановить выполнение bat файла, если Windows загружена не в Безопасном режиме?

-------
"Извините, вы не можете использовать указанный пароль. Такой пароль уже использует пользователь Misha. Пожалуйста, придумайте другой пароль."


Отправлено: 23:21, 04-06-2013

 

Ветеран


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

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


Код: Выделить весь код
@ECHO OFF
(REG DELETE "HKCU\Software\*****" /V "***" /F 2>nul&&ECHO Message 1)||ECHO Message 2
PAUSE>nul


Цитата Sfero_ID:
CMD/BAT - Удаление пераметра реестра если bat файл запущен в Безопасном режиме »
Цитата Sfero_ID:
Также, подскажите, как остановить выполнение bat файла, если Windows загружена не в Безопасном режиме? »

???

Последний раз редактировалось Georgio, 04-06-2013 в 23:57.

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

Отправлено: 23:49, 04-06-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Sfero_ID

Пользователь


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

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


Суть в том, что параметр реестра удаляется, только в безопасном режиме: возможно ли, если bat файл запущен в обычном режиме Windows, вывести сообщение об этом?

-------
"Извините, вы не можете использовать указанный пароль. Такой пароль уже использует пользователь Misha. Пожалуйста, придумайте другой пароль."


Отправлено: 01:20, 05-06-2013 | #3


Ветеран


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

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


Думаю, что, если по какой-либо причине параметр или раздел реестра не могут быть в данный момент удалены, то в командной строке будет такое сообщение, и вставлять команду в BAT-файл для вывода в этом случае своего какого-нибудь сообщения не имеет смысла.


Чтобы увидеть такое сообщение, если оно будет, просто убираем из кода 2>nul:

Код: Выделить весь код
@ECHO OFF
(REG DELETE "HKCU\Software\*****" /V "***" /F&&ECHO Message 1)||ECHO Message 2
PAUSE>nul
.
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:03, 05-06-2013 | #4


Ветеран


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

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


Я вообще не вижу смысла в:
Цитата Sfero_ID:
вывести сообщение1 если параметр найден и удалён, или сообщение2 если параметр не существует. »
поскольку конечный результат и в том, и в другом случае одинаков. Бессмысленно.

Вот если параметр существует, но удалить не удалось — тогда другое дело.
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:06, 05-06-2013 | #5


Аватара для Sfero_ID

Пользователь


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

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


Цитата Iska:
Вот если параметр существует, но удалить не удалось — тогда другое дело. »
Согласен, немного не так сформулировал... Параметр удалится только в Безопасном режиме, поэтому и нужно сообщение о запуске bat файла в безопасном режиме. А как тогда сделать сообщение1, если параметр удалён или не существует, и сообщение2, если параметр существует, но удалить его не удалось?

Или проще:
Цитата Sfero_ID:
возможно ли, если bat файл запущен в обычном режиме Windows, вывести сообщение об этом? »

-------
"Извините, вы не можете использовать указанный пароль. Такой пароль уже использует пользователь Misha. Пожалуйста, придумайте другой пароль."


Отправлено: 14:50, 05-06-2013 | #6


Ветеран


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

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


Sfero_ID, например, так (Win32_ComputerSystem class (Windows)):
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq delims=" %%i in (
	`wmic.exe ComputerSystem get BootupState /value ^| find.exe "BootupState"`
) do set s%%i

if defined sBootupState (
	if "%sBootupState%" equ "Normal boot" (
		echo Normal boot mode
	) else (
		echo A one of Safe boot modes
	)
)

endlocal
exit /b 0
Я, правда, не проверял — отработает ли сама утилита «wmic.exe» в безопасном режиме.

Отправлено: 15:25, 05-06-2013 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удаление пераметра реестра если bat файл запущен в Безопасном режиме

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] не работает bat файл если в пути имеются русские символы. Pinguine Скриптовые языки администрирования Windows 30 27-05-2019 12:18
CMD/BAT - BAT-файл копирование\удаление на Synology Silencerun Скриптовые языки администрирования Windows 0 03-07-2012 14:28
Разное - [решено] Как запустить *.bat файл по расписанию в windows 7 в скрытом режиме S--a--n Microsoft Windows 7 1 06-03-2012 09:17
CMD/BAT - [решено] .bat: удаление значения реестра после отбора Lightman123 Скриптовые языки администрирования Windows 25 17-08-2011 13:54
.BAT файл с пингом и правкой реестра. McPetrovich Хочу все знать 3 22-09-2010 20:29




 
Переход