※この記事は「2022年12月1日」に更新しました。
今回は、バッチファイルについて。
コマンドプロンプトを柔軟に活用するためには、欠かせないものです。
バッチファイルは決まった作業を毎回やるような場面で活躍します。
- 基本情報技術者資格所有者(ソフト開発の国家資格)
- WordPress歴、10年以上
- パソコン販売歴、約5年
目次
バッチファイルとは
バッチファイルとは、コマンドをあらかじめテキストとして並べて書いておき、先頭から順番に実行するというものです。
わざわざ手動でコマンドを入力しなくても、順番に実行してくれるというわけです。
MS-DOS が使われていた頃の簡単なプログラム機能です(その後、使いやすいように進化しています)。
バッチファイルは、MS-DOS時代の遺物のようなものと考えている人もいるかもしれません。
しかし、Windows 10 になった、現在でもアイデア次第で十分使えます。
条件判断や繰り返し、変数を使ったり、キー入力の受付もできます。
しかし、現在は、下記のように便利なプログラミング言語がいくらでもあります。
- JavaScript
- Ruby
- Python
- PHP
- C++
- C#
本格的なものを開発する場合、これらのプログラミング言語を使った方が効率的です。
バッチファイル作成方法
バッチファイルの作成方法を紹介します。
テキストエディタ(メモ帳など)でコマンドを並べていきます。
@echo off echo テストです。 echo; echo バッチファイルです。 echo; echo コマンドが並んでいます。 pause > nul
ファイル名.bat
実行ファイルと同じようにダブルクリックして実行してみます。
すると、以下のような実行結果が得られます。
バッチファイルでよく使うコマンド
バッチファイルでよく使うコマンドを紹介していきます。
echoコマンド
echoコマンドは、画面にテキストを表示するためのものです。
バッチファイルでは、冒頭に以下の処理を記述するのが定番の使い方です。
@echo off
@ で echo off 自身も画面に表示しないようにしています。
ちなみに、基本のテキストを表示させる処理は、以下のように書きます。
echo タカフミブログ
pauseコマンド
pauseコマンドは、バッチファイル処理を一時停止するときに使います。
このコマンドを使わないと大抵の場合、あっという間に処理が終わってしまいます。
以下のような文言が表示され、一時停止します。
続行するには何かキーを押してください...
pause > nul
上記のようにすれば、コマンドの表示を非表示にできます。
直前に echoコマンドを使えば、任意のテキストで一時停止することができます。
remコマンド
remコマンドは、コメントを作成するためのコマンドです。
このコマンドを使って、まとまった処理の解説をしておくと、あとから見返したときにわかりやすくなります。
rem この行はコメントになる。
setコマンド
setコマンドは、環境変数を設定および表示させるためのものです。
環境変数に値を設定するには、以下のように書きます。
set 環境変数名=値
環境変数を削除するには以下のように書きます。
set 削除する環境変数名=
ちなみに、以下のように引数なしで setコマンドを使うと現在定義されている環境変数が一覧表示されます。
set
新しいソフトをインストールすると、そのソフトが環境変数を追加する場合もあります。
定義されている環境変数はユーザーによって異なります。
バッチファイルでよく使うのは、環境変数の値を参照することです。
%環境変数名%
例えば、環境変数の値を表示させるには以下のように書きます。
echo %環境変数名%
ifコマンド
基本的な形は、以下の通りです。
if 条件 成立したときのコマンド
例えば、以下のようにすれば、複数行のコマンドを記述することもできます。
if 条件 ( 成立したときのコマンド1 成立したときのコマンド2 成立したときのコマンド3 … )
条件には、文字列を比較したり、ファイルが存在するかどうかを記述することができます。
また、条件を満たさなかったときに別の処理を行いたい場合は以下のように書きます。
if 条件 成立したときのコマンド else 成立しなかったときのコマンド
こちらも同じように複数行のコマンドを記述することができます。
if 条件 ( 成立したときのコマンド1 成立したときのコマンド2 成立したときのコマンド3 … ) else ( 成立しなかったときのコマンド1 成立しなかったときのコマンド2 … )
詳しい使い方は、下記記事をご参照下さい。
forコマンド
for [オプション] %%変数 in 対象 do 処理
基本的な使い方は、以下の通りです。
- 指定した回数繰り返す
- ファイルを対象として繰り返す
バッチファイルの中では、かなり難しいコマンドです。
詳しい使い方は、下記記事をご参照下さい。
タスクスケジューラに登録する方法
タスクスケジューラは、Windows に標準で搭載されているアプリケーションです。
バッチファイルをタスクスケジューラに登録すれば、ルーチンワークを更に効率化することができます。
詳しい使い方は、下記記事をご参照下さい。
最後に【バッチファイルを学ぶ価値】
バッチファイルを使う場面というのは、意外とあります。
例えば、バックアップを取りたいときにサクッと取ったり、複数のフォルダを複数立ち上げたりというのは、ほとんどの方が利用できるのではないでしょうか?
他にも工夫次第で、色々なことができるようになります。
近年の既存の関数やライブラリが揃った、プログラミング言語と比較すると古臭い感じは否定できません。
バッチファイルを作成してみて、もっと色々なことをやってみたいと思ったら、PowerShell や他のプログラミング言語を学習すると良いかと思います。