【コマンドプロンプト】バッチファイル入門

※この記事は「2020年12月16日」に更新しました。

今回は、バッチファイルについて。

コマンドプロンプトを柔軟に活用するためには、欠かせないものです。

バッチファイルは決まった作業を毎回やるような場面で活躍します。

それでは見ていきましょう。

バッチファイルとは

バッチファイルとは

バッチファイルとは、コマンドをあらかじめテキストとして並べて書いておき、先頭から順番に実行するというものです。

わざわざ手動でコマンドを入力しなくても、順番に実行してくれるというわけです。

MS-DOS が使われていた頃の簡単なプログラム機能です(その後、使いやすいように進化しています)。

バッチファイルは、MS-DOS時代の遺物のようなものと考えている人もいるかもしれません。

しかし、Windows 10 になった、現在でもアイデア次第で十分使えます。

条件判断や繰り返し、変数を使ったり、キー入力の受付もできます。

マニアックに使えば、本格的なプログラムを作ることも可能です。

しかし、現在は、下記のように便利なプログラミング言語がいくらでもあります。

  • JavaScript
  • Ruby
  • Python
  • PHP
  • C++
  • C#

本格的なものを開発する場合、これらのプログラミング言語を使った方が効率的です。

バッチファイルは、もっとシンプルな目的で利用するのが効果的です。

バッチファイルの作成方法

バッチファイルの作成方法を紹介します。

テキストエディタ(メモ帳など)でコマンドを並べていきます。

@echo off

echo テストです。
echo;
echo バッチファイルです。
echo;
echo コマンドが並んでいます。

pause > nul

作成できたら、拡張子 .bat でファイルを保存します。

ファイル名.bat

実行ファイルと同じようにダブルクリックして実行してみます。

すると以下のような実行結果が得られます。

バッチファイル入門

バッチファイルでよく使うコマンド【入門】

バッチファイルでよく使うコマンドを紹介していきます。



echoコマンド

echoコマンドは、画面にテキストを表示するためのものです。

バッチファイルでは、冒頭に以下の処理を記述するのが定番の使い方です。

@echo off

echo off というのは、コマンド自体を画面に表示しないようにするものです。

@ で echo off 自身も画面に表示しないようにしています。

@ は echo 専用というわけではない
@ を使えば、コマンドを画面に表示しないようにできます。echo off を使わずに隠したいコマンドだけ使うようなときに活用できます。

ちなみに基本のテキストを表示させる処理は以下のように書きます。

echo タカフミブログ

pauseコマンド

pauseコマンドは、バッチファイル処理を一時停止するときに使います。

このコマンドを使わないと大抵の場合、あっという間に処理が終わってしまいます。

以下のような文言が表示され、一時停止します。

続行するには何かキーを押してください...

メッセージに従って、キーを押すと処理が再開します。

pause > nul

とすれば、コマンドの表示を非表示にできます。

直前に echoコマンドを使えば、任意のテキストで一時停止することができます。

remコマンド

remコマンドは、コメントを作成するためのコマンドです。

このコマンドを使って、まとまった処理の解説をしておくと、あとから見返したときにわかりやすくなります。

rem この行はコメントになる。

setコマンド

setコマンドは、環境変数を設定および表示させるためのものです。

自分で変数を作成したいときに使えます。

環境変数に値を設定するには以下のように書きます。

set 環境変数名=値

環境変数を削除するには以下のように書きます。

set 削除する環境変数名=

ちなみに以下のように引数なしで setコマンドを使うと現在定義されている環境変数が一覧表示されます。

set

新しいソフトをインストールすると、そのソフトが環境変数を追加する場合もあります。

定義されている環境変数はユーザーによって異なります。

バッチファイルでよく使うのは、環境変数の値を参照することです。

%環境変数名%

例えば、環境変数の値を表示させるには以下のように書きます。

echo %環境変数名%

ifコマンド

ifコマンドは、条件判断を行うためのものです。

基本的な形は以下の通りです。

if 条件 成立したときのコマンド

例えば、以下のようにすれば、複数行のコマンドを記述することもできます。

if 条件 (
成立したときのコマンド1
成立したときのコマンド2
成立したときのコマンド3
…
)

条件には、文字列を比較したり、ファイルが存在するかどうかを記述することができます。

また、条件を満たさなかったときに別の処理を行いたい場合は以下のように書きます。

if 条件 成立したときのコマンド else 成立しなかったときのコマンド

こちらも同じように複数行のコマンドを記述することができます。

if 条件 (
成立したときのコマンド1
成立したときのコマンド2
成立したときのコマンド3
…
) else (
成立しなかったときのコマンド1
成立しなかったときのコマンド2
…
)

詳しい使い方は下記記事をご参照下さい。

if(条件分岐)の使い方

if(条件分岐)の使い方【バッチファイル】

2020年3月31日

forコマンド

forコマンドは、繰り返し処理を行うためのものです。

for [オプション] %%変数 in 対象 do 処理

基本的な使い方は以下の通りです。

  • 指定した回数繰り返す
  • ファイルを対象として繰り返す

バッチファイルの中ではかなり難しいコマンドです。

詳しい使い方は下記記事をご参照下さい。

for(繰り返し処理)の使い方

for(繰り返し処理)の使い方【バッチファイル】

2020年4月4日

タスクスケジューラに登録する【入門】

タスクスケジューラは、Windows に標準で搭載されているアプリケーションです。

バッチファイルをタスクスケジューラに登録すれば、ルーチンワークを更に効率化することができます。

例えば、定期的にバックアップを取っておきたい場面など最適です。

詳しい使い方は下記記事をご参照下さい。

タスクスケジューラの使い方

タスクスケジューラの使い方【バッチファイル】

2020年5月17日

最後に【バッチファイル入門】

いかがでしょうか。

バッチファイルを使う場面というのは、意外とあります。

例えば、バックアップを取りたいときにサクッと取ったり、複数のフォルダを複数立ち上げたりというのは、ほとんどの方が利用できるのではないでしょうか。

他にも工夫次第で色々なことができるようになります。

近年の既存の関数やライブラリが揃った、プログラミング言語と比較すると古臭い感じは否定できません。

しかし、古典的なものから学べることもたくさんあるかと思います。

バッチファイルを作成してみて、もっと色々なことをやってみたいと思ったら、PowerShell や他のプログラミング言語を学習すると良いかと思います。