Running a .BAT file from a Windows Form

What is a .Bat file?

A batch (.bat) file is a script containing a sequence of DOS commands, carefully crafted to streamline and automate routine tasks frequently executed on a computer system. These files, denoted by the .bat extension, serve as powerful tools, facilitating a seamless amalgamation of multiple commands into a single script.

execute bat file

By using the potential of batch files, users can optimize their workflow and boost productivity through the automation of specific actions, ensuring that essential tasks are accomplished with a mere click, sparing valuable time and effort in the process. The ease of execution and the ability to encapsulate complex procedures within a single file make batch files an indispensable asset in the scope of system administration and task management, allowing users to focus on more critical aspects of their work with heightened efficiency and precision.

How to create a .Bat file?

To craft a straightforward and efficient batch file, a single command that you wish to execute is all that's required. This command can be carefully entered into a plain text file, and then, to ensure its proper functionality, it is diligently saved with the .BAT extension, such as "testbat.bat." By following this straightforward procedure, you can promptly create a potent and versatile batch file that streamlines your desired command's execution, maintaining seamless automation and enhancing operational efficacy. Utilizing batch files in this manner can expedite routine tasks, improve productivity, and empower users to optimize their workflows with ease and precision, rendering them valuable tools for system administrators and users seeking to streamline repetitive actions.

The following .bat file create a folder "d:\MyDir" in your D drive. The content of the file as follows :

ECHO Start Creating Directory MKDIR D:\MyDir ECHO Directory created D:\MyDir
execute bat file from C# or vb.net

To initiate the process, access the Notepad application and carefully copy and paste the provided content into the text editor. Next, diligently save the file with the appellation "testbat.bat" to ensure proper identification as a batch file. For prompt execution, a simple double-click action on the aforementioned file (testbat.bat) will activate its functionality. Upon execution, a novel directory bearing the name "MyDir" will be generated within your D drive, resulting in a seamless and efficient creation of the designated directory.

In some situations you have to run .bat files from your C# or VB.Net applications. The following programs shows how to run a .bat file from C# or VB.Net.


Source Code | C#
using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Diagnostics; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Process proc = null; try { string batDir = string.Format(@"D:\"); proc = new Process(); proc.StartInfo.WorkingDirectory = batDir; proc.StartInfo.FileName = "testbat.bat"; proc.StartInfo.CreateNoWindow = false; proc.Start(); proc.WaitForExit(); MessageBox.Show("Bat file executed !!"); } catch (Exception ex) { Console.WriteLine(ex.StackTrace.ToString()); } } } }

Source Code | Vb.Net
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim proc As Process = Nothing Try Dim batDir As String = String.Format("D:\") proc = New Process() proc.StartInfo.WorkingDirectory = batDir proc.StartInfo.FileName = "testbat.bat" proc.StartInfo.CreateNoWindow = False proc.Start() proc.WaitForExit() MessageBox.Show("Bat file executed !!") Catch ex As Exception Console.WriteLine(ex.StackTrace.ToString()) End Try End Sub End Class

Start and Kill Processes

Using the Process component, you can obtain a list of the processes that are running, or you can start a new process in the system. The System.Diagnostics namespace provides classes that allow you to interact with system processes, event logs, and performance counters. More about..... Start and Kill Processes

How get Running Process List

How get Running Process List from C# or vb.net

The Process class provides functionality to monitor system processes across the network, and to start and stop local system processes. You can retrieve detailed knowledge of process threads and modules both through the Process class itself. More about...... Running Process List