There's any way to run vbscript directly to wscript or cscript command line

末鹿安然 提交于 2019-12-06 00:02:12

问题


I want to run a vbs command from command line as I would in batch calling

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

Obviously this doesn't work

wscript /C MsgBox("Hello world")

I could print the vbs and then call the temporary file and then delete it

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

but this is too messy, and I don't want the prompt poping up.


回答1:


this works directly on the command line:

mshta vbscript:Execute("MsgBox(""amessage"",64,""atitle"")(window.close)")




回答2:


VBScript requires a file for its source code. You want to specify stdin as the "file", but there is no mechanism to do that. So the answer is no - you cannot generate and run VBS code from the command line without using a temporary file.

Most people use a batch script to write temp VBS code, execute, and then delete the temp code, as PA has demonstrated.

I have discovered a mechanism to embed the VBS code within the batch file, without the need for a temporary file. But it is not very pretty. See Is it possible to embed and execute VBScript within a batch file without using a temporary file?

It is much cleaner to embed JScript within a batch file.




回答3:


avoid typing over and over the same, just create a bat with the commands to run

sovb.bat

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

and then from the command line, invoke it

sovb MsgBox("Hello World")


来源:https://stackoverflow.com/questions/13115508/theres-any-way-to-run-vbscript-directly-to-wscript-or-cscript-command-line

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!