« [スマホ]DQW : おみやげ・おでかけ - 富山県の氷見市潮風ギャラリー「寒ブリ」入手(82個目) | トップページ

2024年11月12日 (火)

[VBS] コマンドプロンプト非表示で引数付きバッチファイル実行

引数付きでバッチファイルをタスクスケジューラから実行するときに、何とかコマンドプロンプト画面を非表示で実行できないか調べて見たところ、VBScriptで実行すると非表示にはできるが、引数に対応し、汎用的に使いまわしできるVBScriptが検索の仕方が悪いのか、参考サイトを見つけられなかったため、この条件を満たすVBScriptを作成してみました。(  ̄▽ ̄)ノ おりゃー!!

まずは、引数に対応した test.bat を作成。
@mshta VBScript:execute("MsgBox ""このBATへの引数は、【%*】です"", 0, ""%~nx0"":close")
(※テスト用に1行だけのBATファイルを用意してみました)
ここで動作確認として、test.batのショートカットファイルを作成し、そのプロパティに引数1 引数2 引数3を次の画像の通り作成。


作成したtest.batのショートカットの実行結果は、次の画像の通りコマンドプロント画面の上にメッセージボックスが表示されるのを確認。



ここからは、コマンドプロンプト非表示で引数付きバッチファイルを実行するために、引数に対応した汎用VBScriptとして、HideCmdWin.vbsファイルを下記の通り作成。
Dim ary(), i
ReDim ary(WScript.Arguments.Count)
For i = 0 To WScript.Arguments.Count - 1
	ary(i) = WScript.Arguments(i)
Next
CreateObject("Wscript.Shell").run "cmd /c " & Join(ary), 0
(※可能な限り必要最小限のコードにしてみました)
動作確認として、HideCmdWin.vbsのショートカットファイルを作成し、そのプロパティのリンク先を下記の通り書き換え。
リンク先:C:\Windows\System32\wscript.exe D:\sample\HideCmdWin.vbs D:\sample\test.bat 引数1 引数2 引数3


書き換えたショートカットファイルを実行した結果は、次の通り。


これにて、コマンドプロンプト非表示で引数付きのバッチファイルができました(  ̄▽ ̄)b

今回作成したファイルをここにzip圧縮しておいて置きます。

|

« [スマホ]DQW : おみやげ・おでかけ - 富山県の氷見市潮風ギャラリー「寒ブリ」入手(82個目) | トップページ

プログラミング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« [スマホ]DQW : おみやげ・おでかけ - 富山県の氷見市潮風ギャラリー「寒ブリ」入手(82個目) | トップページ