首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以通过wscript或cscript命令行直接运行vbscript

可以通过wscript或cscript命令行直接运行vbscript
EN

Stack Overflow用户
提问于 2012-10-29 11:26:14
回答 3查看 10K关注 0票数 8

我想从命令行运行一个vbs命令,就像在批处理调用中一样

代码语言:javascript
运行
复制
cmd.exe /c "echo.Hello World! & pause"

显然这是行不通的

代码语言:javascript
运行
复制
wscript /C MsgBox("Hello world")

我可以打印vbs,然后调用临时文件,然后删除它

代码语言:javascript
运行
复制
cmd.exe /c "echo. [VBSCODE] > temp.vbs & wscript temp.vbs & del temp.vbs"

但是这太混乱了,我不想弹出提示符。

EN

回答 3

Stack Overflow用户

发布于 2015-01-26 10:03:31

这直接在命令行上起作用:

代码语言:javascript
运行
复制
mshta vbscript:Execute("MsgBox(""Message"",64,""Title"")(window.close)")
票数 17
EN

Stack Overflow用户

发布于 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来说要干净得多。

票数 3
EN

Stack Overflow用户

发布于 2012-10-29 17:16:57

避免重复输入,只需使用要运行的命令创建一个bat即可

sovb.bat

代码语言:javascript
运行
复制
@echo off
echo %* >%temp%\temp.vbs
wscript %temp%\temp.vbs
del %temp%\temp.vbs

然后从命令行调用它

代码语言:javascript
运行
复制
sovb MsgBox("Hello World")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13115508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档