8

バッチ呼び出しと同じように、コマンド ラインから vbs コマンドを実行したい

cmd.exe /c "echo.Hello World! & pause"

明らかにこれは機能しません

wscript /C MsgBox("Hello world")

vbs を印刷し、一時ファイルを呼び出して削除することができます

cmd.exe /c "echo. [VBSCODE] > temp.vbs & wscript temp.vbs & del temp.vbs"

しかし、これは面倒すぎて、プロンプトをポップアップさせたくありません。

4

3 に答える 3

17

これはコマンドラインで直接動作します:

mshta vbscript:Execute("MsgBox(""Message"",64,""Title"")(window.close)")
于 2015-01-26T02:03:31.033 に答える
3

VBScript には、ソース コード用のファイルが必要です。stdin を「ファイル」として指定したいのですが、それを行うメカニズムがありません。したがって、答えはノーです。一時ファイルを使用しないと、コマンド ラインから VBS コードを生成して実行することはできません。

PA が示したように、ほとんどの人はバッチ スクリプトを使用して一時 VBS コードを記述し、実行し、一時コードを削除します。

一時ファイルを必要とせずに、バッチ ファイル内に VBS コードを埋め込むメカニズムを発見しました。しかし、それはあまりきれいではありません。一時ファイルを使用せずにバッチ ファイル内に VBScript を埋め込んで実行することは可能ですか? を参照してください。

バッチ ファイル内に JScript を埋め込む方がはるかにクリーンです。

于 2012-10-29T13:13:22.443 に答える
0

同じことを何度も入力するのを避け、実行するコマンドでバットを作成するだけです

sovb.bat

@echo off
echo %* >%temp%\temp.vbs
wscript %temp%\temp.vbs
del %temp%\temp.vbs

次に、コマンドラインから呼び出します

sovb MsgBox("Hello World")
于 2012-10-29T09:16:56.637 に答える