Ejecutar Batch script en C#

MD Aminul Islam 12 octubre 2023
Ejecutar Batch script en C#

En este artículo, veremos cómo podemos escribir un programa C# que pueda ejecutar un Batch archivo desde un directorio.

Ejecutar Batch Script en C#

En C#, cuando queremos ejecutar un Batch archivo, actúa como un proceso. Puede seguir el código de ejemplo a continuación para ejecutar un Batch script usando el programa C#.

System.Diagnostics.Process pros = new System.Diagnostics.Process();
pros.StartInfo.FileName = "C:\\MyDir\\simple.bat";
pros.StartInfo.WorkingDirectory = "C:\\MyWorkDir";
pros.Start();

En el código de ejemplo anterior, ejecutamos un Batch script llamado simple.bat. Aquí debe configurar el directorio de trabajo antes de iniciar el proceso.

El ejemplo anterior es la pieza de código que puede ejecutar un Batch archivo desde un directorio específico. En el siguiente fragmento, hemos realizado brevemente la misma tarea.

Código-C#:

using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
namespace BatchLoader {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }
    private void Button_Click(object sender, EventArgs e) {
      // initialize empty process
      Process pros = null;
      try {
        string BatFileDir = string.Format(@"D:\");  // directory of the file
        pros = new Process();
        pros.StartInfo.WorkingDirectory = BatFileDir;
        pros.StartInfo.FileName = "Mybat.bat";  // batch file name to be execute
        pros.StartInfo.CreateNoWindow = false;
        pros.Start();  // run batch file
        pros.WaitForExit();
        MessageBox.Show("Batch file successfully executed !!");
      } catch (Exception ex) {
        Console.WriteLine(ex.StackTrace.ToString());
      }
    }
  }
}

Primero, inicializamos todos los paquetes necesarios a nuestro código. Luego inicializamos todos los componentes gráficos.

Proporcionamos la acción para ejecutar el Batch archivo a través de un botón. A través de la línea Process pros = null;, inicializamos un proceso vacío.

Mantenemos nuestra parte principal del código en un controlador de excepciones, ya que puede generar errores de tiempo de ejecución. A través de la línea string BatFileDir = string.Format(@"D:\"); tomamos una cadena que contiene el directorio del archivo.

Después de eso, declaramos un nuevo proceso e inicializamos el directorio de trabajo con la variable BatFileDir. Establecemos el nombre del archivo a través de la línea pros.StartInfo.FileName = "Mybat.bat"; y deshabilite la apertura de una nueva ventana con la línea pros.StartInfo.CreateNoWindow = false;.

Luego ejecutamos el Batch archivo a través de la línea pros.Start();. La línea pros.WaitForExit(); hacer que el programa espere hasta que finalice la ejecución del Batch archivo.

Por último, mostramos un mensaje al usuario de que el Batch archivo se ejecutó con éxito a través de la línea MessageBox.Show("Batch file successfully executed !!");.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Artículo relacionado - Batch Script