我想从命令行运行一个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"
但是这太混乱了,我不想弹出提示符。
发布于 2015-01-26 10:03:31
这直接在命令行上起作用:
mshta vbscript:Execute("MsgBox(""Message"",64,""Title"")(window.close)")
发布于 2012-10-29 21:13:22
VBScript的源代码需要一个文件。您希望将stdin指定为"file",但是没有这样做的机制。因此,答案是否定的-如果不使用临时文件,就不能从命令行生成和运行VBS代码。
正如PA所演示的那样,大多数人使用批处理脚本来编写临时VBS代码、执行,然后删除临时代码。
我发现了一种机制,可以在批处理文件中嵌入VBS代码,而不需要临时文件。但是它不是很漂亮。请参阅Is it possible to embed and execute VBScript within a batch file without using a temporary file?
这对embed JScript within a batch file来说要干净得多。
发布于 2012-10-29 17:16:57
避免重复输入,只需使用要运行的命令创建一个bat即可
sovb.bat
@echo off
echo %* >%temp%\temp.vbs
wscript %temp%\temp.vbs
del %temp%\temp.vbs
然后从命令行调用它
sovb MsgBox("Hello World")
https://stackoverflow.com/questions/13115508
复制相似问题