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

3

9

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.

Mizzle answered 29/10, 2012 at 3:26 Comment(0)
H
20

This works directly on the command line:

mshta vbscript:Execute("MsgBox(""Message"",64,""Title"")(window.close)")

also for several commands:

mshta vbscript:Execute("MsgBox ""Message"",64,""Title"":MsgBox ""Hello again!"",64,""Hello"":close")
Hatshepsut answered 26/1, 2015 at 2:3 Comment(2)
Yes it sure does! At least on Win7 x64.Hasbeen
is there a way with w/csript ?Eclogue
M
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.

Microphysics answered 29/10, 2012 at 13:13 Comment(0)
T
0

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")
Teleprinter answered 29/10, 2012 at 9:16 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.