2012-10-29 27 views

回答

0

避免打字遍地是相同的,只是創建一個命令的球棒來運行

sovb.bat

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

,然後通過命令行,調用它

sovb MsgBox("Hello World") 
1

VBScript需要一個文件作爲其源代碼。你想指定stdin作爲「文件」,但是沒有機制來做到這一點。所以答案是否定的 - 你不能使用臨時文件從命令行生成和運行VBS代碼。

大多數人使用批處理腳本編寫臨時VBS代碼,執行並刪除臨時代碼,如PA所示。

我發現了一種將VBS代碼嵌入到批處理文件中而不需要臨時文件的機制。但它不是很漂亮。見Is it possible to embed and execute VBScript within a batch file without using a temporary file?

它比embed JScript within a batch file更清潔。

9

這個工程直接在命令行上:

MSHTA的VBScript:執行( 「MSGBOX(」 「amessage」 「64 」「 atitle 」「)(window.close)」)

+0

是它當然可以!至少在Win7 x64上。 – slashp