Programme beenden oder minimieren per batch
Hallo zusammen!
Ich hab schon lange gesucht aber nichts zu meinem Problem gefunden...
Ich will mithilfe einer batch alle laufenden Programme beenden oder minimieren (ich weiss nicht ob Programm der beste Begriff ist, jedenfalls meine ich die Sachen wie Word oder IE und nicht solche Prozesse wie svchost.exe, die kein sichbares Fenster haben)
Ist sowas überhaupt möglich, z.B. in der Art Alle Programme aufspüren und dann beenden? Leider sind es keine festen Programme und ich kann nicht mal eine Liste aller Programme erstellen und diese dann alle beenden.
Mathe172
Ich hab schon lange gesucht aber nichts zu meinem Problem gefunden...
Ich will mithilfe einer batch alle laufenden Programme beenden oder minimieren (ich weiss nicht ob Programm der beste Begriff ist, jedenfalls meine ich die Sachen wie Word oder IE und nicht solche Prozesse wie svchost.exe, die kein sichbares Fenster haben)
Ist sowas überhaupt möglich, z.B. in der Art Alle Programme aufspüren und dann beenden? Leider sind es keine festen Programme und ich kann nicht mal eine Liste aller Programme erstellen und diese dann alle beenden.
Mathe172
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 146750
Url: https://administrator.de/contentid/146750
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
17 Kommentare
Neuester Kommentar
Moin mathe172,
das ganze Unterfangen sollte aber schon irgendwie ein nachvollziehbares Ziel verfolgen, oder?
Ich meine, sooo beliebig ist das ja nun nicht, ob eine Word-Applikation oder ein IE mit 18 offenen Tabs (IE hat doch inzwischen schon Tabs, oder?) minimiert oder abgeschossen wird.
Um nur ein Kriterium zu nennen - eine minimierte ungesicherte 78seitige in Word getippselte Diplomarbeit lässt sich mit vertretbarem Aufwand wieder sichtbar machen.
Was hast du denn vor und warum so brachial?
Darf, wenn deine Kumpels überraschend zur Tür rein kommen, nur noch WoW laufen und alle Spießer-Aktivitäten wie Hausaufgaben oder Recherche auf Chefkoch.de muss panikartig geschlossen werden?
So eine Art umgekehrter Boss-Key? Oder was treibt dich um?
Grüße
Biber
das ganze Unterfangen sollte aber schon irgendwie ein nachvollziehbares Ziel verfolgen, oder?
Ich meine, sooo beliebig ist das ja nun nicht, ob eine Word-Applikation oder ein IE mit 18 offenen Tabs (IE hat doch inzwischen schon Tabs, oder?) minimiert oder abgeschossen wird.
Um nur ein Kriterium zu nennen - eine minimierte ungesicherte 78seitige in Word getippselte Diplomarbeit lässt sich mit vertretbarem Aufwand wieder sichtbar machen.
Was hast du denn vor und warum so brachial?
Darf, wenn deine Kumpels überraschend zur Tür rein kommen, nur noch WoW laufen und alle Spießer-Aktivitäten wie Hausaufgaben oder Recherche auf Chefkoch.de muss panikartig geschlossen werden?
So eine Art umgekehrter Boss-Key? Oder was treibt dich um?
Grüße
Biber
Moin,
in solchen Fällen bitte Ross & Reiter nennen.
Gruß
[Edith schreibt einen Brief an unseren werten Herrn Biber.]
Liebster Biber,
da macht man den Deckel vom Laperltopf auf und ist 3 minuten zu spät.
[OT]
Willi Astor ab 1:40
[/OT]
in solchen Fällen bitte Ross & Reiter nennen.
- Also ob minimieren oder abschiessen
- evtl. vielleicht wäre unter Umständen auch interessant, welche Version des Redmontschen Betriebsystems im Einsatz ist
- möglicherweise könnte es auch Sinn machen uns den Grund des Wunsches preiszugeben, denn so manches mal denkt man man braucht eine Lösung und fragt gar nicht, ob das Sinn macht.
Gruß
[Edith schreibt einen Brief an unseren werten Herrn Biber.]
Liebster Biber,
da macht man den Deckel vom Laperltopf auf und ist 3 minuten zu spät.
[OT]
Willi Astor ab 1:40
[/OT]
Moin mathe172,
ich habe auch einen gewissen Spass beim Schreiben von Bätchen und könnte dafür auch Zeugen nennen...
Aber dennoch ein letztes "Ja, aber.." vor irgendwelcher handwerklichen Drauflostippselei.
Ich weis nicht, was denn die erwähnten "Restlichen Sachen in meiner batch tun".
Ein Schließen aller offenen Programme ist aus meiner Sicht nur dann per Batch sinnvoll, wenn der Batch denn auch in jedem Fall entscheiden kann, ob eine Applikationsrückfrage "Sollen Änderungen gespeichert werden?" oder "Wollen Sie gefundenen Virus löschen oder ignorieren?" oder "Nicht genügend Speicherplatz auf Laufwerk F zum Speichern von Predator 7'" allein und ohne menschliches Eingreifen beantworten kann.
Das ist aber nur in einem einzigen Fall möglich - nämlich wenn die Antwort IMMER ist "Mir doch egal , kleiner Schisser... beende einfach!".
Nur dann kannst du statt irgendeinem Batch einfach ein "Shutdown" oder "Reboot" abschicken.. die machen genau das Gleiche.
Was ist denn bei dir ein "typischer Anwendungsfall", bei dem du jedes Mal wieder aufs Neue vor dich hin seufzst :" Ach wenn ich jetzt so einen Batch hätte.."?
Grüße
Biber
ich habe auch einen gewissen Spass beim Schreiben von Bätchen und könnte dafür auch Zeugen nennen...
Aber dennoch ein letztes "Ja, aber.." vor irgendwelcher handwerklichen Drauflostippselei.
Ich weis nicht, was denn die erwähnten "Restlichen Sachen in meiner batch tun".
Ein Schließen aller offenen Programme ist aus meiner Sicht nur dann per Batch sinnvoll, wenn der Batch denn auch in jedem Fall entscheiden kann, ob eine Applikationsrückfrage "Sollen Änderungen gespeichert werden?" oder "Wollen Sie gefundenen Virus löschen oder ignorieren?" oder "Nicht genügend Speicherplatz auf Laufwerk F zum Speichern von Predator 7'" allein und ohne menschliches Eingreifen beantworten kann.
Das ist aber nur in einem einzigen Fall möglich - nämlich wenn die Antwort IMMER ist "Mir doch egal , kleiner Schisser... beende einfach!".
Nur dann kannst du statt irgendeinem Batch einfach ein "Shutdown" oder "Reboot" abschicken.. die machen genau das Gleiche.
Was ist denn bei dir ein "typischer Anwendungsfall", bei dem du jedes Mal wieder aufs Neue vor dich hin seufzst :" Ach wenn ich jetzt so einen Batch hätte.."?
Grüße
Biber
Hallo Biber.
Als erstes: Völlig d'accord mit dem, was du schreibst.
Andererseits lässt du aber auch die Option auf, dass es möglich ist. Was mich dabei unglaublich neugierig macht, ist die Frage, ob es tatsächlich möglich ist (ich erweitere mal "mit Batch" auf "mit Bordmitteln") die Prozesse zu finden, die ein Fenster geöffnet haben / sich in der Taskleiste wiederfinden. Wenn man API Funktionen aufrufen kann, ist das eher kein Problem. Aber mit Batch / WSH ... ?
Grüße
rubberman
Als erstes: Völlig d'accord mit dem, was du schreibst.
Andererseits lässt du aber auch die Option auf, dass es möglich ist. Was mich dabei unglaublich neugierig macht, ist die Frage, ob es tatsächlich möglich ist (ich erweitere mal "mit Batch" auf "mit Bordmitteln") die Prozesse zu finden, die ein Fenster geöffnet haben / sich in der Taskleiste wiederfinden. Wenn man API Funktionen aufrufen kann, ist das eher kein Problem. Aber mit Batch / WSH ... ?
Grüße
rubberman
Moin rubberman,
nicht, dass ich es schon probiert hätte (eigentlich will ich es ihm ja ausreden )... , aber ...
Selbst mit solchen Behelfskrücken wie "tasklist.exe" bekomme ich es ja zumindest schon eingrenzt auf "die Tasks des Users" mit /FI "username eq %username%".
Im TaskManager gibt es eine gesonderte Ansicht für "die aktiven Applikationen" (ohne Dienste, Virenscanner etc)
Also wird es dafür vermutlich ein Kriterium geben.
Ich würde dann auch als allererstes mal im den WMIC-Schnittstellen danach graben.
Und wenn das nichts wird... es gibt ja zig Utillities, die "aktive" und "unsichtbare" Fensterpositionen ermiteln können... so furchtbares Hexenwerk kann es nicht sein.
[Dennoch - sollte ich diesen Plan ebenfalls verfolgen - ich würde Shutdown/Reboot aufrufen oder solange Alt-F4 drücken lassen/Sendkeys losjagen, bis ich freie Sicht aufs Mittelmeer hätte.
Aber ich sehe keine sinnvolle Anwendungsmöglichkeit - nirgends mehr Nutzen als Risiko]
Grüße
Biber
nicht, dass ich es schon probiert hätte (eigentlich will ich es ihm ja ausreden )... , aber ...
Selbst mit solchen Behelfskrücken wie "tasklist.exe" bekomme ich es ja zumindest schon eingrenzt auf "die Tasks des Users" mit /FI "username eq %username%".
Im TaskManager gibt es eine gesonderte Ansicht für "die aktiven Applikationen" (ohne Dienste, Virenscanner etc)
Also wird es dafür vermutlich ein Kriterium geben.
Ich würde dann auch als allererstes mal im den WMIC-Schnittstellen danach graben.
Und wenn das nichts wird... es gibt ja zig Utillities, die "aktive" und "unsichtbare" Fensterpositionen ermiteln können... so furchtbares Hexenwerk kann es nicht sein.
[Dennoch - sollte ich diesen Plan ebenfalls verfolgen - ich würde Shutdown/Reboot aufrufen oder solange Alt-F4 drücken lassen/Sendkeys losjagen, bis ich freie Sicht aufs Mittelmeer hätte.
Aber ich sehe keine sinnvolle Anwendungsmöglichkeit - nirgends mehr Nutzen als Risiko]
Grüße
Biber
Hallo Biber.
Danke für die Antwort und nochmals: Ich bin völlig Deiner Meinung, was das Schließen ohne Rücksicht auf Verluste angeht. War halt nur aus Neugier. Ich kann mich erinnern, dass ich es in einem Excel-Makro (mit API-Aufrufen) schon einmal geschafft habe, die Taskleiste auszulesen. Mit WMI hatte ich aber keine Möglichkeit gefunden.
Grüße
rubberman
Danke für die Antwort und nochmals: Ich bin völlig Deiner Meinung, was das Schließen ohne Rücksicht auf Verluste angeht. War halt nur aus Neugier. Ich kann mich erinnern, dass ich es in einem Excel-Makro (mit API-Aufrufen) schon einmal geschafft habe, die Taskleiste auszulesen. Mit WMI hatte ich aber keine Möglichkeit gefunden.
Grüße
rubberman
Moin mathe172,
> Zitat von @mathe172:
Biber
> Zitat von @mathe172:
----
Hallo zusammen!
Bibber hat ja was von sendkeys gesagt... geht sowas mit Batch und wenn ja, wie?
Antwortet man auf eine Frage mit einer Gegenfrage?Hallo zusammen!
Bibber hat ja was von sendkeys gesagt... geht sowas mit Batch und wenn ja, wie?
Biber
Hallo mathe172,
Wenn "am Schluss" soviel heißt, wie "vor dem Herunterfahren des Rechners", dann würgt das Herunterfahren des Rechners die Prozesse genauso ab, wie du es mit einem Batchcode vorhattest. Wo ist der Unterschied? BTW Das Eine ist so unschön wie das Andere. Schließe deine Fenster von Hand...
Grüße
rubberman
Wenn "am Schluss" soviel heißt, wie "vor dem Herunterfahren des Rechners", dann würgt das Herunterfahren des Rechners die Prozesse genauso ab, wie du es mit einem Batchcode vorhattest. Wo ist der Unterschied? BTW Das Eine ist so unschön wie das Andere. Schließe deine Fenster von Hand...
Grüße
rubberman
Moin mathe172,
tja.. ich sehe es ähnlich wie rubberman.
Es ist wahrscheinlich lösbar - aber
Nichts persönliches... aber ich klink mich da jetzt aus.
P.S. "SendKeys" geht mit ein bissi VBSkript... such mal über die Forumssuche danach.
Grüße
Biber
tja.. ich sehe es ähnlich wie rubberman.
Es ist wahrscheinlich lösbar - aber
- ich habe keine fertige Lösung in der Schublade
- und der vermutliche Aufwand (immens) in Relation zu potentiellem Nutzen (eher gering) und möglichem Risiko ( höher als ICE-Fahren) ergibt.... ich geh lieber Duschen jetzt.
Nichts persönliches... aber ich klink mich da jetzt aus.
P.S. "SendKeys" geht mit ein bissi VBSkript... such mal über die Forumssuche danach.
Grüße
Biber
Zitat von @Biber:
Moin mathe172,
tja.. ich sehe es ähnlich wie rubberman.
Es ist wahrscheinlich lösbar - aber
Moin mathe172,
tja.. ich sehe es ähnlich wie rubberman.
Es ist wahrscheinlich lösbar - aber
- ich habe keine fertige Lösung in der Schublade
- und der vermutliche Aufwand (immens) in Relation zu potentiellem Nutzen (eher gering) und möglichem Risiko ( höher als
[OT]
weil er es ja unbedingt haben will und so nett Hallo geschrieben und Ross & Reiter nachgereicht hat...
[/OT]
Nimmst du zwei schnippsel
tasklist /FI "username eq %username%">vorher.ini
Und den "am Ende"
tasklist /FI "username eq %username%">nachher.ini
for /f %%i in (nachher.ini) do find "%%i" "vorher.ini" || Taskkill /F /IM %%i
Ich geh jetzt auch duschen und denke, das script ist so
Servus,
wenns so ist - dann danke fürs danke, denn fürs danke machen wir das ja eigentlich.
Und damit das "dingens" auch etwas aus der Holzklasse rauskommt.
Gruß
wenns so ist - dann danke fürs danke, denn fürs danke machen wir das ja eigentlich.
Und damit das "dingens" auch etwas aus der Holzklasse rauskommt.
if not exist "%appdata%\kickit" md "%appdata%\kickit"
tasklist /FI "username eq %username%">"%appdata%\kickit\blacklist.ini"
echo "msiexec.exe" >>"%appdata%\kickit\blacklist.ini"
echo weitere Ausnahmen -genauso wie oben bei msiexec erzeugen
tasklist /FI "username eq %username%">"%appdata%\kickit\started_tasks.ini"
for /f %%i in ('type "%appdata%\kickit\started_tasks.ini"') do find "%%i" "%appdata%\kickit\blacklist.ini" || Taskkill /F /IM %%i
Gruß