All I want to do is differentiate between the program being run by the command line or by clicking the test.vbs file in a window.
If you run the script by typing C:\testFolder\test.vbs
in a command prompt, then I want the program to run differently than if you double clicked test.vbs
in the testFolder
.
Is there some system variable that I can use to differentiate between the two scenarios? I first attempted to use WScript.Fullname
to determine if the pathname ended in cscript or wscript. But that didn't work so well.
Any ideas are greatly appreciated.
You could try something like this:
Set WshShell = CreateObject("WScript.Shell")
Set objEnv = WshShell.Environment("Process")
msgbox objenv("PROMPT")
In general PROMPT will be set to something like $P$G when run from a command prompt, but left blank when you run the .VBS file directly.
If you want to test against WScript.FullName
, you can use InStr
with vbTextCompare
so that the match is case-insensitive.
If InStr(1, WScript.FullName, "cscript", vbTextCompare) Then
WScript.Echo "Console"
ElseIf InStr(1, WScript.FullName, "wscript", vbTextCompare) Then
WScript.Echo "Windows"
Else
WScript.Echo "???"
End If
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With