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 !!");
.
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