mrusklon
@mrusklon
если долго мучится - что нибудь получится

Почему не работает цикл cmd?

set cod4=qbittorrent.exe
FOR /F %%x IN ('TASKLIST /NH /FI "IMAGENAME eq %cod4%"') DO IF %%x == %cod% goto Found

не находит в тасках программу и не идет в Found , что я упускаю?
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 2
@NortheR73
системный инженер
А так?
@echo off
set cod4=qbittorrent.exe
FOR /F %%x IN ('TASKLIST /FI "IMAGENAME eq %cod4%"') DO IF %%x == %cod4% goto Found
:Found
echo Found


TASKLIST /NH /FI "IMAGENAME eq %cod4%"

вот эта команда и так выполняет поиск нужного Вам процесса...Зачем Вы результаты поиска загоняете в цикл?

Вариант с Powershell не рассматривали?
$cod4 = "qbittorrent.exe"
Get-Process | where{$_.ProcessName -like $cod4} | select ProcessName
Ответ написан
@res2001
Developer, ex-admin
Добавьте пробел между двойной кавычкой и одинарной в конце tasklist. Когда они написаны слитно они не работают как должны. Сейчас у меня винды под рукой нет, так что проверить не могу. Но это известная бага-фича, сам на нее наступал.
Ну и метка Found, конечно должна присутствовать в скрипте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы