WSH 基本
Windows Script Hostについて書いていきます。Windows Script HostはWindowsで使用するシェルスクリプトおよびスクリプト実行環境です。cmd(バッチファイル)より複雑なことが出来ます。
テキストファイルにスクリプトを書いてファイルをダブルクリックして実行するか、コマンドプロンプトより実行します。
スクリプトは .vbsという拡張子で保存します。
そのままでも実行できますが、wscriptで実行するとGUI、cscriptで実行するとCUIで実行されます。
コマンドプロンプトでの実行イメージ
rem そのまま実行
test.vbs
rem GUIとして実行
wscript test.vbs
rem CUIとして実行
cscript test.vbs
メッセージ表示
'指定時間で閉じるメッセージを表示
dim objShell
set objShell = CreateObject("wscript.shell")
objShell.popup "① 指定時間(今回は2秒)で閉じるメッセージを表示", 2
set objShell = nothing
'GUIならダイアログボックス、CUIならコマンドプロンプトにメッセージ表示
wscript.echo "② GUIならダイアログボックス、CUIならコマンドプロンプトにメッセージ表示"
'ダイアログボックス表示
msgbox "③ ダイアログボックスでメッセージ表示"
コメントは頭に'(シングルクォーテーション)を書きます
条件分岐(IF文)
dim num
dim str
num = 0
str = "test"
'文字列の比較も = でいけます
if str = "test2" then
'elseifはelseとif繋げて書きます
elseif num > 0 then
'elseは普通に使えます
else
end if
条件分岐(switch文)
dim idx
idx = 0
Select Case idx
Case 0
wscript.echo "zero"
Case 1
wscript.echo "one"
Case Else
wscript.echo "else"
End Select
繰り返し処理(For文)
dim i
'繰り返し数を指定した繰り返し文
for i = 0 to 5
wscript.echo i
next
繰り返し処理(For Each文)
dim strs
dim str
strs = Array("one","two","three")
For Each str In strs
wscript.echo str
Next
関数
dim ret
'関数の呼び出し(戻り値あり)
ret = edit("Hello", "World")
'関数の呼び出し(戻り値なし)
show(ret)
'戻り値がある場合の関数
Function edit(str1,str2)
edit = str1 + " " + str2
End Function
'戻り値がない場合の関数
Sub show(str)
wscript.echo str
End Sub
タブ文字、改行文字
'タブ文字は vbTab 、改行文字は vbCrLf
wscript.echo "Hello" + vbTab + "World" + vbCrLf + "こんにちは、世界"
起動オプション(起動時引数)
' 起動オプション(起動時引数)は wscript.Arguments で取得する
wscript.echo "引数:" & wscript.Arguments(0)
ページのトップへ戻る