Announcement

Collapse
No announcement yet.

Batch Datei erstellen und ausführen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Batch Datei erstellen und ausführen

    Spoiler:

    Hi
    ich habe einen batch datei editor mit code highlight etc programmiert.

    Mein Problem ist aber nun, dass ich eine Funktion einbauen will, die den code aus der richtextbox in eine .bat schreibt un diese ausfürht.

    Soll so eine Art test-Funktion werden.

    Daher habe ich es so gemacht:
    Erstellen einer Temporären bat datei.
    Schreiben des textes in diese
    Ausführen der .bat

    Doch leider drücke ich auf den button doch nichts passiert.

    [highlight=vbnet]
    .
    .
    Imports System.IO
    .
    .
    .

    Dim sf As New SaveFileDialog
    Dim objDateiLeser As StreamReader
    Dim strWinVerz As String
    Dim objDateiMacher As StreamWriter
    Const DATEINAME As String = "139_pad_temp_bat.bat"
    .
    .
    .

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    .
    strWinVerz = System.Environment.SystemDirectory.ToString
    End Sub
    .
    .
    .

    Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
    If File.Exists(strWinVerz & "\" & DATEINAME) = True Then
    File.Delete(strWinVerz & "\" & DATEINAME)
    objDateiMacher = New StreamWriter(strWinVerz & "\" & DATEINAME)
    objDateiMacher.Close()
    objDateiMacher = Nothing
    Else
    objDateiMacher = New StreamWriter(strWinVerz & "\" & DATEINAME)
    objDateiMacher.Close()
    objDateiMacher = Nothing
    End If

    File.WriteAllText(strWinVerz & "\" & DATEINAME, RichTextBox1.Text)

    Shell(strWinVerz & "\" & DATEINAME)
    End Sub
    [/highlight]

    Hoffe die Informationen reichen


    Edit:
    Problem wurde gefunden

    Ich hatte in der test .bat ein Pause vergessen so das sich das Fenster der bat direkt wieder geschlossen hatte -.-

    sry wegen dem unötigen beitrag.
    Zuletzt editiert von masteR139; 11.06.2009, 22:13.

  • #2
    Hallo,
    • es muss nicht geprüft werden ob die Datei existiert oder nicht. File.Delete(...) wirft keinen Fehler falls die Datei nicht existiert.
    • Zum Starten eines Prozesses sollten die Methoden der System.Diagnostic.Process-Klasse verwendet werden.


    Prüfe ob die bat-Datei geschrieben wird.

    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment

    Working...
    X