こんにちは!Windowsにはコマンドプロンプトというコマンドラインツールが標準装備されていますが、よりWindowsを便利に使うために今回はバッチファイルの作成方法をご紹介します。これを使えるようになると1歩だけインフラエンジニアに近づけます。
目次
はじめてのバッチファイル作り方 かんたん解説
「バッチファイル」とは!?
いったいバッチファイルとは何なのか!?という方のために簡単にまとめました。
- 拡張子は「.bat」
- Windows環境で実行できるコマンドを記述したテキストファイル
- コマンドプロンプトで実行できるコマンドをまとめて書いたファイル
- バッチファイルの処理とは複数のコマンドを一行ずつ上から順次実行する
バッチファイルに上からコマンドを書いていけば、その順番で1行ずつ実行されます。頻繁に使う処理をバッチファイルに記述しておけば、バッチファイルを1クリックするだけでその処理を実行できます。
バッチファイルの作成方法
①「Windows」キー + 「R」キー を押してファイル名を指定して実行を開きます。notepadと打ち「OK」をクリックします。
②メモ帳が開くので、下記のコードをコピーしてメモ帳に貼り付けます。(コード解説は下記で説明)
@echo off
color 1f
echo ■■■■■■■■■■■■■
echo はじめてのバッチファイル
echo ■■■■■■■■■■■■■
echo.
echo.
rem コンピュータ名の表示(hostname)
echo ———————-
echo コンピュータ名
hostname
echo ———————-
echo.
echo.
pause
③「ファイル」>「名前を付けて保存」します。
④ファイルの保存方法は下記の手順で保存します。
- ファイル名 「〇〇.bat」とする
- ファイルの種類 「すべてのファイル」とする
- 文字コード 「ANSI」とする
⑤ファイルの保存が完了すると歯車マークのアイコンが作成されます。作成されたファイルをダブルクリックします。
⑥下記の画面のコマンドプロンプトが開きます。バッチファイルに記述した文や命令が表示されてます。(コンピュータ名はwinnote)
上記はWindowsコマンドの命令としてはhostnameだけの表示でしたが、複数コマンドを追加することで順次実行していきます。コマンドプロンプトで実行できるコマンドはすべてバッチファイルに記述することが出来ます。
下記の記事でファイル名を指定して実行コマンドで呼び出せるアプリケーション一覧を紹介しています。もちろんコマンドプロンプトでもバッチファイルでも利用可能です。
バッチファイル コード解説
ここからは上記のバッチファイルの内容を解説します。実は、さきほどのバッチファイルで記述したコマンドは下記の6種類のみです。コマンドは覚えられないほど処理があるのですが今回はこの6種類の処理から覚えていきましょう!
- @echo off …コマンドの画面表示を消す
- color …コマンドプロンプトの色を指定
- rem …バッチファイルのコードコメント(処理に影響しない)
- echo …画面に表示させる文字列
- hostname …コンピュータ名を表示する(Windowsコマンド)
- pause …処理を一時停止する
@echo off とは?
バッチファイル実行時の「コマンドの画面表示を消す」コードです。大体はバッチファイルの最初の1行目に@echo offと記述します。1行目を@echo onにして実行すると下記のようにc:\>やコメントの remまで表示されて非常に見づらくなります。
Color コマンドとは!?
colorコマンドはその名の通りコマンドプロンプトの色を指定できるコマンドです。今回はcolor 1fとすることで背景色が青、文字色が白のコマンドプロンプト表示となっています。Colorコマンドの詳しい解説は下記の記事から確認ください。
rem コマンドとは!?
remコマンドはコメントを記述することができるコードです。rem コマンドはバッチ処理には影響はなくコメントとして記述できます。コメントをつけることでバッチファイル修正時などに作業者がコード内容が解りやすくなります。長い構文や複雑なバッチファイルを作成した際はrem でコメントすることをお勧めします。
echo コマンドとは!?
echoコマンドは「画面に表示される文字列」を指定します。echo “文字列”とすることで画面に文字列が表示されます。echo.とすると「画面に何も表示せず改行」します。
先ほどの「バッチ処理画面」と「コード」を比較しました。コードで書いたechoの行がコマンドプロンプトに表示されます。
echo より後ろの文字列が表示されているのが確認できるかと思います。echo.の行は改行されているのも確認ができます。
Windows コマンドの実行
続いてWindowsコマンドの実行です。hostnameコマンドはコンピュータ名を表示するコマンドです。その他にメモ帳やEXCELなどのアプリケーションを指定して開くこともできます。ipconfigやpingなどの通信確認コマンドの処理などもすべて記述できます。
バッチ処理は1行目から随時実行していくためマルチタスク(同時実行)で行なうことは出来ません。1つの処理が終わるまでは次の処理は実行されません。
pause コマンドとは
pauseコマンドは処理の一時停止をするコマンドです。今回のバッチファイルコードの最後の行にpauseを記述したのはhostnameの結果でコンピュータ名を確認するためです。pauseコマンドを記述しないとバッチ処理が一瞬で終わるため人間の目ではコンピュータ名が確認できません。
バックグラウンドでバッチ処理を実行したい場合はpauseコマンドは記述しないでよいかと思います。
はじめてのバッチファイル作り方 まとめ
プログラムコードを見慣れていない方にはバッチファイルの内容は複雑に見えるかもしれませんが、1行ずつ実行するので少し覚えればバッチファイル作成が出来ます。バッチファイル1つのクリックでWindowsの処理を実行することが出来るので作業が楽になります。
バッチファイルをタスクスケジューラーに登録しておけば決まった時間にバッチ処理実行することが可能です。毎日決まった時間にバックアップを取ったりすることが出来ます。
- バッチファイルの拡張子は〇〇.bat
- バッチファイル保存時文字コードはANSI
- コマンドプロンプトで利用可能なコマンドは全てバッチ処理可能
- コマンド命令は1行ずつ随時実行される
- echo で画面上に文字列を表示する
- remコマンドでコメントアウトが可能
- pauseコマンドで処理を一時停止が出来る
駆使すれば簡易アプリケーションを作れますので、覚えていて損はないです。また計算式や他のバッチファイルを呼び出したりもできます。思ってたよりも奥が深いのでバッチファイルを考えて試行錯誤しバッチ処理が成功すると楽しいです!それではー!
良ければ続編の記事も見てみてください↓