【Windows10】バッチファイルの使い方を解りやすく解説!
Windowsを活用するのに欠かせないバッチファイルを詳しく解説します。今までWindowsのバッチファイルの使い方がわからなかった方も単純処理を自動化したい方も本記事を読んでバッチファイルの使い方をバッチリ理解しましょう!
目次
- 1バッチファイルとは?
- ・テキストに書いたコマンドを実行させるファイルのこと
- 2バッチファイルでできることとは?
- ・主にできること
- 3【Windows10】バッチファイルの使い方~作成の基本~
- ・バッチファイルの基礎知識
- 4【Windows10】バッチファイルの使い方~実行と中断~
- ・バッチファイルを実行する手順
- ・バッチファイルを中断する手順
- ・バッチファイルを使いやすくする設定手順
- 5【Windows10】バッチファイルの使い方~引数~
- ・引数とは?
- ・引数の参照手順
- 6【Windows10】バッチファイルの使い方~GUI~
- ・GUIとは?
- ・GUIのプログラムの呼び出し手順
- ・startコマンドでGUIのプログラムを起動する手順
- 7【Windows10】バッチファイルの使い方~環境変数~
- ・環境変数とは?
- ・バッチファイルで利用できる環境変数
- 8【Windows10】バッチファイルの使い方~制御構文~
- ・制御構文とは?
- ・制御構文の利用手順
- ・サンプルコードでバッチファイルを理解する
- ・合わせて読みたい!Windows10に関する記事一覧
バッチファイルとは?
Windowsで利用することができるバッチファイルとはどのようんファイルなのでしょうか?プログラム?テキストファイル?と悩んでいる方のためにまずは、Windowsのバッチファイルとは何かをおさらいしておきます。バッチリ理解しておきましょう。
テキストに書いたコマンドを実行させるファイルのこと
Windowsで利用することができるバッチファイルとは、バッチファイル自体は単なるテキストファイルの拡張子を変更したものと変わりませんが、バッチファイルにはWindowsのコマンドプロンプトまたはシェルで実行するコマンドが記述されています。
このWindowsで実行可能なコマンドが記述されているバッチファイルを起動すると、実行可能なコマンドが一行ずつ実行されます。このコマンドに任意のプログラムを実行するコマンドを記述すればプログラムの実行が行なえます。
バッチファイルは基本、CUIで実行するファイルでありGUIアプリケーションでは有りませんが、前述のプログラムを呼び出して実効するコマンドでGUIアプリケーションを呼び出しすることでGUIアプリケーションを利用可能です。
バッチファイルでできることとは?
Windowsにおけるバッチファイルとは何かを理解できたところで、次はバッチファイルで行なうことができる操作を解説します。また、バッチファイルの拡張子は.BATや.CMDとなっております。この拡張子を見たことがある方も多いのでは無いでしょうか?
Windows上でバッチファイルを利用することができれば、単純処理や連続処理をバッチファイルで自動実行させることが可能です。バッチファイルで行なうことができる操作を確認して作業を効率化させましょう。
主にできること
バッチファイルでは通常、WindowsのGUIではなくCUIのコマンドプロンプトで実行するコマンドを順に記述して実行します。よって、コマンドプロンプトで実行できるコマンドはほとんど利用することができます。
そのため、本項ではバッチファイルで行なうことができる主な便利な操作を解説します。これらの操作をバッチファイルで自動化できるだけでかなりの作業効率化になるのではないでしょうか?
毎回同じ様な作業をしている方や、同じ操作を繰り返し行っている方はぜひバッチファイルを使ってWindowsの操作を効率化してください。
ファイルの作成/編集/削除
バッチファイルでは、ファイルの作成やファイルの編集、ファイルの削除を行なうことができます。これらは最も基本的なWindowsでのバッチファイルの利用方法ですので、必ず基本としてマスターしたい操作の一つです。
バッチファイルでファイルの作成やファイルの編集、ファイルの削除を行なう方法をマスターすれば、例えばシステムのログファイルの収集などを専用プログラムの呼び出しなどなしで行なうことができます。
Windowsログファイルの収集でありがちな、Windowsログの収集し忘れも一度、バッチファイルを完璧に作ってしまえば毎回バッチファイルを呼び出して実行するだけでミスなく行なうことができます。
フォルダの作成/編集/削除
バッチファイルでは、フォルダの作成やフォルダの編集、フォルダの削除を行なうことができます。これらはファイル操作と同じく、最も基本的なWindowsでのバッチファイルの利用方法ですので、必ず基本としてマスターしたい操作の一つです。
バッチファイルでフォルダの作成やフォルダの編集、フォルダの削除を行なう方法をマスターすれば、ファイル操作と同じく、システムのログファイルの収集などを専用プログラムの呼び出しなどなしで行なうことができます。
Windowsログファイルの収集でありがちな、Windowsログの収集し忘れも一度、バッチファイルを完璧に作ってしまえば毎回バッチファイルを呼び出して実行するだけでミスなく行なうことができますので、ファイル操作と一緒に覚えておきましょう。
ファイル内容の編集
Windowsでバッチファイルを利用すれば、ファイル内容の編集もバッチファイルで行なうことができます。Windows上でバッチファイルを利用してファイル内容の編集を行えるようになれば、大量のファイルのファイル内容編集も自動化できます。
また、バッチファイルでは引数を指定することもできるので、自動処理GUIアプリケーションを呼び出してそこに自動で引数でファイルを投げることによりかなり高度な編集も自動化して実行することが可能です。
このバッチファイルの操作は大量のテキストファイルの先頭に日付や名前を入れ忘れたときなどに有効です。このバッチファイル操作を利用すれば簡単に操作を自動化することができます。
ファイル内容の比較
Windowsでバッチファイルを利用すれば、ファイル内容の比較も自動で行うことができます。ファイル内容の比較とは、2つのファイルの中身が同じであるかを確かめることです。Windowsでは様々な比較ソフトがありますが、最も基本的な比較になります。
しかし、使い方によってはファイル内容の編集と合わせて応用して、空白行以外を省いてファイル内容が同じかや、バッチファイルで自動的にハッシュ値を取得してそれぞれを比較するなど様々な比較方法を行えます。
Windowsを利用する中でこのバッチファイルを利用してファイル内容を比較できるバッチを作成しておけば非常に便利です。特に、Windowsで環境構築などを行っているエンジニアは必見の操作です。
ファイル内容を比較できるバッチを作成しておけば、特別なプログラム無しでバッチファイルだけでファイル比較を行うことができます。そのため、外部プログラムを利用できないユーザ先でも利用可能です。
例えば、TeraTermなどで指定されたコマンドを投入したときには、そのログと投入指示されたファイルのログをバッチファイルの比較ツールを利用して比較することができます。
このように実際に投入したコマンドが本当に正しいコマンドであったかを比較することは非常に重要ですので、エンジニアは専用プログラムや比較バッチを用意しておくと良いでしょう。
プログラム/ソフトを起動
Windowsでバッチファイルを利用すれば、プログラムを呼び出して起動させることが可能です。また、バッチファイルはCUIで実行されますが、GUIプログラムやGUIアプリケーションを呼び出しすればGUIアプリケーションも利用できます。
自動化したいプログラムにはCUIプログラムやバッチではなくGUIプログラムの場合も多くあるでしょう。そういった場合はGUIプログラムをバッチファイルで呼び出して起動すれば、GUIプログラムを利用することが可能です。
そのため、画像ファイルをドラッグアンドドロップで自動的に縮小するプログラムなどと組み合わせれば、画像処理もバッチファイルで自動化できます。
そういった呼び出したプログラムにドラッグアンドドロップなどと同じ用にファイルを投げる操作をバッチファイルでも行うことができます。また、それを引数と呼びます。
先程の例で説明すると、画像を縮小するプログラムを呼び出すバッチファイルにドラッグアンドドロップしたいファイルのパスを引数で与えれば、画像を縮小プログラムファイルをドラッグアンドドロップするのと同等の効果が得られます。
このようにバッチファイルは引数や外部プログラムの呼び出しコマンドなどを組み合わせて作成すれば、Windowsの操作をかなり自動化して作業効率化することができます。
バックアップシステムの作成
Windowsでバッチファイルを利用すれば、前述のバッチファイルの使い方を組み合わせてバックアップシステムを作成することができます。これは、バックアッププログラムを呼び出して起動するということでは有りません。
バッチファイルでファイル操作(ファイルコピー)、フォルダ操作(バックアップ先作成)を行なうことができれば簡単なバックアップシステムは簡単にバッチファイルで構築することができます。
Windowsの基本機能で定時・自動バックアップも可能ですがWindowsでバッチファイルを利用すれば、より自分好みのバックアップシステムを構築することができます。
【Windows10】バッチファイルの使い方~作成の基本~
Windowsでバッチファイルを作成する方法を解説します。バッチファイルの作成方法はバッチファイルの使い方の中でも基本となりますので、バッチファイルの使い方が分からない方はまずいちばんはじめにバッチファイルの使い方として作成方法を覚えましょう。
バッチファイルの基礎知識
バッチファイル作成の基本として、バッチファイルの拡張子とバッチファイル基本的な文法を解説します。Windowsでバッチファイルを作成するには必須の知識となりますのでこれらを基本としてしっかり理解しておきましょう。
バッチファイルの拡張子
Windows上で起動できるバッチファイルの拡張子は[.BAT]と[.CMD]になりますが現在はほとんどが[.BAT]となっております。これからWindows上で起動する予定のバッチファイルを作成する方は[.BAT]を利用しましょう。
バッチファイルの基本的な文法
バッチファイルの基本的な文法を解説します。バッチファイルで利用する文法の基本は、実行したいコマンドを一行ずつ記述します。例えば、[@echo off ▲ echo HELLO,WORLD! ▲ pause >nul]と記述してください。(▲は改行です)
これを記述したバッチファイルを起動すれば、コマンドプロンプトに[HELLO,WORLD!]と表示されます。[@echo off]と[pause >nul]についても解説しますが、基本的にこの2つは最初の行と最後の行に必ず記述します。
バッチファイルの基本的な文法として紹介しているコードです。
実行結果です。Hello,World!のみ表示されています。
@echo off
バッチファイルの最初の行に記述する[@echo off]とは、[@echo off]を記述しないバッチファイルを実行すれば役割がわかります。[@echo off]を記述せずに先程のバッチファイルを起動してください。
するとコマンドプロンプトには、[作業パス>echo Hello,world!▲Hello,world!]と表示されます。先程はこの1行目がありませんでした。そうです。[@echo off]とは、[作業パス>echo Hello,world!]の部分を表示しないようにします。
毎回[作業パス>echo Hello,world!]の部分が表示されると邪魔なので、[@echo off]をつけるようにしましょう。もし、[作業パス>echo Hello,world!]の部分が必要なら[@echo off]をつけましょう。
@echo offなしのコードです。
@echo offなしの実行結果です。
pause >nul
バッチファイルの最初の行に記述する[@pause >nul]とは、[pause >nul]を記述しないバッチファイルを実行すれば役割がわかります。[pause >nul]を記述せずに先程のバッチファイルを起動してください。また、[pause]にしたものも起動してください。
前者は起動後に直ぐにコマンドプロンプトが閉じます。後者は、コマンドプロンプトは閉じませんが、[続行するには何かキーを押してください . . .]が表示されます。
そうです。[@pause]とはバッチファイルの実行後にバッチファイルを起動したコマンドプロンプトを狩猟せずにポーズ(保持)するという意味です。そのため、[@pause]を記述するとコマンドプロンプトは保持されて内容が読めます。
ただし、[@pause]を記述すると[続行するには何かキーを押してください . . .]が表示されてしまいます。これを非表示にするオプションが[> nul]です。通常はnulオプションを付けて利用します。
[nul]オプションを付けることに[@pause]コマンドのあとに[続行するには何かキーを押してください . . .]を非表示にすることができます。そのため、[続行するには何かキーを押してください . . .]が不要な場合は[nul]オプションを利用します。
pauseのnulなしのコードです。
pauseのnulなしのコードの実行結果です。
pauseなしのコードですこの場合実行してもコマンドプロンプトがすぐ閉じてしまって文字が見えません。
【Windows10】バッチファイルの使い方~実行と中断~
Windows上でバッチファイルを走らせる方法、つまり実行方法と走らせている間に中断する方法をご紹介します。誤って無限ループのバッチファイルなどを作ってしまった際のために、中段方法を覚えておいてください。
バッチファイルを実行する手順
Windowsでは通常バッチファイルはコマンドラインから実行します。または、Windows上でバッチファイルをダブルクリックして実行する方法もあります。ただし、オーソドックスな方法はコマンドラインから実行する方法です。
Windowsのコマンドラインからバッチファイルを実行するにはまず、作業用パスを実行したいバッチファイルがあるディレクトリまで移動します。移動後にバッチファイルを指定して実行します。
バッチファイルを中断する手順
Windowsのコマンドラインでバッチファイルを実行中に、バッチファイルの実行を中断する方法をご紹介します。バッチファイルを作成する時に誤って無限ループを作ってしまったり、誤った処理を記述した場合にはコマンドラインから中段させます。
実行中のバッチファイルをコマンドラインから中断するには、Ctrl+Cキーを入力します。Ctrl+Cキーを入力すればバッチファイルを中断できます。無限ループや誤った処理にハマってしまった場合にはこの方法でバッチファイルを中断しましょう。
中断した際のコマンドプロンプトです。
バッチファイルを使いやすくする設定手順
バッチファイルは誤った記述方法をしてしまうと、処理が一瞬で終わってコマンドプロンプトが消えてしまい実行結果が見えなかったということがあります。その様な自体をなくすために、最後の行にはpauseを書いておきましょう。
【Windows10】バッチファイルの使い方~引数~
バッチファイルを利用する際には引数を設定すると便利です。引数とは何かとバッチファイルで引数を利用する方法をご紹介します。引数を使いこなせばバッチファイルでできることが増えるので引数をしっかりと使えるようにマスターしましょう。
引数とは?
引数とはバッチファイルを実行する時に一緒にバッチファイルに対して投げる、値のことです。この値には単に数値やテキストであったり、ファイルの場所を示したパスであったりします。
特に引数としてバッチファイルにある特定のファイルのパスを投げるといった引数の使い方は非常によく使われる方法です。ファイルに対してバッチファイルで操作を行う際に利用する方法です。
また、引数として受け取った値はバッチファイル内で値として利用することができます。その値をバッチファイル内で利用する処理を記述すればバッチファイル内で引数を利用できます。
引数の参照手順
Windowsでバッチファイルを実行する際に引数を与えるにはコマンドラインから次のようにコマンドを実行します。[作業パス> バッチファイル名 引数1 引数2 引数3 ・・・・・]といった方法で引数をつけてバッチファイルを走らせます。
また、バッチファイル内で引数を参照するには、Windowsでは[%1],[%2],[%3]といった方法で呼び出すことができます。また、[%*]と参照すればまとめてすべての引数を呼び出せます。
【Windows10】バッチファイルの使い方~GUI~
前述の通りバッチファイルはCUIで走らせています。しかし、WindowsではバッチファイルでGUIアプリケーションを呼び出すことにより、GUIアプリケーションをバッチファイルで操作することが可能です。
GUIの意味と、GUIアプリケーションの呼び出し方起動方法を解説します。WindowsでGUIアプリケーションを走らせる方法は非常に重要ですので、しっかりとマスターしましょう。
GUIとは?
GUIとはGraphical User Interfaceの意味です。つまり、GUIはグラフィカルなユーザーインターフェースのことを言います。コマンドラインではなく、ウィンドウや画像などのグラフィカルな画面表示のことを行なうアプリケーションのことです。
因みにCUIとはCharacter User Interfaceの意味です。つまりCUIはキャラクター = 文字のユーザーインターフェースのことを言います。コマンドラインやDOSのように文字だけでプログラムを操作することができます。
GUIのプログラムの呼び出し手順
バッチファイルからGUIのプログラムを呼び出す方法を紹介します。GUIのプログラムを呼び出すには呼び出したいGUIアプリケーションのパスが必要ですので、GUIアプリケーションのパスを予め確認しておいてください。
startコマンドでGUIのプログラムを起動する手順
バッチファイルではGUIプログラムを呼び出すにはstartコマンドを利用します。startコマンドの利用方法を解説しますので、startコマンドの利用方法をしっかりと理解しておきましょう。
startコマンドを利用できればWindowsでバッチファイルを利用してGUIアプリケーションを呼び出して、GUIアプリケーションを起動させることができます。
startコマンドは次のように利用します。[start "" "起動したいGUIアプリケーションのパスまたはバッチファイルのパス"]特にパスの前の""を忘れないようにしてください。先頭の""は新しいコマンドプロンプトのタイトルです。
STARTを使ったコードです。
実行時のコマンドプロンプトの画面です。
STARTコマンドで開いたsystem32フォルダです。
【Windows10】バッチファイルの使い方~環境変数~
バッチファイルでは環境変数を利用すると便利です。環境変数とはなにか、環境変数をバッチファイルで利用するにはどのようにするのかを解説します。Windowsの環境変数をバッチファイルで利用する方法を覚えておきましょう。
環境変数とは?
環境変数とは、Windowsが提供するシステム設定値の共有機能のことです。環境変数を利用すればWindows上でシステムの設定値を様々なアプリケーションで参照することができます。
特にWindowsではユーザ名ごとにPathのusername部分が変わりますのでWindowsでユーザ毎のディレクトリを指定する場合は、環境変数を利用しなければユーザ名に合わせてパスを指定しなければいけません。
Windowsの環境変数でパスを通すとはこのように絶対パス名でパスを指定してしまうと不都合が起きる場合に行なう操作を言います。
バッチファイルで利用できる環境変数
Windowsにおいてバッチファイルでは、Windowsの設定値である環境変数がよく利用されます。環境変数である、TEMPやTMP,PROMPT,PATHなどを指します。
特に環境変数PATHは非常によく使う環境変数です。PATHを使いこなせばバッチファイルでできることが非常に多くなります。
また、環境変数TEMPを利用すればバッチファイルを実行するアカウント名に関わらず、一時ディレクトリを利用することができます。
【Windows10】バッチファイルの使い方~制御構文~
バッチファイルでは制御構文を利用することができます。制御構文を利用できればバッチファイル内で条件分岐や引数を用いた処理を書いたり便利な使い方ができます。
制御構文とは?
制御構文とは、一般的に開発言語などで、ループや条件分岐、飛び越し処理、サブルーチンの呼び出しなどを行なうことができます。これらの制御構文を複数利用して複雑な処理をバッチファイルで行わせることが可能です。
制御構文の利用手順
Windowsでバッチファイルを作成する時に利用する制御構文をいくつかご紹介します。どれもよく利用する制御構文ですので、覚えておきましょう。特に、ifとgotoは非常によく利用します。
また、callはstartに似ていますが違いますので、callとstartの違いをしっかりと理解しましょう。それでは制御構文を紹介します。
if
バッチファイルに限らず開発言語ではif文は非常によく利用する制御構文です。if文はその名の通り条件分岐のときに利用します。if文では条件が真のときと偽のとき、つまりtrueとelseの時に実行するコマンドを指定できます。
因みに、条件がtrueのときだけ処理を行いたいときも、elseを記述せずにif文を利用することができます。逆にelseのときだけ処理を実行することもできます。非常に便利な構文です。
また、if文の条件式には比較演算子を利用します。equやneq、gtr、geq、leq、lssなどです。これらの比較演算子を利用してif文の条件式を利用します。
if文の記述方法を解説します。Windowsのバッチファイルでif文は[if 条件 (真のコマンド) else (偽のコマンド)]を記述します。この条件の部分に比較演算子を用いた条件分を書きます。
この条件の部分がtrueのときには真のコマンドが実行されelseのときには偽のコマンドが実行されます。また、else以降を書かなければ条件がtrueのときだけ真のコマンドを実行させることができます。
goto
gotoとはWindowsで利用するバッチファイルでラベルの位置に制御を移動させる制御構文になります。例えばif文である条件を満たしたときだけ指定したラベル部分に制御を移したい時にgotoを利用します。
gotoはこのように利用します。[goto ラベル名]。因みにラベルはバッチファイルの好きな位置に記述することができ、ラベルの記述は[:ラベル名]で行います。
call
バッチファイルを利用するにはcall制御構文を利用します。call文を利用すれば他のバッチファイルを呼び出すことができます。call文は[call 呼び出したいバッチファイル名]で利用します。
また、バッチファイルを呼び出すということでstartに似ていますが、startはstartで呼び出したプログラムはプログラムのうらでバッチファイルは処理を続け、callは呼び出したバッチファイルに処理が移るという点が異なるところです。
サンプルコードでバッチファイルを理解する
Windowsでバッチファイルを作成する場合には実際にWindowsで走るバッチファイルのサンプルコードを見るのが一番です。サンプルコードを紹介しますので、Windowsでバッチファイルを作成する場合に参考にしてください。
サンプルコード
文字を表示させるサンプルコードです。
電卓とメモ帳を起動させるサンプルコードです。
system32フォルダを表示させるサンプルコードです。
REMコマンドでメモを記入するサンプルコードです。
変数を定義させるサンプルコードです。
ifとelseで条件分岐させるサンプルコードです。
if文でelseを利用しないサンプルコードです。
GOTOコマンドでラベルへ制御を移動させるサンプルコードです。
引数を一つ受け取って表示させるサンプルコードです。
実行結果です。
引数を複数受け取って表示させるサンプルコードです。
実行結果です。