💻

バッチ処理基礎

2022/02/08に公開

はじめに

仕事で必要になったので学習したことに関して記事にしています。

echo

役割が2つあります。
・引数に渡した文字列の出力
・実行したコマンドの出力
引数に渡した文字列の出力

# echo [文字列]
echo Hello World

実行したコマンドを出力
echoには実行したコマンドをそのまま繰り返す機能がある。つまりソースの各行をそのまま出力します。
これを防ぐためには方法が2種類あります。

  1. 各行の先頭に@をつける
  2. echo offにする。これを記述した後のコマンドはすべて非表示になる。

1の場合だとコード量が多くなったときに大変なので、2の方がいい気がする。ただし、2のままだとecho offはechoされてしまうので先頭に@をつける。
実際には下記のようなコードになる。

@echo off
echo Hello World

rem

コメントをつけたいときに使用します。

# rem [コメント]
rem コメントです。

set

変数の値を設定するときに使用します。

# set 変数名=値
set var=Hello world

値を参照するときには以下のようにします。

# %変数%
echo %var%

setx

OSシステムに環境変数を設定するときに使用します。

# setx 環境変数名 値
setx SAMPLE "foo"

pause

バッチプログラムの処理を中断します。

timeout

一定時間(秒)の経過またはユーザーが任意のキーを押すまでプログラムを待機させます。

echo.%time%
timeout 3
echo.%time%

おわりに

他のことに関しても、少しずつ記事を書いていきたいと思っています。
間違いがあればご指摘いただけると嬉しいです。

参考にした記事,書籍

Windows バッチ処理まとめ
初めての Windows Batch

Discussion