none
Prozessnamen ändern RRS feed

  • Frage

  • Hallo zusammen,


    ich habe einige .bat Datein auf meinem Server am laufen.

    Jede einzelne .bat Datei steht im Taskmanager als "cmd.exe"

    Gibt es eine Möglichkeit, den Prozessnamen von "cmd.exe" in einen mir beliebigen zu ändern?

    Oder weiß jemand wie ich unter "Visual Basic -> Windows form" ein Task beenden kann per "Fensternamen"?

    Ich weiß nur wie ich etwas per "Prozessnamen" beende.


    LG,
    Maximilian R.
    • Verschoben Andrei Talmaciu Mittwoch, 10. März 2010 09:01 VB Frage (Von:Windows Server)
    Dienstag, 9. März 2010 12:08

Antworten

  • Hallo Maximilian,

    Batch-Dateien werden immer von CMD.EXE als Befehlinterpreter ausgeführt.
    Du kannst aber den Titel des Fensters über die TITLE Anweisung ändern:
    TITLE Ich heisse Test.bat
    ECHO Test.Bat
    PAUSE
    Alternativ kannst Du die Batch Datei über start "Fenstertitel" TEST.BAT
    mit einem anderen Fensternamen versehen.

    Die Prozesse kannst Du via Process.MainWindowTitle unterscheiden, z. B.:
            For Each p As Process In Process.GetProcesses()
                If p.ProcessName.Equals("cmd", StringComparison.OrdinalIgnoreCase) Then
                    Console.WriteLine("{0} = '{1}", p.ProcessName, p.MainWindowTitle)
                End If
            Next
    
    Gruß Elmar

    Mittwoch, 10. März 2010 10:31
    Beantworter
  • Hallo Maximilian,

    in etwa so:
    For Each p As Process In Process.GetProcesses()
        If p.ProcessName.Equals("cmd", StringComparison.OrdinalIgnoreCase) _
            AndAlso p.MainWindowTitle.Equals("title 123", StringComparison.OrdinalIgnoreCase) Then
            p.Kill()
            Exit For
        End If
    Next
    Gruß Elmar
    Mittwoch, 10. März 2010 11:26
    Beantworter

Alle Antworten

  • Hallo Maximilian,

    Batch-Dateien werden immer von CMD.EXE als Befehlinterpreter ausgeführt.
    Du kannst aber den Titel des Fensters über die TITLE Anweisung ändern:
    TITLE Ich heisse Test.bat
    ECHO Test.Bat
    PAUSE
    Alternativ kannst Du die Batch Datei über start "Fenstertitel" TEST.BAT
    mit einem anderen Fensternamen versehen.

    Die Prozesse kannst Du via Process.MainWindowTitle unterscheiden, z. B.:
            For Each p As Process In Process.GetProcesses()
                If p.ProcessName.Equals("cmd", StringComparison.OrdinalIgnoreCase) Then
                    Console.WriteLine("{0} = '{1}", p.ProcessName, p.MainWindowTitle)
                End If
            Next
    
    Gruß Elmar

    Mittwoch, 10. März 2010 10:31
    Beantworter
  • Hallo Elman,

    danke für deine Antwort.

    Kannst du mir eventuell ein Beispiel geben wenn ich zb eine .bat Datei schließen möchte mit dem Parameter "title 123" ?

    LG,
    Maximilian R.
    Mittwoch, 10. März 2010 11:13
  • Hallo Maximilian,

    in etwa so:
    For Each p As Process In Process.GetProcesses()
        If p.ProcessName.Equals("cmd", StringComparison.OrdinalIgnoreCase) _
            AndAlso p.MainWindowTitle.Equals("title 123", StringComparison.OrdinalIgnoreCase) Then
            p.Kill()
            Exit For
        End If
    Next
    Gruß Elmar
    Mittwoch, 10. März 2010 11:26
    Beantworter