連載
» 2021年12月10日 05時00分 公開

ルーティン作業を自動化できるWindows伝統のRPAツール「バッチ」入門 その1マウスのいらないコマンドプロンプトの世界

よく利用するコマンドなどをバッチファイルにしておくと、毎回のようにコマンドを書く手間を省くことができる。また、タスクスケジューラーを利用した自動化を行う際もバッチファイルは活用できる。バッチファイルを理解する手始めとして、よく利用するコマンドをバッチファイルにしてみよう。

[竹内充彦,著]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

コマンドの入力が苦手だって? コマンドの入力が苦手だって?
毎回同じコマンドを入力するのって面倒ですよね。バッチファイルにしておけば、ダブルクリックで実行できるので、パソコンが苦手な場合でも実行可能だ。でも、バッチファイルってどうやって作るの?

繰り返し使う長いコマンドをバッチファイルで手軽に実行

 コマンドと複数のオプション、対象となるファイルパスで長くなったコマンドラインをキーボードから打つのは煩わしい。毎日同じ処理を行わなければならない場合は、なおさらだ。

 日本語入力でも、短文登録しておけば数文字の入力で目的の文が呼び出せるというのに、長いコマンドラインを短縮入力する方法はないのだろうか。実は「バッチファイル」という仕組みを使えば、定型のコマンドラインを短い入力で実行できる。

 バッチファイルはあらかじめテキストファイル中にコマンドライン入力を記述しておくというものなので、単純な使い方ならば難しいことは何もない。バッチファイルは複数のコマンドを束ねて(batch=束ねる、1回分にまとめるという意味)実行できる仕組みである。本来は、一連のコマンド処理を一括実行する目的で使われるものだが、今回は取りあえず、1つのコマンドを短い入力で実行するために使ってみよう。

【今回のミッション】

 上司がニコニコしながらこちらに近づいてきた。

「今度入った新人社員にさぁ、報告書をテンプレからコピーして使わせたいんだけど、スマホ世代なので難しい操作はムリだってさ。何とかならないかなぁ?」

 いわく、ドラッグ&ドロップだとテンプレファイルを移動して直接編集してしまう人がいる他、複数のウィンドウを開くと混乱してしまう人もいるからダメ。コマンドラインは長いキー入力なのでもっての外だという。アイコンのダブルクリックとかで何とかならないか、と。

 さてどうしよう?


 普段からよく利用している次のようなコマンドライン操作があるとしよう。

C:\Work>copy ..\テンプレ\報告書テンプレ.xlsx 報告書.xlsx


報告書テンプレ.xlsxを報告書.xlsxにコピーするコマンド

 コマンドの意味は、カレントフォルダ(上のコマンドでは[Work]フォルダ)の親フォルダ(..)の下にあるフォルダ[テンプレ]の中に保存してあるExcelのブックファイル「報告書テンプレ.xlsx」を、カレントフォルダ(.)に「報告書.xlsx」というファイル名でコピーして使うというものだ。なお、こういうときはファイルをExcelブック形式ではなくExcelテンプレート形式で保存しておいた方が適切という話は、ここでは置いておく。

 この入力を短くしたければ、あらかじめメモ帳で、このコマンドラインの内容を記述した短めのファイル名を持つテキストファイルを作成し、拡張子を「.bat」にして保存しておく。

 そして、そのファイルを実行すればいい。Windows OSでは拡張子「.bat」のファイルがバッチファイルとして認識され、そのベース名をコマンドラインから入力することで、記載された内容が実行される。

 先ほどの例では、次のような内容のファイルを作成して「cpex.bat」というファイル名で保存する。

copy ..\テンプレ\報告書テンプレ.xlsx 報告書.xlsx


cpex.batファイルに記述するコマンド

 そして、コマンドラインからベース名を指定すれば実行される。

C:\>cpex[Enter]


cpex.batを実行するコマンドライン

バッチファイルの作成と実行(1) バッチファイルの作成と実行(1)
メモ帳を起動して、実行したいコマンドラインを論理的な1行([Enter]キーで改行しない)で記述する。
バッチファイルの作成と実行(2) バッチファイルの作成と実行(2)
メモ帳で[ファイル]メニューの[名前を付けて保存]を選び、ファイル名に拡張子「.bat」を付けて保存する。このとき[すべてのファイル(*.*)]を選び、文字コードに[ANSI]を選ぶ。
バッチファイルの作成と実行(3) バッチファイルの作成と実行(3)
コマンドを記述したバッチファイル「cpex.bat」を実行すると、バッチファイル内に記述したコマンドが実行される。ファイル名を簡潔なものにしておけばキーボードからの入力の煩わしさが軽減する。

 注意が必要なのは、バッチファイル中に記述する際、コマンドの途中で[Enter]キーを使って改行しないことだ。コマンド実行時のオプションやファイル名の指定、パイプラインやリダイレクトなどの記述も含めて、論理的な1行に納めておく必要がある。

 なお、1行でコマンドが完結しているというルールさえ守れば、バッチファイル中に記述するコマンドは複数あっても構わない。その場合は、1行目から順に実行されていく。

 このバッチファイルは、アイコンのダブルクリックで実行することもできる。ダブルクリックすると、一瞬コマンドプロンプトのウィンドウが表示され、コマンドが実行されてからウィンドウが閉じる。

バッチファイルはファイルアイコンのダブルクリックでも実行できる バッチファイルはファイルアイコンのダブルクリックでも実行できる
エクスプローラーからダブルクリックして実行する場合、バッチファイルが保存されているフォルダがカレントフォルダとなる。これならWindows OSのコマンドに詳しくない人にもコマンドを使ってもらえる。

バッチファイルの処理内容を分かりやすくする

 先のバッチファイルは、動作内容が分かっている自分で使うなら問題はない。しかし、誰かに使ってもらうとなると、もう少し動作に関する情報を使い手に知らせた方が親切だろう。また、後からバッチファイルの中身を見る人のために記述内容にコメントを加えておくのもいい。そこでメッセージの表示やコメントを加えたものを次に示す。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。