Batch-Skript in C# ausführen

MD Aminul Islam 12 Oktober 2023
Batch-Skript in C# ausführen

In diesem Artikel werden wir sehen, wie wir ein C#-Programm schreiben können, das eine Batch-Datei aus einem Verzeichnis ausführen kann.

Batch-Skript in C# ausführen

Wenn wir in C# eine Batch-Datei ausführen möchten, fungiert sie als Prozess. Sie können dem folgenden Beispielcode folgen, um ein Stapelskript mit dem C#-Programm auszuführen.

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

Im obigen Beispielcode führen wir ein Batch-Skript namens simple.bat aus. Hier müssen Sie das Arbeitsverzeichnis festlegen, bevor Sie den Vorgang starten.

Das obige Beispiel ist der Codeabschnitt, der eine Batchdatei aus einem angegebenen Verzeichnis ausführen kann. Im folgenden Ausschnitt haben wir die gleiche Aufgabe kurz ausgeführt.

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 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());
      }
    }
  }
}

Zuerst initialisieren wir alle notwendigen Pakete für unseren Code. Dann initialisieren wir alle grafischen Komponenten.

Wir stellen die Aktion zum Ausführen der Batchdatei über eine Schaltfläche bereit. Durch die Zeile Process pros = null; initialisieren wir einen leeren Prozess.

Wir behalten unseren Hauptteil des Codes in einem Ausnahmehandler, da er Laufzeitfehler erzeugen kann. Durch die Zeile string BatFileDir = string.Format(@"D:\"); Wir nehmen einen String, der das Verzeichnis der Datei enthält.

Danach haben wir einen neuen Prozess deklariert und das Arbeitsverzeichnis mit der Variable BatFileDir initialisiert. Den Dateinamen setzen wir über die Zeile pros.StartInfo.FileName = "Mybat.bat"; und deaktivieren Sie das Öffnen eines neuen Fensters durch die Zeile pros.StartInfo.CreateNoWindow = false;.

Dann führen wir die Batchdatei über die Zeile pros.Start(); aus. Die Zeile pros.WaitForExit(); Lassen Sie das Programm warten, bis es die Ausführung der Batch-Datei beendet hat.

Zuletzt zeigten wir dem Benutzer eine Meldung, dass die Batch-Datei erfolgreich ausgeführt wurde, über die Zeile 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

Verwandter Artikel - Batch Script