トッカンソフトウェア

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)

			

ページのトップへ戻る