はじめに
Pythonスクリプトを毎回手動で実行することは少し手間です。
本記事では、バッチファイルで一発実行する方法をご紹介します。次回の記事では、実行中に遭遇したエラーについても解説する予定です。
📌 本記事で使用したサンプルコードは GitHub に公開しています。
▶︎ GitHub リポジトリはこちら → GitHub
バッチファイル(BATファイル)とは
「バッチファイル」とは、コマンドプロンプト(CMD)で使用する複数のコマンドを保存し、一括で実行できるファイルのことです。拡張子は .bat
です。
例えば、コマンドプロンプトでDドライブ内の demo
フォルダにあるPythonスクリプト app.py
を実行したい場合、次の二つの手順が必要です。
手順 1.
カレントディレクトリを demo
フォルダに移動します。
※ CドライブからDドライブに切り替えるには、
D:
と入力します。。
cd D:\demo
手順 2.
app.py
を実行します。
python app.py
このように、元々コマンドプロンプトではコマンドを一つずつ手動で実行する必要がありますが、先ほどの二つのコマンドをバッチファイルにまとめておけば、入力する必要はありません。
以降は、そのバッチファイルをダブルクリックするだけで処理が自動的に実行されます。
バッチファイルの作成方法
- 右クリックして「新規作成」→「テキスト ドキュメント」を選択します。
- 自動化したい複数のコマンドを入力し、ファイルを保存します。
- 拡張子は
.txt
から.bat
に変更します。 - 作成完了!
- ダブルクリックするだけと、全てのコマンドが自動的に実行されます。
※
run.bat
は、開発時によく使われるバッチファイル名です。
※ 拡張子を.bat
に変更した後に内容を入力する場合は、エディタで編集する必要があります。ダブルクリックすると、バッチファイルが即実行するため、注意が必要です。
バッチファイルのサンプルコード
-
@echo off
:コマンド実行の表示を抑制し、必要な出力だけを表示します -
cd D:\demo
:カレントディレクトリをD:\demo
に移動します -
python app.py
:Pythonを使ってapp.py
を実行します -
pause
:ウィンドウを閉じる前に、一時停止します
※ 別ドライブからDドライブに切り替える場合は、先に D:
を入力する必要があります。
バッチファイル(.bat)の実行
app.py
のサンプルコード
from datetime import datetime
now = datetime.now()
today = now.strftime("20%y-%m-%d %H:%M:%S") # データ型をstr(文字列)に変換する
print(today) # 現在の日時を出力する
print(type(today)) # データ型を出力する
run.bat
の実行結果
先程 run.bat
にて @echo off
を設定しているため、app.py
の実行結果(現在の日時)のみが表示されます。
おわりに
バッチファイルを利用すれば、エディタの起動や仮想環境の有効化など手間のかかる作業は省略できます。
ただし、実際に run.bat
を実行した際、一般的なものとは少し異なる特殊なエラーに遭遇しました。次の記事では、その原因と対処方法を紹介します。
📌 本記事で使用したサンプルコードは GitHub に公開しています。
▶︎ GitHub リポジトリはこちら → GitHub