バッチファイルの作り方 hello worldから始めるbat入門

power-shellも普及してきていますが
バッチファイルを利用している人は結構いるのではないでしょうか?

社内のフォルダに誰かが作ったバッチがあって
よく分からんけど、叩いてる
なんて人もいると思います。(私もそうです^^)

そういったバッチの中身はとんでもないことになってたりして
いきなり紐解くのは難しいです。

まずは基本に立ち返って、HelloWorldから始めてみましょう。




バッチファイルの作り方

1. テキストファイルを作成します

2. ファイル名を変更し、「ファイル名.bat」の形式にします
例)sample.bat

 

バッチファイルの実行方法は、ファイルをダブルクリックすることで
ターミナル画面が開き実行されます。

 

バッチファイルで文字を出力

echo [出力したい文字]

 

echo hello world
pause

 

結果:

C:\Users\Shinmai\Documents\BatFileTest>echo hello world
hello world
C:\Users\Shinmai\Documents\BatFileTest>pause
続行するには何かキーを押してください . . .

 

echo:その後に続く文字列をコンソールの画面に出力するコマンド
pause:実行終了後にコンソール画面を閉じないコマンド

 

pauseがなくてもコマンド自体は実行されているのですが
画面が一瞬で閉じてしまうので、pauseを入れて結果が確認できるようにしています。

 

バッチファイルで変数を使う

変数と聞いてピンとこない方は、下の部分を読んでみてください!

変数とは

一時的に文字列などのデータを保管できる機能です。

変数名をつけることで、後から何度でも使用できます。

1度変数に入れておけば、同じ物が使い回せるので
多くの人はこの機能を使って楽をしています。

 

新米太郎
新米太郎

変数を使うのがベターです。

よく分からない方は、とりあえずコピペでも良いです!

使い方

set 変数名=変数に入れる値

 

@echo off
set str=hello world
echo %str%
pause

 

結果:

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

 

変数を使う場合は%変数名%とします

また、@echo offの意味ですが
コマンドラインを見やすくするものだと思ってもらえれば大丈夫です。

つけない場合、読み込んだ文字がすべてコマンドラインに出力されてしまい
非常に見づらくなります。

詳しく知りたい方はこのあたりを見てみてください

バッチファイルによく出てくる@echo offの意味 - Qiita
最近バッチファイルを触ったのですが @echo off って何? と思って調べたのでアウトプット ついでに誰かのためになったら嬉しいかも? echo offの意味 結論から言うと、コマンドラインを見やすくするためのコマン...

 

バッチファイルで繰り返し処理

forを使いループさせ、hello worldを繰り返し出力してみましょう

for構文をを正しく理解しようとすると
かなり複雑なため、今回は簡略化した形で紹介します。

 

新米太郎
新米太郎

初めの内は、分かるところから少しずつ理解していきましょう!

使い方

for /l %%i in (初期値、増分、終了値) do (実行したいコマンド)

 

(初期値、増分、終了値)
の部分は %%i に対して適用されます

 

@echo off
chcp 65001
set str=hello world

for /l %%i in (1,1,5) do (
   echo %%i回目%str%
)
pause

 

結果:

1回目hello world
2回目hello world
3回目hello world
4回目hello world
5回目hello world
Press any key to continue . . .

 

条件によって処理を変える

ifを使うことで、条件に一致している場合のみ
処理を行うことができます。

 

if 条件式 (
実行したいコマンド
) else (
条件式を満たさなかった場合に実行するコマンド
)

 

先ほどのforを使った例の少し変えて
3回目の繰り返しだけ、別の処理をするバッチを書いてみます。

@echo off
chcp 65001
set str=hello world

for /l %%i in (1,1,5) do (
  if %%i==3 (
    echo %%i回目 good morning
  ) else (
    echo %%i回目%str%
  )
)
pause

 

結果:

1回目hello world
2回目hello world
3回目 good morning
4回目hello world
5回目hello world
Press any key to continue . . .

 

3回目だけはifの中が実行され
それ以外はelseの中が実行されていますね

最後に

いかがだったでしょうか?

今回はバッチファイルの基本的な使い方を紹介しました。

新米太郎
新米太郎

読んで頂き、ありがとうございました!

コメント

タイトルとURLをコピーしました