
138701
16.02.2019
Tasklist überprüfen
Hallo zusammen,
Wie kann ich in Batch überprüfen, ob gerade der Prozess "Skype.exe" ausgeführt wird?
Also nicht so dass er im Hintergrund ausgeführt wird, sondern ein offenes Fenster läuft.
Wie kann ich in Batch überprüfen, ob gerade der Prozess "Skype.exe" ausgeführt wird?
Also nicht so dass er im Hintergrund ausgeführt wird, sondern ein offenes Fenster läuft.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 418571
Url: https://administrator.de/forum/tasklist-ueberpruefen-418571.html
Ausgedruckt am: 02.05.2025 um 06:05 Uhr
10 Kommentare
Neuester Kommentar

sondern ein offenes Fenster läuft.
Nur mit tasklist nicht, das kann zwar über den Filter mit /FI "WINDOWTITLE eq Skype"
danach suchen, aber es meldet den Prozess auch wenn kein Fenster existiert. Du kannst es aber so machen:@echo off
powershell -Executionpolicy ByPass -NoProfile -Command "if(get-process -Name Skype | ?{$_.MainWindowTitle -ne ''}){exit 0}else{exit 1}" && echo Skype mit Fenster aktiv. || echo Kein Skypefenster aktiv.
So langsam stellt sich mir echt die Frage, ob Du dich zunächst mal mit dem Betriebssystem beschäftigen solltest.
Du bätsch hier rum. Hast keine Ahnung von gängigen Befehlen und erwartest Lösungen.
Lesefutter Windows Befehle.
Und hier etwas Lesefutter bzgl. Windows Batch:
Gruss Penny
Du bätsch hier rum. Hast keine Ahnung von gängigen Befehlen und erwartest Lösungen.
Lesefutter Windows Befehle.
Und hier etwas Lesefutter bzgl. Windows Batch:
- Windows Batch Grundlagen
- Batch - ein paar Basics die man kennen sollte
- Workshop Batch for Runaways - Part I
- Workshop Batch for Runaways - Part II
- Workshop Batch for Runaways - Part III
- HowTo - Wie man Subroutinen in Batchfiles erstellt
- Tutorial zur FOR-Schleife
Gruss Penny
Zitat von @138810:
Stattdessen nimmt man sondern ein offenes Fenster läuft.
Nur mit tasklist nicht, das kann zwar über den Filter mit /FI "WINDOWTITLE eq Skype"
danach suchen, aber es meldet den Prozess auch wenn kein Fenster existiert. Du kannst es aber so machen:tasklist /FI "sessionname eq skype.exe"
Gruss Penny

Nein, das bringt nichts. Das kann nicht unterscheiden ob ein Fenster von Skype dem User gerade angezeigt wird und offen ist oder ob es nur im Hintergrund läuft.
Zitat des TO:
Zitat des TO:
Also nicht so dass er im Hintergrund ausgeführt wird, sondern ein offenes Fenster läuft.
Zitat von @138810:
Nein, das bringt nichts. Das kann nicht unterscheiden ob ein Fenster von Skype offen ist oder ob es nur im Hintergrund läuft.
Wenn er den Prozeßnamen kennt schon. Denn er hat geschrieben:Nein, das bringt nichts. Das kann nicht unterscheiden ob ein Fenster von Skype offen ist oder ob es nur im Hintergrund läuft.
Wie kann ich in Batch überprüfen, ob gerade der Prozess "Skype.exe" ausgeführt wird?
Also weiß er wie der Prozeß heißt.Somit kann er diesen abfragen.Gruss Penny

Klar, aber du hast die Bedingung darunter vergessen:
Also nicht so dass er im Hintergrund ausgeführt wird, sondern ein offenes Fenster läuft.
Skype läuft ja im Tray weiter wenn die Fenster geschlossen sind und Tasklist kann das nunmal nicht unterscheiden, die Powershell schon!
Dazu kann man den Sitzungsnamen verwenden.
Beispiel bei getartetem Notepad.exe:
Wenn eine Anwendung gestartet ist, wird diese in der Regle unter dem Sitzungsnamen "Console" angezeigt.
@schleim: Um es abzuschliessen: ich stimme Dir zu, dass mit Powershell, wie mit anderen Skriptsprachen (Perl, REXX, vbs, u.w) wesentlich mehr und bessere Möglichkeiten gibt. Trotzdem kann man vieles mit Batch erledigen, wenn auch mit vielen vielen Klimmzügen.
Gruss Penny
Beispiel bei getartetem Notepad.exe:
tasklist /fi "imagename eq notepad.exe"
Wenn eine Anwendung gestartet ist, wird diese in der Regle unter dem Sitzungsnamen "Console" angezeigt.
@schleim: Um es abzuschliessen: ich stimme Dir zu, dass mit Powershell, wie mit anderen Skriptsprachen (Perl, REXX, vbs, u.w) wesentlich mehr und bessere Möglichkeiten gibt. Trotzdem kann man vieles mit Batch erledigen, wenn auch mit vielen vielen Klimmzügen.
Gruss Penny

Zitat von @Penny.Cilin:
Dazu kann man den Sitzungsnamen verwenden.
Beispiel bei getartetem Notepad.exe:
Wenn eine Anwendung gestartet ist, wird diese in der Regle unter dem Sitzungsnamen "Console" angezeigt.
Dazu kann man den Sitzungsnamen verwenden.
Beispiel bei getartetem Notepad.exe:
tasklist /fi "imagename eq notepad.exe"
Wenn eine Anwendung gestartet ist, wird diese in der Regle unter dem Sitzungsnamen "Console" angezeigt.
Probier es doch bitte selbst aus: Starte Skype, und schließe alle Fenster von Skype und lass es aber im Hintergrund (nur im Tray) weiterlaufen.
Nun lass dein Tasklist laufen, es zeigt dir trotz geschlossener Fenster den Prozess an und das ist ja genau das was der TO offensichtlich nicht möchte, er möchte nur ein Ergebnis haben wenn ein Fenster von Skype offen ist und dem User angezeigt wird und nicht das der Prozess überhaupt läuft, und genau darauf will ich hier hinaus
Nixx für ungut, ich nutze kein Skype. Spionagesoftware nutze ich nicht. 
OK, was zeigt dann für Prozesse an, wenn es nur im Tray läuft. Bzw. wenn ein Fenster angezeigt wird.
Ich kann das derzeit nicht nachvollziehen, weil ich eine solche Konstellation nicht habe.
Für eine Aufklärung bin ich dankbar.
Eventuell geht es über die Abfrage des Fenstertitels? Weil er will ja diese Abfrage.
Gruss Penny
OK, was zeigt
tasklist /v
Ich kann das derzeit nicht nachvollziehen, weil ich eine solche Konstellation nicht habe.
Für eine Aufklärung bin ich dankbar.
Eventuell geht es über die Abfrage des Fenstertitels? Weil er will ja diese Abfrage.
Gruss Penny

Zitat von @Penny.Cilin:
Nixx für ungut, ich nutze kein Skype. Spionagesoftware nutze ich nicht.
OK, was zeigt dann für Prozesse an, wenn es nur im Tray läuft. Bzw. wenn ein Fenster angezeigt wird.
Ich habe es selbst getestet, Ergebnis steht oben.Nixx für ungut, ich nutze kein Skype. Spionagesoftware nutze ich nicht.
OK, was zeigt
tasklist /v
Ich kann das derzeit nicht nachvollziehen, weil ich eine solche Konstellation nicht habe.
Das versuche ich dir ja gerade zu verklickern Für eine Aufklärung bin ich dankbar.
Eventuell geht es über die Abfrage des Fenstertitels? Weil er will ja diese Abfrage.
Habe ich oben in meinem ersten Post schon geschrieben das es damit auch nicht geht weil Tasklist den Titel auch bei geschlossenen Fenstern anzeigt. Die Powershell hingegen macht die Auswertung richtig, hier ist bei geschlossenen Fenstern der Window-Titel leer und erst bei einem existenten Fenster wird dieser gefüllt.Eventuell geht es über die Abfrage des Fenstertitels? Weil er will ja diese Abfrage.