2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

« バッチファイルでテキストファイルを編集する。 | トップページ | バッチファイルで文字列の長さを得る。 »

2008年2月28日 (木)

バッチ引数、FOR引数の有無を判定する。

よくあるのは、

IF "%1"=="" ECHO 引数なし

または、

IF "%~1"=="" ECHO 引数なし

ですが、 どちらも上手く行かないケースがあるので、

SET TEST=%1
IF NOT DEFINED TEST ECHO 引数なし

がお勧めです。

環境変数の部分文字列の有無(空)の判定も同様です。

IF "%AAA:~3%"=="" ECHO 空

のような判定は危険です。

SETLOCAL ENABLEDELAYEDEXPANSION
IF "!AAA:~3!"=="" ECHO 空

または、

SETLOCAL ENABLEDELAYEDEXPANSION
SET TEST=!AAA:~3!
IF NOT DEFINED TEST ECHO 空

なら安全です。

« バッチファイルでテキストファイルを編集する。 | トップページ | バッチファイルで文字列の長さを得る。 »