python プログラミング

Pythonコードを実行する「バッチファイル」で作業を自動化~実装は思ったより簡単だった&超絶便利

2019年12月18日

「バッチファイル」というと難しいイメージがありますが、その使い方は思ったよりも簡単。バッチファイルが使えるようになるとルーティンワークを自動化することが可能になり、超絶便利です。

バッチファイルとは

バッチファイルとは「コマンドプロンプトに実行させたい命令列をテキストファイルに記述したもの」で、複数の命令を1つにまとめたバッチファイルを実行することで、バッチファイルに記述した複数の命令を一発で行うことが出来ます。Pythonコードを1つ1つ実行するよりも効率的です。

筆者の場合、会社のPCでエクセルファイル1つ、プログラム2つ、ブラウザで2ページを必ず開くところから業務が始まるのですが、これを(バッチファイルへのショートカットを設定した)アイコンのダブルクリックで出来るようにしました。

この記事ではPythonのコードをバッチファイルで実行する方法を解説します。Pythonの使い方を知らない場合でも、ここにあるやり方をコピペすれば大丈夫です。

Pythonとは

Pythonはプログラム言語の1つ。汎用性の高さと分かりやすくシンプルなコードで人気があります。

まずはpythonのインストール

まずはPythonをインストールします。「python install」でググれば出てきます。

日本の公式サイト:https://www.python.jp/install/windows/index.html
ダウンロードページ:https://www.python.org/downloads/

バッチファイルを置くフォルダを作成しPATHを通す

任意の場所にフォルダを作りそのフォルダをPATHに追加します。

フォルダをPATHに追加する方法は[コントロールパネル]>[システム]>[システムの詳細設定]>[環境変数]>[(ユーザー名)のユーザー環境変数]というところで編集ボタンをクリック。
新規ボタンをクリックしてフルパスでフォルダを指定すると追加されます。

ここでは例として「C:\MyPythonScripts」というフォルダを作ってPATHを通したものとして説明します。場所は任意なのでお好きなところにフォルダを作って良いです。

パスを通すとは

システムやプログラムがファイルや実行可能ファイルを探しに行くディレクトリ(パス)を、環境変数を通じて設定することがあります。これにより、プログラムはファイルやライブラリを正しく見つけて利用できるようになります。

Python用のファイル作成

pythonで実行するコードを記述したファイルを先ほど作ったフォルダ内で新規作成します。ファイルの拡張子には『.py』を指定します。内容は後述します。

フォルダ内の拡張子が表示されない方は表示されるよう設定を変更してください。「拡張子 表示」などとググれば出てきます。

ここでは『test.py』というファイルを作ったものとして話を進めます。

バッチファイルの作成

Pythonの実行コードを記述したファイル(test.py)とは別にバッチファイルを作成します。バッチファイルは拡張子に「.bat」をつけ、ファイル名を「○○.py」とします。

バッチファイルを開いて次の1行を記述します。

 batch
@py.exe (batファイルへのパス)\pyファイル名 %*

例えばパス[C:\MyPythonScripts]にある「test.py」を指定する場合は「@py.exe C:\MyPythonScripts\test.py %*」とします。

このバッチファイルを実行すると「test.py」に記述したコードが実行されるという訳です。

pythonファイル

以下、プログラム例です。指定したURLを開く、指定したエクセルファイルを開く、指定したプログラムを実行するという作業を一括で行うプログラムです。

メモ帳やエディタで以下のコードをコピペして「test.py」として保存します。

 python
import webbrowser,sys,subprocess

#ブラウザで指定したURLを開く(この場合はヤフー)
webbrowser.open('https://yahoo.co.jp')

#指定したエクセルファイルを開く。
#c:\直下にあるtest.xlsxを開く場合。
#2行目のものは、excel.exeへのパスを適宜調整してください。

EXCEL = r'c:\test.xlsx'
subprocess.Popen([r'C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE', EXCEL])

#指定したプログラムを開く(この場合はC:\TeraPad\にあるTerapad.exe)
subprocess.Popen(r'C:\TeraPad\TeraPad.exe')

パスの前についている「r」はPATH名をこのまま読み込んでくださいの意味です。

バッチファイルでできることは、ブラウザでURLを開く、指定したプログラムを開くといった他にも、調べると色々と出てきます。

バッチファイルの実行方法ですがバッチファイルをダブルクリックすればOK

毎日使うようなものはショートカットを作成し、デスクトップに置いておけば便利です。

私の場合は[業務開始.bat]としてデスクトップの真ん中に置いてあります。出社してPCを起動した後バッチファイルを実行すれば業務に必要なプログラムがすべて起動します。

以下の例で使うモジュールは「webbrowser」と「sys」と「subprocess」です。デフォルトのライブラリに存在すると思いますが、存在しない場合はプロンプトで[pip install webbrowser]とタイプして[pip install sbprocess]で追加します。存在しない場合はエラーが出るだけなので、取り敢えず試してみて下さい。

Anaconda 3をインストールした場合

Anacondaをインストールしている場合バッチファイルの実行がうまく行かないことも。こんな時はバッチファイルの内容を以下に変更。

 batch file
cd C:\MyPythonScripts
call C:\Users\XXX\Anaconda3\Scripts\activate.bat
python YYY.py

1行目は実行したいpyファイルの置き場所へ移動するコマンドです。
2行目はAnacondaをアクティベートするコマンド。
3行目が実行したい.pyファイルです。

追記:バッチファイルをスタートアッププログラムに登録

バッチファイルをスタートアッププログラムを入れるフォルダに入れておけばPCを起動したときに自動的にバッチファイルが実行されます。
[Windowsキー]+[R]でファイル名して実行>shell:startupとタイプすると起動時に実行するスタートアッププログラムを登録できるフォルダが開くので、そこにバッチファイル(またはそのショートカット)をドラッグ&ドロップします。

pythonコードを実行する『バッチファイル』で作業を自動化 まとめ

Pythonを勉強すると、ひとつひとつ手作業でやっていたことを自動化して手間も時間も節約できます。
もはやプログラミングの基礎は社会人必須スキルの1つ。ホリエモンも言っている通りさわりだけでも勉強しておくと、確実に業務に反映させることが出来ると思います。

余談 Amazon Kindle Unlimitedはプログラミング関連の書籍も豊富

月額980円でKindle Unilimited対象本が読み放題になる「Amazon Kindle Unlimited」サービスに加入しているのですが、漫画、家庭菜園や料理、デザインの本など、フル活用しています。

そしてAmazon Kindle Unlimited はプログラミング関連の書籍も充実しています。一例を紹介すると

など入門にはぴったりな本が多数利用可能です。また、レベルアップすると

といった本もあるので、独学で進めていくことが出来ます。

Pythonの他にもJava、PHP、JavaScript、Ruby、C言語など、数々のプログラミング書籍を無制限に利用可能です。

プログラミング関連の実用書は価格が高く、安いものでも3,000円することを考えれば、980円で読み放題というのは破格の値段だと思います。

初日の30日は無料でいつでもキャンセル出来るので、興味のある方は試してみて下さい。

このページでは生活に役立つトピックを扱っています。ぜひ一度トップページもご覧ください。
トップページ

最近の記事

  • この記事を書いた人

ともぞう

気になったことはやってみないと気が済まないアラフォーのサラリーマンです。ほかに『Chrome通信』や『初心者による初心者の為のウイスキーの話など。』を運用しています。

-python, プログラミング