Pythonスクリプトを一発起動!相対パスでバッチファイル(.bat)を作ると超便利

Pythonで作業していると、「毎回コマンドプロンプトでフォルダ移動→スクリプト実行」を繰り返すのは面倒ですよね。
特に、パスが長かったり複数のプロジェクトを扱っている場合は、手間も増えてストレスの原因に。
そんな悩みを解決するのが「バッチファイル(.bat)」です。本記事では、バッチファイルを相対パスで作成するメリットと、具体的な作成方法、実践例をわかりやすく解説します。

.pyをコマンドプロンプトで毎回起動するのは面倒くさいですよね?

Pythonスクリプトを実行するたびに、コマンドプロンプトを開いて

cd C:\Users\user\project
python main.py

などと入力するのは意外と手間がかかります。
毎回パスを指定したり、タイポでエラーになったり、ちょっとした作業でも時間がかかりがちです。

相対パスでbatファイル作ると起動が便利ですよ

こんな時におすすめなのが**バッチファイル(.batファイル)**の活用です。
バッチファイルを作成すれば、ダブルクリック一発でPythonスクリプトが自動実行できます。
しかも、「相対パス」で記述することで、フォルダごとコピーしたり、パソコンを変えてもそのまま使えます。
複数人でファイルを共有する場合や、後でフォルダ構造を変更する場合にもとても便利です。

batファイルの作成方法(初心者向けに解説)

バッチファイルは、メモ帳などのテキストエディタで簡単に作成できます。手順は以下の通りです。

1. メモ帳などでテキストファイルを作成

  1. デスクトップや任意のフォルダで右クリック → 「新規作成」 → 「テキスト ドキュメント」を選択
  2. 例として run.txt などの名前で保存します(ファイル名は日本語でもOKですが、後述の理由で半角英数字推奨です)

2. バッチファイルの中身を書き込む

作成したテキストファイルをダブルクリックして開き、以下の内容を書きます。

@echo off
python main.py
pause

ポイント
上記の例では「main.py」を実行しますが、同じフォルダ内の別のPythonファイルを実行したい場合は、そのファイル名(例:sample.py)を書き込むだけでOKです。

たとえば sample.py を実行したい場合は次のように書き換えます。

@echo off
python sample.py
pause

書き終わったら「ファイル」→「上書き保存」で保存しましょう。

3. 拡張子を「.bat」に変更

保存したテキストファイル(例:run.txt)を右クリック → 「名前の変更」で
run.bat に拡張子を変更します。

注意
拡張子が表示されていない場合は、エクスプローラーの「表示」タブから「ファイル名拡張子」にチェックを入れてください。
これで.txtが見えるようになります。

4. バッチファイルを実行

バッチファイルをダブルクリックすれば、書き込んだ.pyファイルが一発で実行されます。
ファイル名は「run.bat」でも「スタート.bat」でも、日本語でもOKですが、できれば半角英数字のファイル名をおすすめします(エラーや不具合が起きにくいため)。


コード例

基本パターン(同じフォルダの場合)

@echo off
python main.py
pause
  • @echo off :コマンドの表示をオフにします(なくても動作します)
  • python main.py :main.py を実行します
  • pause :スクリプト実行後に画面がすぐ閉じるのを防ぎます

サブフォルダの場合

例えば src フォルダの中に main.py がある場合は

@echo off
python src\main.py
pause

このように書けばOKです。

ワンポイント

  • Pythonのパスが通っていない場合や、「pythonが見つかりません」と表示された場合は、py main.py としてもOKです
  • パスやファイル名にスペースや日本語が含まれている場合は、"src\サンプル スクリプト.py" のようにダブルクォーテーションで囲むと安心です

まとめ

  • Pythonスクリプトを毎回コマンドプロンプトから手動で起動する手間を省ける
  • バッチファイルを使えば、ダブルクリック一発で自動実行できて作業効率がアップ
  • 相対パスで書くことで、フォルダの移動や共有、コピーにも柔軟に対応できる
  • 実行したい.pyファイル名を書き換えるだけで、どのスクリプトにも使い回し可能

ぜひ一度試してみてください!

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です