Pythonを使ってPCのシャットダウンのようなOS操作を自動化したい、と考えたことはありませんか。さらに、そのPythonスクリプトを、ダブルクリックするだけで簡単に実行できる「バッチファイル(.bat)」から呼び出せたら便利です。
この記事では、PythonでWindows PCをシャットダウンするスクリプトの作成方法から、それをバッチファイルから実行するための手順、そして最も重要な環境設定のポイントまでを詳しく解説します。
PythonでPCをシャットダウンする基本コード
まず、PythonでOSのコマンドを実行する基本的な方法です。標準ライブラリのosモジュールを使用します。
os.system()関数を使うと、コマンドプロンプトで実行するのと同じコマンドをPythonから呼び出すことができます。
OSごとにシャットダウンのコマンドは異なります。
- Windows:
shutdown /s /t 0 - macOS:
sudo shutdown -h now - Linux:
sudo shutdown nowまたはsudo systemctl poweroff
今回はWindowsのバッチファイル実行がテーマですので、Windowsのコマンドshutdown /s /t 0(即時シャットダウン)を使用します。
バッチファイル(.bat)からPythonスクリプトを実行する
Pythonスクリプトを直接実行するのではなく、バッチファイルを経由する最大のメリットは「手軽さ」です。.batファイルはダブルクリックするだけで実行できるため、決まった処理を素早く行うのに適しています。
手順は以下の2ステップです。
ステップ1:シャットダウン用Pythonスクリプトを作成する
まず、実行したい処理内容を記述したPythonファイル(.py)を作成します。以下のコードをテキストエディタ(VS Codeやメモ帳など)に貼り付け、ファイル名をshutdown_pc.pyなどにして保存します。
shutdown_pc.py
import os
import sys
# 実行環境がWindows('nt')でない場合は終了する
if os.name != 'nt':
print("このスクリプトはWindows専用です。")
sys.exit()
print("PCをシャットダウンします...")
# Windows PCを即座にシャットダウン
os.system("shutdown /s /t 0")
ステップ2:Pythonスクリプトを呼び出すバッチファイルを作成する
次に、ステップ1で作成したshutdown_pc.pyを呼び出すためのバッチファイル(.bat)を作成します。
以下の内容をテキストエディタに貼り付け、shutdown.batといった名前で保存します。
shutdown.bat
@echo off
REM 実行したいPythonスクリプトのフルパスを指定します
python "C:\MyScripts\shutdown_pc.py"
pause
@echo off: 実行時にコマンド自体がコンソールに表示されるのを防ぎます。python "C:...":pythonコマンドで、指定したパスのスクリプトを実行します。パスはダブルクォーテーションで囲むと、空白が含まれていても安全に実行できます。pause: 処理終了後に「続行するには何かキーを押してください…」と表示し、コンソールを一時停止します。エラーの確認などに便利です(不要なら削除しても構いません)。
これで、shutdown.batをダブルクリックすると、shutdown_pc.pyが実行され、PCがシャットダウンされます。
Windows環境で実行するための必須設定
上記のバッチファイルが正しく動作するためには、実行するWindows PCに適切な環境設定がされている必要があります。
最も重要なのは「Pythonのインストール」と「PATHの設定」です。
1. Pythonのインストールが必須
.pyファイルはPythonのコードが書かれたテキストファイルに過ぎません。そのコードを解釈し、実行するための「Python実行環境(通訳者)」がPCにインストールされている必要があります。
Python公式サイト(python.org)からインストーラーをダウンロードしてインストールを行ってください。
2. 最重要:インストール時に「Add Python to PATH」にチェック
Pythonのインストール時、最初の画面で必ずAdd python.exe to PATH(または Add Python <バージョン> to PATH)のチェックボックスをオンにしてください。
なぜPATH設定が必要か?
PATH設定を行うと、PCのどの場所からでも python というコマンドだけでPython実行環境を呼び出せるようになります。
もしこの設定を忘れると、バッチファイルはpythonというコマンドを見つけられず、「’python’ は、内部コマンドまたは外部コマンド…として認識されていません。」というエラーが発生します。
その場合、バッチファイルに以下のようにpython.exe本体のフルパスを記述する必要があり、非常に不便です。
REM PATHが通っていない場合の記述例
"C:\Users\YourUser\AppData\Local\Programs\Python\Python312\python.exe" "C:\MyScripts\shutdown_pc.py"
(補足)Pythonスクリプトはどこに置くべきか?
Windows環境では、自作のPythonスクリプトを置く場所に厳密なルールはありません(Linuxの/binや/optのような慣習は一般的ではありません)。
管理しやすいように、ご自身でルールを決めて保存するのが最善です。
- プロジェクト単位で管理する
C:\Users\<ユーザー名>\Documents\MyPythonProjects\ShutdownTool\shutdown.py - 自作スクリプト置き場を作成する
C:\Tools\PythonScripts\shutdown.py(※Cドライブ直下はアクセス権の問題を避けるため、ユーザードキュメント配下などが推奨される場合もあります)
重要なのは、「どこに置いたか」よりも、バッチファイルからその場所を正しくフルパスで指定できることです。
まとめ
Pythonとバッチファイルを連携させることで、PCのシャットダウンのような定型作業をダブルクリック一つで実行できるようになります。
成功の鍵は、Python本体をインストールすること、そしてインストール時に「Add Python to PATH」のチェックを忘れないことです。この環境設定さえ整えれば、さまざまなPC操作の自動化に応用できます。
