🫠

Pythonのプログラムをbatファイルで実行する

2023/05/27に公開

Windowsでpythonのプログラムをbatファイルで実行する方法を記載します。
昔はフルパスで実行させるやり方で書いていましたが、シンプルにbatファイルで書く方法を見つけたので記載します。

何に使えるのか

タスクスケジューラーでpythonのプログラムを定期実行させたいときに役立ちます。

前提

Python利用のための環境変数PATHを設定されていることが前提です。
ターミナルで、pythonのコマンドが使える状態である必要があります。

参考
Python利用のための環境変数PATHを設定する

フォルダ構成

test
├─test.py(動かしたいプログラム)
├─run.bat

run.bat

@echo off
cd /d %~dp0
python test.py
pause

解説

@echo offをバッチファイルの最初に配置することで、余分な情報やコマンドの出力を表示せずにスクリプトを実行できます。ただし、エラーメッセージなどの重要な情報も表示されなくなるため、デバッグやトラブルシューティングのために必要な場合は、@echo offを一時的にコメントアウトするなどして表示を有効にすることもできます。

cd /d %~dp0 は、バッチファイルが格納されているディレクトリに移動します。%~dp0 は、バッチファイルのフルパスを表します。cd フルパス\testとやっていることは同じです。

python test.pyはtest.pyを実行します。

pause は、バッチファイルの実行が終了した後にコマンドプロンプトを一時停止するためのコマンドです。これにより、バッチファイルの結果やエラーメッセージを確認するために、ユーザーが手動でウィンドウを閉じるまで一時停止されます。とりあえずbatファイルの最後に追加しておくと良いです。

Discussion