VBS(VBScript)のif文のサンプルです。条件で処理を分岐する時に使用します。
目次
if文 | If文とは / if文のサンプル / ネスト構造 if文の中にif文 |
比較演算子 | |
論理演算子 | 論理積(And) AかつB / 論理和(Or) AまたはB / 論理否定(Not) Aではない |
参考 | vbsファイルを実行する |
If文とは
If 条件 Then 処理 End If |
' ElseIfとElseを書く場合 If 条件 Then 処理 ElseIf 条件 Then 処理 Else 処理 End If |
- 条件が合致する場合、配下の処理が実行され、if文の処理は終了します。
- 条件が合致することをtrue(真)ともいいます。
- 条件が合致しない場合、配下の処理は実行されず、その下(ElseIf/Else/if文終了)に進みます。
- 条件が合致しないことをfalse(偽)ともいいます。
- ElseIfは、複数記述できます。省略可です。
- Elseの処理は、どの条件も合致しなかったときに実行されます。Elseは、1つのみ記述できます。省略可能です。
if文のサンプル
a = 1
if a = 0 then
WScript.Echo("0")
ElseIf a = 1 Then
WScript.Echo("1") '1が表示される
Else
WScript.Echo("other")
end if
5行目のElseIf(if文)はtrueになるのでその配下の処理が実行されます。
6行目の処理が実行されif文を抜けます。
ネスト構造 if文の中にif文
a = 1
b = 1
if a = 1 then
if b = 1 then
WScript.Echo("1") '1が出力される
end if
end if
5行目は、if文の中にif文を記述しています。ネストの構造です。入れ子ともいいます。
比較演算子
比較演算子は、2つの値を比べて条件を満たしていればtrue,そうでない場合はfalseを返します。
等しくないとする場合は、<>とします。
比較演算子 | 説明 |
---|---|
a = b | aとbの値は等しい |
a <> b | aとbの値は等しくない |
a > b | aはbより大きい |
a >= b | aはbより大きい または 等しい |
a < b | aはbより小さい |
a <= b | aはbより小さい または 等しい |
論理積(And) AかつB
論理演算子のAndは、左右の条件が両方ともtrueの場合、trueになります。それ以外はfalseです。
a = 1
b = 1
if a = 1 and b = 1 then
WScript.Echo("True")'Trueが出力される
end if
4行目は、左右の条件が共にtrueなので、trueになります。
論理和(Or) AまたはB
論理演算子のOrは、左右の条件のどちらかがtrueの場合、trueになります。
a = 1
b = 1
if a = 0 or b = 1 then
WScript.Echo("True")'Trueが出力される
end if
4行目は、左の条件はfalseですが右の条件がtrueなのでtrueになります。
論理否定(Not) Aではない
条件式がfalseの場合にtrueになります。
条件式がtrueの場合にfalseになります。
a = 1
if not a = 0 then
WScript.Echo("True")'Trueが出力される
end if
if a <> 0 then
WScript.Echo("True")'Trueが出力される
end if
3行目は値の比較でfalseになり、それを否定するのでtrueになります。
7行目の<>でも否定になります。
vbsファイルを実行する
vbsファイルをコマンドプロンプトから実行する場合、2つの方法があります。
1.ファイル名を入力して実行する。
上記コードの場合、ファイル名を入力するとメッセージボックスが表示されます。
2.cscriptの引数にファイル名を指定する。
cscript /Nologo test1.vbs
上記コードの場合、コマンドプロンプトに文字列が表示されます。
cscriptは、スクリプトファイルを実行するコマンドです。
cscriptのオプションとして/Nologoをつけるとバージョン表記等が表示されなくなります。
関連の記事