|
There are various ways to execute an external command from VBS. Here are a few examples.
1. Using Exec
If you want to run an application in a child command-shell, providing access to the StdIn/StdOut/StdErr streams:
Example 1: Capturing the exit code:
Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("notepad")
Do While oExec.Status = 0 WScript.Sleep 100 Loop
WScript.Echo oExec.Status
Example 2: Capturing the output:
Wscript.Echo runCMD("dir C:\") Function runCMD(strRunCmd) Set objShell = WScript.CreateObject("WScript.Shell") Set objExec = objShell.Exec(strRunCmd) strOut = ""
Do While Not objExec.StdOut.AtEndOfStream strOut = strOut & objExec.StdOut.ReadLine() Loop
Set objShell = Nothing Set objExec = Nothing
runCMD = strOut End Function
2.Using Run
If you want to run a program in a new process:
object .Run(strCommand, [intWindowStyle], [bWaitOnReturn])
intWindowStyle is an integer value indicating window style. Here's a table of styles:
| intWindowStyle | Description |
| 0 |
Hides the window and activates another window. |
| 1 |
Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time. |
| 2 |
Activates the window and displays it as a minimized window. |
| 3 |
Activates the window and displays it as a maximized window. |
| 4 |
Displays a window in its most recent size and position. The active window remains active. |
| 5 |
Activates the window and displays it in its current size and position. |
| 6 |
Minimizes the specified window and activates the next top-level window in the Z order. |
| 7 |
Displays the window as a minimized window. The active window remains active. |
| 8 |
Displays the window in its current state. The active window remains active. |
| 9 |
Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window. |
| 10 |
Sets the show-state based on the state of the program that started the application. |
bWaitOnReturn an option to either wait for the process to return or continue without it (can be either true or false)
Example 1: change directory to C:\ and run dir command:
Dim oShell Set oShell = WScript.CreateObject ("WScript.Shell") oShell.run "cmd /K CD C:\ & Dir" Set oShell = Nothing
|