Skip to main content

VB.NET Run DOS Command

VB.NET  Execute DOS Command

How to execute command line using VB.NET?

Quick Snippet to Run a DOS Command executable file

Let's take an example using iexplore.exe and shutdown.exe command.

Iexplore.exe which is located on program files folder.

To verify the file open windows explorer and go to Program Files select Internet Explorer folder.

Or via command line press "Windows key +R" and type "cmd" on the text box  and press enter. It will open a command prompt window.

In command prompt window:

Type: cd \progra~1\Internet Explorer and press enter.

type: Iexplore.exe cnn.com (this will open a web page for cnn.com)

Using the shutdown command:
type: Shutdown /R /F /T 07 (reboot the computer and force open files to close within 7 seconds)

It's quite straight forward to use those commands via the command prompt but how to execute those command lines using VB.Net?

Maybe the first thought is to create a string with the command  and call the string with "process.start" but it will not work.


Like this example below:

Dim xStr As String

xStr = "c:\progra~1\Internet Explorer\iexplore.exe" & " " & "cnn.com"

The "xStr" string is same format as it is type via command prompt and it works perfectly on the command line.

To verify how the string looks like create a message box and view the string.


Using this piece of code it will display the "xStr" string: Msgbox xStr

Output will display; C:\PROGRA~1\Internet Explorer\iexplore cnn.com

Msgbox or Messagebox in VB.Net comes in handy to troubleshoot or verify the value of a string.

To execute the string using the process.start command:

Process.Start(xStr)

VB.Net will throw an error "Win32Exception was unhandled" "The system cannot find the file specified"

VB.NET  treats  the whole string as one executable command and throws an error.

  "C:\PROGRA~1\Internet Explorer\iexplore cnn.com"

To specify command prompt parameters, it must be separated by commas before passing the statement to "process.start".

So to open a web page on VB.NET using the process.start command:

Statement will be:

Process.Start("c:\progra~1\Internet Explorer\iexplore.exe", "cnn.com")

Syntax is somewhat like Process.Start("Command Line", "Parameters of  Command Line")

For illustration on how to execute shutdown.exe command line using VB.Net follow example below.

Shutdown command line below will reboot or restart the computer.

Dim xStrParam as string

xStrParam = "/R" & " " & "/F" & " " & "/T" &  " 87"

Process.Start("Shutdown.exe",xStrParam)

The logic goes the same way to other DOS command program which can be executed on VB.NET environment.

Another way to execute or run command line in VB.Net is to run commands line VBScript.

Example code:

       Dim dhcpRR As String

        dhcpRR = ("ipconfig /release & ipconfig /renew")
        Dim ShellRR = CreateObject("Wscript.Shell")
        ShellRR.run("cmd /K" + dhcpRR)


Code above will open a command prompt and execute ipconfig /release and ipconfig /renew.


Hope that this noob snippet will help someone along the way. Cheers!!!

===================================
Free Android Apps:

Click on links below to find out more:

Linux Android App cheat sheet:
https://play.google.com/store/apps/details?id=com.LinuxMobileKit


https://play.google.com/store/apps/details?id=soulrefresh.beautiful.prayer

Catholic Rosary Guide  for Android:

https://play.google.com/store/apps/details?id=com.myrosaryapp

http://quickbytesstuff.blogspot.sg/2014/09/how-to-recite-rosary.html

Divine Mercy Chaplet Guide (A Powerful prayer):

https://play.google.com/store/apps/details?id=com.dmercyapp




Comments

Popular posts from this blog

Copy a single file using robocopy

Copy a single file using robocopy from a local folder to a shared folder on the network.
A simple rule of thumb before any disaster strike, don't interchange the source and the destination.

If source and destination is mistakenly reverse, files might get overwritten. To avoid any loss of data do a test with a dummy file to ensure things work perfectly.
Robocopy [source][destination]   [file to be copied]
robocopy c:\local_c_folder  \\PC_network\shared_folder   file_to_be_copied_xx.txt
The command will be completed successfully provided the network access right has no issues.

Robocopy works quite good on large files. A simple copy or xcopy command will also work but the speed might vary.

Robocopy is free it can be accessed from command line. No need to install the resource kit tool if the operating system is Windows 7 or newer version.

Copy files with selected file extension using PowerShell and Robocopy:

$extension = ('.pdf', '.jpg', '.txt')
gci d:\WorkFolde…

WMIC get computer name

WMIC get computer model, manufacturer, computer name and  username.
WMIC is a command-line tool and that can generate information about computer model, its manufacturer, its username and other informations depending on the parameters provided.
Why would you need a command line tool if there’s a GUI to check?
If you have 20 or 100 computers, or even more. It’s quite a big task just checking the GUI to check the computer model and username.
If you have remote computers, you need to delegate someone in the remote office or location to check.
Or you can just write a batch file or script to automate the task.
Here’s the code below on how get computer model, manufacturer and the username.
Open an elevated command prompt and type:
wmic computersystem get "Model","Manufacturer", "Name", "UserName"
Just copy and paste the code above, the word “computersystem” does not need to be change to a computer name.
A sample output below will be generated if the co…