Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch - Prozessnamen vergeben

Frage Entwicklung Batch & Shell

Mitglied: tray-park

tray-park (Level 1) - Jetzt verbinden

19.04.2011 um 09:32 Uhr, 8347 Aufrufe, 25 Kommentare

Ich versuche seit ner Weile einer Batchdatei einen Prozessnamen zuzuweisen.

Hi,

als Abbildname wird für jede Batch immer "cmd.exe" verwendet. Ich würde aber gerne "test.exe" oder ähnliches daraus machen.

Ich habe schon versucht den Title anzusprechen oder mit wmic process experimentiert. Auch der Batch eine niedrigere/höhere Priorität zuzuordnen und dann die cmd.exe mit dieser Priorität zu killen, hat nicht funktioniert.

Ist das überhaupt möglich?

Freue mich über jede Hilfe.

Grüße

Tray
Mitglied: Skyemugen
19.04.2011 um 10:24 Uhr
Aloha,

ich denke, den Abbildnamen wirst du nur verändern können, wenn du die Datei umbenennst (also test.exe statt cmd.exe), da ja immer der Name der ausgeführten Anwendung angegeben wird.

greetz André
Bitte warten ..
Mitglied: 60730
19.04.2011 um 10:31 Uhr
moin,

  • schreib doch mal genau, was dein Ziel ist.

Ich vermute - du willst via Taskkill gezielt eine cmd abschiessen?

Gruß
Bitte warten ..
Mitglied: 99045
19.04.2011 um 10:36 Uhr
Hi!

Gib der Batchdatei einen Fenstertitel in der ersten Zeile:
01.
TITLE Blubber
dann kannst du den Filter nach dem Fenstertitel nutzen.

Wenn du nur eine cmd.exe gestartet hast, kannst du zum Beenden statt taskkill tskill verwenden:
tskill cmd
Tskill ist seit XP in allen Versionen außer den Verschnittversionen Home soundso dabei.

Gruß
Bitte warten ..
Mitglied: 60730
19.04.2011 um 10:44 Uhr
Salü,

[OT]
  • wenn man(n) taskkill /? bei einem deutschen XP SP3 eingibt, welchen Bock - oder rückschluß auf C&P Programmierung von M$ findet man da?
die 3.letzte Zeile * lol - ist mir vorher noch nie ausgefallen
Beispiele: 
    TASKKILL /S System /F /IM notepad.exe /T 
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T 
    TASKKILL /F /IM notepad.exe /IM mspaint.exe 
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne unbenan*" 
    TASKLIST /F /FI "USERNAME ne NT-AUTORITÄT\SYSTEM" /IM notepad.exe 
    TASKKILL /S System /U Domäne\Benutzername /FI "USERNAME ne NT*" /IM * 
    TASKKILL /S System /U Benutzername /P Kennwort /FI "IMAGENAME eq note*"
[/OT]
Bitte warten ..
Mitglied: 99045
19.04.2011 um 10:49 Uhr
Sei nicht so pingelig.
Bitte warten ..
Mitglied: tray-park
19.04.2011 um 12:07 Uhr
Hi,

genau, optimal wäre einen Prozess mit taskkill abschießen zu können. Da aber mehrere CMD.exen laufen, kann ich ja nicht mit
01.
TASKKILL /F /IM cmd.exe
arbeiten, da dieser mir alle killen würde.

Den Titel des Fensters zu definieren, bsp
01.
TITLE Test
ist auch nicht gerade einfach.
01.
taskkill /FI "WINDOWTITLE eq *Test*"
hat nicht funktioniert.

Ich hab auch mal die cmd.exe kopiert und in test.exe umbenannt.

Danach habe ich eine Batch gebastelt (start_haengt_staendig.bat), welche
01.
start "C:\Windows\System32\test.exe" "D:\Test\haengt_staendig.bat"
beeinhaltet. Diese sollte ja dann test.exe heißen oder?

Das hatte leider auch nicht geklappt.
Bitte warten ..
Mitglied: tray-park
19.04.2011 um 12:07 Uhr
Sorry, hab in der Eile den Thread als gelöst markiert
Bitte warten ..
Mitglied: 99045
19.04.2011 um 12:18 Uhr
Das kannst du doch wieder aufheben, oder etwa nicht?

Verwende nur ein Wildcard-Zeichen oder den genauen Fenstertitel, dann geht es.

taskkill /FI "WINDOWTITLE eq Test*" 
Bitte warten ..
Mitglied: Skyemugen
19.04.2011 um 12:25 Uhr
Aloha,

start "C:\Windows\System32\test.exe" "D:\Test\haengt_staendig.bat"
du hast also jetzt
start "Fenstertitel" "Batchdatei, die immer noch mit cmd.exe ausgeführt wird"
am Laufen ...

das mit der test.exe funktioniert an sich, aber natürlich nicht so ... ;)

greetz André
Bitte warten ..
Mitglied: tray-park
19.04.2011 um 12:26 Uhr
Hi,

auch mit einem Jokerzeichen bekomme ich folgedes erzählt.
01.
FEHLER: Der Suchfilter wurde nicht erkannt.
Ohne Jokerzeichen:
01.
INFORMATION: Es werden keine Aufgaben mit den angegebenen Kriterien ausgeführt.
Bitte warten ..
Mitglied: tray-park
19.04.2011 um 12:28 Uhr
Salut,

Wenn ich mit der PowerShell ein Skript aufrufe, dann gebe ich auch zuerst den Pfad zur PowerShell.exe, dann den Pfad zum Skript an.
01.
c:\Windows\...\powershell.exe d:\test\...\power.ps1
Wie geht das dann mit dem command?

Liebe Grüße
Bitte warten ..
Mitglied: 99045
19.04.2011 um 12:28 Uhr
Ich hab's eben mit und ohne Joker ausprobiert: Blubber* und Blubber, beides geht problemlos: Schupps, isser weg.

Hast du vielleicht mehrere "Test" zu laufen?
Bitte warten ..
Mitglied: 60730
19.04.2011 um 13:09 Uhr
moin,

c:\>start "C:\Windows\System32\test.exe" cmd.exe 
 
c:\>taskkill /F /FI "WINDOWTITLE eq C:\Windows\System32\test.exe" 
ERFOLGREICH: Der Prozess mit PID 5436 wurde beendet. 
 
c:\>
Zitat von 99045:
Hast du vielleicht mehrere "Test" zu laufen?

  • Komm die Zeit nehm ich mir auch noch...

c:\>start "C:\Windows\System32\test.exe" cmd.exe 
 
c:\>start "C:\Windows\System32\test.exe" cmd.exe 
 
c:\>start "C:\Windows\System32\test.exe" cmd.exe 
 
c:\>taskkill /F /FI "WINDOWTITLE eq C:\Windows\System32\test.exe" 
ERFOLGREICH: Der Prozess mit PID 4028 wurde beendet. 
ERFOLGREICH: Der Prozess mit PID 5344 wurde beendet. 
ERFOLGREICH: Der Prozess mit PID 1620 wurde beendet.
Gruß - Haken ist ja zu Recht schon dran... und bitte die Test.exe in die Tionne treten - sonst testest du das nächste mal und hast ein nettes Ergebnis, das keiner auf den ersten Blick nachvollziehen kann
N:\>
Bitte warten ..
Mitglied: Skyemugen
19.04.2011 um 13:09 Uhr
Aloha,

das sollte per

start "Fenstername" "C:\Windows\System32\test.exe" /C "D:\Test\haengt_staendig.bat"
funktionieren.

btw: Wenn die test.exe in system32 liegt, ist der Pfad unnötig, es reicht der Name der Anwendung

Aber das benötigst du ja jetzt eh nicht mehr, diese Notlösung, da es ja per reinem Fenstertitel nach T-Mos Darstellung bereits möglich ist, den Prozess wegzufeuern.

greetz André
Bitte warten ..
Mitglied: tray-park
21.04.2011 um 10:56 Uhr
Hallo,

also, ich hab das jetzt wie folgt gemacht.

Ich habe 3 Batchdateien

1. D:\Test\haengt_staendig.bat
2. D:\Test\start_haengt_staendig.bat || ruft die sich ständig aufhängende Batch und vergibt ihr den Prozessnamen C:\Windows\System32\test.exe
01.
start C:\Windows\System32\test.exe /C D:\Test\start_haengt_staendig.bat
3. D:\Test\ProcessKill.bat || killt den Prozess "C:\Windows\System32\test.exe"
01.
taskkill /F /FI "WINDOWTITLE eq C:\Windows\System32\test.exe"
Auf meinem W7 Rechner funktioniert das einwandfrei.

Aber auf einem 2008 Server bekomme ich in der cmd folgende Meldung
01.
Das System hat keinen Meldungstext für die Meldungsnummer 0x232b in der Meldungsdatei Application gefunden.
Nun sagen Erfahrungsberichte, dass das damit zu tun hat, dass die CMD.exe umbenannt / kopiert wurde.

Warum funktioniert das dann mit W7???

What ever.... Nur den Titel anzusprechen und dann den TASKKILL zu machen geht leider nicht.

Grüße Tray
Bitte warten ..
Mitglied: 99045
21.04.2011 um 11:01 Uhr
Hi,

eigentlich solltest du in der ersten Zeile jeder Batchdatei TITLE Eindeutiger Titel möglichst ohne Leerzeichen
eingeben, so lautete zumindest meine Empfehlung. Dann, wenn die Batchdatei gestartet ist, auch mit tasklist /V mal nachsehen, ob der eingegebene Titel dort als "Fenstertitel" angezeigt wird. Dann kannst du sie nämlich auch über diesen "Fenstertitel" mit taskkill gezielt löschen. Wenn das nicht geht, machst du was falsch.
Hast du das so ausprobiert?

Gruß

Edit.
Bitte warten ..
Mitglied: tray-park
21.04.2011 um 11:16 Uhr
Salut,

ich hab nun in der ersten Zeile
01.
TITLE FENSTERTITEL
eingegeben.
Das Fenster heißt dann "Administrator: FENSTERTITEL"
so steht es auch in der tasklist /v Abfrage.

Aber . . . .
01.
taskkill /F /FI "WINDOWTITLE eq Administrator: FENSTERTITEL" 
02.
taskkill /F /FI "WINDOWTITLE eq FENSTERTITEL" 
03.
taskkill /F /FI "WINDOWTITLE eq *TITEL"
. . . geben mir immer . . .
01.
FEHLER: Der Suchfilter wurde nicht erkannt.
zurück.

Dann scheine ich wohl was falsch zu machen.

Grüße

Tray
Bitte warten ..
Mitglied: 99045
21.04.2011 um 11:23 Uhr
Versuch's mal so:
01.
taskkill /F /FI "WINDOWTITLE eq Administrator:FENSTER*"
Unter welchem OS testest du das überhaupt?
Bitte warten ..
Mitglied: tray-park
21.04.2011 um 11:38 Uhr
Unter Windows 7 Pro 32Bit aktuell und auf einem W2K8 Enterprise 64Bit wenn es unter W7 klappt.

Nun kommt kein Fehler, sondern eine Info in der cmd:
01.
INFORMATION: Es werden keine Aufgaben mit den angegebenen Kriterien ausgeführt.
Grüße
Bitte warten ..
Mitglied: 99045
21.04.2011 um 11:39 Uhr
Vermutlich ist der Batch-Prozess dann bereits beendet?

Führst du die ganze Aktion in einer Konsole, die du "Als Administrator ausführen" gestartet hast durch?
Bitte warten ..
Mitglied: tray-park
21.04.2011 um 11:54 Uhr
Kommt drauf an, an welcher Stelle er wohl beendet ist.

So der Inhalt der "D:\Test\haengt_staendig.bat"
01.
TITLE FENSTERTITEL 
02.
@echo off 
03.
echo haengt mal wieder 
04.
pause
Ausgeführt wird sie durch einen Doppeltklick und ohne "Als Administrator ausführen".

Vielleicht wird die cmd durch Admin-Berechtigung und deaktivierter UAC bei einem Doppelklick als Administrator ausgeführt?
Bitte warten ..
Mitglied: 99045
21.04.2011 um 12:07 Uhr
Vielleicht wird die cmd durch Admin-Berechtigung und deaktivierter UAC bei einem Doppelklick als Administrator ausgeführt?

Nein, bei deaktivierter UAC wird sie normal für den User ausgeführt. Aber die Konsole, mit der du Tasklist ausführst, zeigt ja offensichlich an, dass du wohl doch etwas als Administrator: ausführst. Hast du für die Eingabeaufforderung die Verknüpfung vielleicht so angepasst, dass sie immer als Administrator ausgeführt wird?
(RMT > Eigenschaften > Erweitert).
Bitte warten ..
Mitglied: tray-park
21.04.2011 um 13:25 Uhr
Du meinst das Häkchen bei den erweiterten Eigenschaften der Verknüpfung "Eingabeaufforderung" oder?
Da ist kein Häkchen gesetzt, wird aber trotzdem als Admin ausgeführt.???. Komisch

Aber damit öffne die die CMD nicht. Wenn dann über Start > Ausführen > cmd oder halt direkt per doppelklick auf die Batch.
Wo kann ich einstellen, dass die Batch per doppelklick auf die Batch nicht als Admin ausgeführt wird?
Bitte warten ..
Mitglied: 99045
21.04.2011 um 13:31 Uhr
Ist inzwischen auch egal, jetzt weiß ich, wie es geht. .-)

1. Du musst Taskkill als Administator ausführen.
2. Du musst an den Text unbedingt ein * anfügen, weil Windows in der Konsole offenbar bis zur Länge der eingestellten Konsolenbreite Spaces anfügt.
3. Hinter Administrator: sind 2 Leerzeichen enthalten.

Also
01.
taskkill /F /FI "WINDOWTITLE eq Administrator:  FENSTERTITEL*"
schwupps, weg isses.

Akzeptiert wird als Wildcard nur ein einziges * am Ende, keine am Anfang, in der Mitte und keine Fragezeichen.
Bitte warten ..
Mitglied: tray-park
21.04.2011 um 16:04 Uhr
Hi,

cool, das hat funktioniert

Klappt leider noch nicht, wenn ich in der cmd.exe eine JAVA Anwendung starte. Aber ich glaube, dass gehört nicht mehr in diesen Thread.

Vielen Dank für die großartige Hilfe.

Liebe Grüße

Tray
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (9)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...