Я пытаюсь написать скрипт, который будет проверять, запущен ли процесс (в моем случае это виртуальная машина)
@echo off
wmic process where name="VirtualBox.exe" | find "GitHubEnterprise" /c > tmpcount
set /p count= < tmpcount
echo Number of instances = %count%
Таким образом, это позволяет мне увидеть, работает ли мой экземпляр GitHub или нет, но требует, чтобы я мог записать вывод find в файл, затем прочитать его обратно и удалить файл. (Следует отметить, что в любое время работают две копии VirtualBox.exe, поэтому я пытаюсь убедиться, что экземпляр GitHubEnterprise запущен).
Я хотел бы сохранить это число из находки непосредственно в переменной или использовать его в некоторой форме оператора if.
Теперь из моих собственных исследований по этому вопросу я видел много предложений , используя for
цикла для этого , и я попытался его следующим образом без успеха:
@echo off
setlocal enableextensions
for /f "tokens=*" %%a in (
'wmic process where "name='VirtualBox.exe'" ^| find "GitHubEnterprise" /c'
) do (
@set count = %a
)
echo Number of instances = %count%
pause
endlocal
Может кто-нибудь увидеть / сказать мне, что я делаю неправильно здесь, или сделать предложение, чтобы сделать это лучше.
Спасибо всем, хорошего дня.
JD