Я намагаюся написати сценарій, який перевірить, чи виконується процес (у моєму випадку це віртуальна машина)
@echo off
wmic process where name="VirtualBox.exe" | find "GitHubEnterprise" /c > tmpcount
set /p count= < tmpcount
echo Number of instances = %count%
Таким чином, це дозволяє мені бачити, чи працює мій екземпляр GitHub, але він вимагає, щоб я міг написати вивід пошуку у файл, а потім прочитати його назад і видалити файл. (Слід зазначити, що існує дві копії 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