Frage von SpieleArena, 24

Wie kann ich eine .batch in VB.net einfügen?

Hallo, Ich möchte für meine Server Gruppe ein Programm entwickeln mit dem es möglich sein soll alle konsolen gleichzeitig in einem Fenster zu nutzen! Doch ich habe ein Problem... Ich muss die Konsolen als batch starten diese sind auch schon fertig mit folgendem Code... Aber wie kann ich machen das die batch IN der anwendung angezeigt wird und man befehle für die konsole an die batch senden kann?

Habe hier schon reingeschaut habe es aber nicht verstanden: https://www.tutorials.de/threads/vb-net-batch-in-windows-forms-einbinden.386274/

Code zum erstellen der Batch:

Private Sub ServerStartenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ServerStartenToolStripMenuItem.Click

    Dim pfad As String
    Dim tmp As String

    If Server_Load_Data.ShowDialog() = DialogResult.Cancel Then 'oder YES, musst du mal ausprobieren
        MsgBox("Es mus ein Server Ausgewählt werden! / Oder ein Fehler ist aufgetreten! (Nobody is Perfect!!! ^_^ )", MsgBoxStyle.Critical, "FEHLER")
        Exit Sub
    Else

        pfad = My.Computer.FileSystem.ReadAllText(Server_Load_Data.FileName)
        tmp = My.Computer.FileSystem.ReadAllText(pfad & "\start.ssm")

        My.Settings.ServerAnzahl = My.Settings.ServerAnzahl + 1
        My.Computer.FileSystem.WriteAllText("C:\tmp\start" & My.Settings.ServerAnzahl & ".bat", tmp, False)

        tmp = "C:\tmp\start" & My.Settings.ServerAnzahl & ".bat"

        My.Settings.tmp = tmp

    End If

End Sub

Antwort
von PWolff, 16

Entweder mit der Methode (Funktion)

Microsoft.VisualBasic.Interaction.Shell

oder mit einem Objekt der Klasse

System.Diagnostics.Process
Kommentar von SpieleArena ,

Könnten sie mir vieleivcht das erklären mit

System.Diagnostics.Process
Kommentar von PWolff ,

System.Diagnostics.Process ist die Klasse, die in .NET für die Wechselwirkungen mit Prozessen gedacht.

Z. B. kann man hiermit andere Prozesse starten, ihnen Eingaben senden und ihre Ausgaben auslesen.

Um einfach einen Prozess zu starten, siehe z. B. http://www.c-sharpcorner.com/UploadFile/DipalChoksi/ShellCommandsInCS12032005042...

Übersetzt von C# nach VB:

Dim proc As System.Diagnostics.Process = new System.Diagnostics.Process()
proc.EnableRaisingEvents = False
proc.StartInfo.FileName = "LW:\Pfad\zur\Batch-Datei\tuwas.bat"
proc.Start()

In der Dokumentation zu System.Diagnostics.Process stehen auch viele andere interessante Dinge, z. B. wie man den gestarteten Prozess wieder beendet, wenn er es nicht schafft, das innerhalb einer vorgegebenen Zeit selbst zu tun.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten