如何使用 CMD 或 VBS 轻轻关闭 Chrome?

Fra*_*jas 3 vbscript cmd

我在轻轻关闭 Chrome 以自动清理缓存时遇到了一个小问题。

我有一个网站无法正确刷新,但如果我清理缓存,它会刷新。

现在我有一个带有以下代码的 .bat 文件:

taskkill /F /IM chrome.exe /T > nul
del /q "C:\Users\Francisco\AppData\Local\Google\Chrome\User Data\Default\Cache\*"
FOR /D %%p IN ("C:\Users\Francisco\AppData\Local\Google\Chrome\User Data\Default\Cache\*.*") DO rmdir "%%p" /s /q
timeout 8
start chrome --restore-last-session --start-fullscreen
Run Code Online (Sandbox Code Playgroud)

现在,我知道这会taskkill /F强制关闭进程并且可以正常工作,但是一旦 Chrome 打开,它就会显示一条消息,表明 Chrome 未正确关闭,并询问我是否要恢复上次会话。

如果我删除 /f 选项,Chrome 不会关闭:

错误:PID 为 8580 的进程(PID 辅助进程 8896)无法完成。
原因:这个进程只能强行终止(用/F选项)。

所以......我需要两个选项之一;

  1. 有没有办法像使用 CMD 或 VBS 按下 Alt+F4 一样轻轻关闭 Chrome?2。有没有办法隐藏 Chrome 恢复上次会话消息?

我更喜欢第一个选项,因为它更干净。

tux*_*y42 5

您可以使用 powershell 关闭所有以 chrome 作为进程名称的窗口。它不会终止任务,但会轻轻关闭所有 chrome 浏览器窗口,就像您单击右上角的十字一样。这是批处理的命令行:

powershell -command "Get-Process chrome | ForEach-Object { $_.CloseMainWindow() | Out-Null}"
Run Code Online (Sandbox Code Playgroud)


Hac*_*koo 5

参考@tuxy42的答案:您可以用vbscript编写打开chrome浏览器,如下所示:Open_Chrome_Browser.vbs

Set ws = CreateObject("Wscript.Shell")
siteA = "/sf/ask/4376144881/"
ws.Run "chrome -url " & siteA
Run Code Online (Sandbox Code Playgroud)

如果您想安全地关闭它:safely_close_chrome_browser.vbs

Set ws = CreateObject("Wscript.Shell")
psCommand = "Cmd /C powershell -command ""Get-Process chrome | ForEach-Object { $_.CloseMainWindow() | Out-Null}"""
ws.run psCommand,0,True
Run Code Online (Sandbox Code Playgroud)