如何关闭使用 cmd/bat 打开的特定 Chrome 配置文件?



我需要关闭特定Chrome配置文件的所有窗口。假设我执行:

chrome.exe -remote-debugging-port=4000 --user-data-dir=F://chrome

以打开新的 Chrome 配置文件。我需要从cmd/bat关闭此特定的Chrome配置文件。

我试过这个:

taskkill /IM chrome.exe -remote-debugging-port=4000 --user-data-dir=F://chrome

但它不起作用。

您可以使用下面的批处理文件完成此操作:

for /f "tokens=3 delims=," %%a in ('wmic process where "caption='chrome.exe'" get processID^,commandline /format:csv ^| FIND "-remote-debugging-port=4000 --user-data-dir=F://chrome"') do set _pid=%%a
taskkill /f /pid %_pid% /t

解释

  • wmic process where "caption='chrome.exe'" get processID^,commandline /format:csv列出了所有chrome.exe进程,其中包含用于启动它们的命令行以及我们将用于终止它的进程 ID。
  • 管道 (|) 这将进入FIND "-remote-debugging-port=4000 --user-data-dir=F://chrome"将仅返回使用您使用的命令启动的chrome.exe进程。
  • for /f "tokens=3 delims=," %%a in ("...") do set _pid=%%a会将_pid环境变量设置为我们要杀死的进程的进程 ID。

    wmic命令与find命令相结合应该只给我们一个结果。如果多次使用该命令,则只会在列表中找到最后一个进程的进程 ID。

  • taskkill /f /pid %_pid% /t

    • /f强制任务结束,否则 Chrome 将保持打开状态。
    • /pid %_pid%将提供我们在for循环中获得的进程 ID。
    • /t告诉taskkill杀死整个进程树。

      由于每个Chrome标签页和扩展程序都在自己的进程中运行,因此我们希望确保它们也被杀死。

最新更新