🫠
Pythonのプログラムをbatファイルで実行する
Windowsでpythonのプログラムをbatファイルで実行する方法を記載します。
昔はフルパスで実行させるやり方で書いていましたが、シンプルにbatファイルで書く方法を見つけたので記載します。
何に使えるのか
タスクスケジューラーでpythonのプログラムを定期実行させたいときに役立ちます。
前提
Python利用のための環境変数PATHを設定されていることが前提です。
ターミナルで、pythonのコマンドが使える状態である必要があります。
フォルダ構成
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