ChromeがWindowsのシャットダウンを妨げるのでスムーズにシャットダウンさせるバッチファイルを作ってみる(HomePremium編)

2019年8月23日

キャプチャ
GoogleChromeを起動したままシャットダウンをしようとすると、
「バックグラウンドプログラムの終了を待機しています」
という表示がでて、なかなか終了してくれません。(環境によるかも)
これがまだブラウザ一つ閉じるだけなら良いのですが、chromeをバックグラウンドで動作させていたり、TweetDeckやハングアウトなどのWebアプリケーションとしてブラウザと別に起動していたりすると、それぞれを手動で閉じないと行けないので面倒です。
そこで、Chromeすべてを一発で終了してシャットダウンまで行うバッチファイルを作成してみました。

※HomePremiumより上のエディションだと、シャットダウン時にバッチファイルを実行することができます。(スタートアップと反対のことができる)後日新しくやり方を書きます。

目標

普通のバッチファイルでは面白く無いので、タスクバーに登録して、アイコンも設定して、ワンクリックで動作するものにしようと思います。

作ってみる

バッチファイルを作成

まずは元となるバッチファイルを作成します。メモ帳を起動して以下のとおり書いたら最後に.batをつけて保存します。


@echo off
echo シャットダウンを続行しますか?
pause
:LOOP
tasklist | find "chrome.exe" 2>nul
if not errorlevel 1 (goto KILL) else (goto END)

:KILL
taskkill /IM chrome.exe 2>nul
goto LOOP

:END
C:\Windows\System32\shutdown.exe /s /t 0
exit

このプログラムはすべてのchrome.exeが終了するまでkillし続け、タスクから見つからなくなったらシャットダウン処理をします。
処理前にpauseで一時停止するようにしてあるので、間違えて実行してしまっても安全です。即座に終了したいなら、2,3行目は消してもいいかもしれません。
今回は
F:\FUKAJUN\Documents\自作プログラム
に保存しました。ファイル名はChrome_killer.batとします。
キャプチャ

バッチファイルのショートカットを作成

タスクバーに表示するための下準備。先ほど作ったバッチファイルのショートカットを作成します。
キャプチャ

ショートカットのリンク先を変更する

F:\FUKAJUN\Documents\自作プログラム\Chrome_killer.bat
となっているところを、
C:\Windows\System32\cmd.exe /C Chrome_killer.bat
に変更します。
適用(A)をクリックするとアイコンがコマンドプロンプトになり、この時点でタスクバーに表示できるようになります。
キャプチャ

プロパティで自分好みにカスタマイズ

アイコンやレイアウトがプロパティから変更できるので、自分好みのものにしてみましょう。
実行時の大きさを「最小化」にしておけばコマンドプロンプトのウィンドウが表示されないため、pause処理をしない人におすすめです。
キャプチャ

キャプチャ
Before

キャプチャ
キャプチャ
After

タスクバーに表示

あとは今作ったショートカットをタスクバーに登録すれば完了。
ちなみにJumplist Extenderを使ってこれを応用すれば以下のようなことも可能。
無題