なろう分析記録

『小説家になろう』をふくめ『ネット小説投稿サイト』を分析する。コード置き場,主にPython,javascript,たまに創作。

Pythonファイルをバッチファイル(.bat)から実行する方法

Pythonのスプリクトファイル(.py)をWindowsで実行する方法はいくつかありますが、

ここではその中でも、様々な応用が可能な「バッチファイル(.bat)」から.pyファイルを実行する方法を紹介したいと思います。

f:id:karupoimou:20190603165254p:plain
バッチファイル

バッチファイルから「.py」を起動するメリット

ソースコードの紹介の前にバッチファイルから起動するメリットについて挙げておきます。

  • 処理終了後にウィンドウが閉じないように設定できる。
  • 別々の.pyファイルを扱える。
  • タスクスケジューラから実行しやすくなる。
  • 特定のファイルを指定してダブルクリックで実行する

※なおパスさえ通しておけば、「.py」をダブルクリックで直接実行することは可能です。

バッチファイルの記載例

pythonのパスを通している場合

python test.py
pause

この場合、パスを通しているバージョンのpython.exeが.pyファイルを実行します。

パスの通し方

karupoimou.hatenablog.com

パスを通していない場合など

C:\Python37\python.exe C:\Python37\test.py
pause

パスを通していなくてもこの様にpython.exeの場所を直接指定することで、指定したバージョンのpython.exeで.pyファイルを実行することができます。

ドラッグアンドドロップで実行する.batファイル

パスを通していない場合
C:\Python37\python.exe %1
pause

この様に記載すると「%1」の所にドロップされたファイルの名前が代入されます。

このバッチファイルを作っておけば、どこに置いている.pyファイルでも、batファイル上にドラッグ・アンド・ドロップするだけで簡単に実行できるので便利です。

複数のファイルを同時ドラッグアンドドロップするバッチファイル
for %%i in (%*) do (
C:\Python37\python.exe %%i
)
pause

バッチファイルをこの様に書くと、一度に複数の.pyファイルをドラッグ・アンド・ドロップすることが出来るようになります。
ドロップされたファイルは1つずつ順番に実行されます。