微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

具有定义进程 ID 的 Windows 批处理启动 chrome 进程

如何解决具有定义进程 ID 的 Windows 批处理启动 chrome 进程

我必须在 Chrome 浏览器中启动一个带有批处理文件的 Web 应用程序,其中包含一个预定义的进程 ID,以便我稍后可以使用另一个批处理文件终止该特定的 Chrome 窗口。有什么办法吗?

解决方法

通过在 CMD 控制台输入这个命令,你可以看到如何创建一个进程:

wmic process call create /?

这也是:如何终止进程:

wmic process call terminate /?

所以,你可以试试这个批处理文件:

@echo off
set "targetfile=C:\Program Files\Google\Chrome\Application\chrome.exe"
set targetfile=%targetfile:\=\\%
@for /f "tokens=2 delims==; " %%# in ('wmic PROCESS CALL CREATE "%targetfile%" ^|findstr /I "ProcessId"') do set "PID=%%#"
echo The Process is created with PID=%PID%
pause
wmic process where ProcessId="%PID%" call terminate
REM Taskkill /PID %PID%
pause

您可以创建一个名为::Create_Process <TargetFile> <PID> 的子程序,以便像这样调用它:

@echo off
Title Start chrome process with a defined process ID
set "TargetFile=C:\Program Files\Google\Chrome\Application\chrome.exe"
Call :Create_Process "%TargetFile%" PID
echo The Process is created with PID=%PID%
pause
wmic process where ProcessId="%PID%" Call Terminate
REM Taskkill /PID %PID%
pause
Exit
::-----------------------------------------------------------------
:Create_Process <TargetFile> <PID>
Set "TargetFile=%~1"
Set TargetFile=%TargetFile:\=\\%
@for /f "tokens=2 delims==; " %%# in (
'wmic PROCESS CALL CREATE "%TargetFile%" ^|findstr /I "ProcessId"'
) do set "%2=%%#"
Exit /B
::-----------------------------------------------------------------

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。