Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2022, 15:27   #31
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Добрался до компьютера с Windows 7. Проверил. При запуске cmd.exe от имени Администратора и вызове в ней bat файла следующего содержания
Код:
@echo off
set SName=dnscache
sc queryex %SName% | find "Состояние" | find "RUNNING" >nul && (
  net stop %SName% >nul || (
    for /F "usebackq tokens=3" %%A in (`sc queryex %SName% ^| find "ID_процесса"`) do (
      taskkill /t /f /pid %%A
      ping -n 10 localhost >nul
    )
  ) && net stop %SName%
)
net start %SName%
выдает следующий результат
Код:
Служба "DNS-клиент" запускается.
Служба "DNS-клиент" успешно запущена.
При запуске без прав администратора выдает
Код:
Системная ошибка 5.

Отказано в доступе.

Ошибка: Не удается завершить процесс с идентификатором 6000, дочерний процесс 592.
Причина: Отказано в доступе.
Системная ошибка 5.

Отказано в доступе.

Затребованная служба уже запущена.

Для вызова дополнительной справки наберите NET HELPMSG 2182.
Тоже самое можно увидеть, если запустить bat файл двойным щелчком, предварительно дописав в его конце команду pause.
macomics вне форума Ответить с цитированием
Старый 18.07.2022, 17:24   #32
arthurits
Новичок
Джуниор
 
Регистрация: 18.07.2022
Сообщений: 3
По умолчанию

Зачем городить
Цитата:
for /F "usebackq tokens=3" %%A in (`sc queryex %SName% ^| find "ID_процесса"`) do (
taskkill /t /f /pid %%A
если можно
taskkill /f /t /FI "SERVICES eq %ServiceName%"
arthurits вне форума Ответить с цитированием
Старый 18.07.2022, 17:27   #33
arthurits
Новичок
Джуниор
 
Регистрация: 18.07.2022
Сообщений: 3
По умолчанию

Set ServiceName=dnscache
SC queryex %ServiceName%|Find "Состояние"|Find "RUNNING"&&(
net stop %ServiceName%||(
taskkill /f /t /FI "SERVICES eq %ServiceName%")
net stop %ServiceName%
)
net start %ServiceName%

результат

C:\>Set ServiceName=dnscache

C:\>SC queryex dnscache | Find "Состояние" | Find "RUNNING" && (
net stop dnscache || (taskkill /f /t /FI "SERVICES eq dnscache" )
net stop dnscache
)
Состояние : 4 RUNNING
Затребованная пауза, продолжение или останов службы невозможны.

Для вызова дополнительной справки наберите NET HELPMSG 2191.

Успешно: Процесс, с идентификатором 18212, дочерний процесса 1180, был завершен.
Служба "DNS-клиент" не запущена.

Для вызова дополнительной справки наберите NET HELPMSG 3521.


C:\>net start dnscache
Служба "DNS-клиент" запускается.
Служба "DNS-клиент" успешно запущена.

Последний раз редактировалось arthurits; 18.07.2022 в 17:44.
arthurits вне форума Ответить с цитированием
Старый 18.07.2022, 17:50   #34
arthurits
Новичок
Джуниор
 
Регистрация: 18.07.2022
Сообщений: 3
По умолчанию

Так какой ответ на задание? Вставляю код, пишет что ответ не верный
arthurits вне форума Ответить с цитированием
Старый 18.07.2022, 23:27   #35
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Не знаю про какое задание вы говорите, вопрос в теме был: помогите исправить ошибку.
Я привел вариант текста скрипта, который у меня в Windows 7 сработал без ошибок.
Даже привел несколько вариантов работы, которые показали необходимые требования для запуска.
По поводу /FI - этот ключ появился в Windows Vista SP1 и позже в Windows XP SP3. На более ранних версиях Windows он не работает. Но в исходном тексте был использован for - его и доводил до работоспособного состояния.
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт/Подмена DLL (Brain->Вынос) coNsept Общие вопросы C/C++ 1 26.07.2011 01:53
Kaspersky 7.0.0.125 tsergey Безопасность, Шифрование 2 27.02.2009 11:54
Kaspersky Elm0 Свободное общение 11 05.06.2007 11:29