Я ищу что-то вроде ЧП.exe, он может выполнить команду и возвращает свой pid.
Я не могу использовать ТЭЦ.EXE, потому что это, кажется, сообщается как зараженный файл в некоторых антивирусов.
спасибо
Я ищу что-то вроде ЧП.exe, он может выполнить команду и возвращает свой pid.
Я не могу использовать ТЭЦ.EXE, потому что это, кажется, сообщается как зараженный файл в некоторых антивирусов.
спасибо
Wmic process where (Name like '%CHP%') get caption, name, commandline, ProcessId | more
реальный пример:
Wmic process where (Name like '%ie%') get caption, name, commandline, ProcessId | more
выход:
Wmic process get ProcessId
извлечь только processId в переменную из вывода запроса:
ProcID.cmd:
@ECHO OFF
FOR /F %%T IN ('Wmic process where^(Name^="explorer.exe"^)get ProcessId^|more +1') DO (
SET /A ProcessId=%%T) &GOTO SkipLine
:SkipLine
echo ProcessId = %ProcessId%
выход:
ProcessId = 2372
Это довольно просто сделать в PowerShell. Start-Process notepad.exe -PassThru
запустит блокнот и возврата:
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
45 6 1672 4240 61 0.02 9212 notepad
оттуда вы можете использовать его как объект, сохраняя вывод ($notepad = Start-process notepad.exe -PassThru
а то $notepad.ID
) и закончить все сценарии вы делали с ним.
возврат к пакетному скрипту (если это абсолютно необходимо) немного сложнее. Если вы совершенно застряли в использовании пакетного файла, то, вероятно, проще всего написать сценарий PowerShell, который соответствующие сведения о файле или разделе реестра, вызовите сценарий PowerShell из пакетного файла, а затем прочитайте файл или раздел реестра далее в пакетном сценарии.
если вы не хотите, чтобы коснуться PowerShell на всех, то вам придется прибегнуть к WMIC или tasklist, чтобы найти процесс после его создания.
вы можете запустить программу, а затем выполните следующую команду, заменив firefox
С именем процесса требуется:
for /f "tokens=2" %a in ('tasklist /nh /fi "imagename eq firefox.exe"') do echo %a
Он выведет pid исключительно в моем случае выход 5540
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]