Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

VBS Prozess anhand Fenstername beenden

Frage Entwicklung Batch & Shell

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

08.12.2014, aktualisiert 15:40 Uhr, 1733 Aufrufe, 5 Kommentare

Hallo,
wie kann ich eine Batch mittels vbs anhand des Fenstertitels beenden? Die cmd.exe zeigt als Fenstertitel an: "Administrator: Test", da ich in der Batch "Title Test" verwendet habe.

Gruß
Torsten
Mitglied: emeriks
LÖSUNG 08.12.2014, aktualisiert um 15:40 Uhr
Hi,
Du könntest über WMI die Befehlszeilen der laufenden Prozesse abfragen und dann den entsprechenden Prozess beenden.
01.
Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")  
02.
Set oProcesses = oWMI.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'cmd.exe'",,48)  
03.
For Each oProcess in oProcesses  
04.
  if instr(oProcess.CommandLine, {Pfad zur Batch}) > 0 then 
05.
    oProcess.Terminate 
06.
  end if  
07.
Next
E.
Bitte warten ..
Mitglied: 114757
08.12.2014 um 12:05 Uhr
Moin Torsten,
würde die Methode von Emeriks auch bevorzugen. Hier aber noch ein "dirty"-Trick wenn Word installiert ist und tatsächlich der Fenster-Titel verwendet werden soll. Ich weiß das das nicht universell ist, aber eben einfach noch eine Möglichkeit.
01.
Const APP_TITLE = "Administrator: Test" 
02.
Set objWord = CreateObject("Word.Application") 
03.
objWord.Visible = False 
04.
Set tasks = objWord.Tasks 
05.
If tasks.Exists(APP_TITLE) Then 
06.
    tasks(APP_TITLE).Close 
07.
End If 
08.
objWord.Quit()
Gruß jodel32
Bitte warten ..
Mitglied: goodbytes
08.12.2014 um 15:36 Uhr
@emeriks
Ja,so bekomme ich alle Prozesse mit "cmd.exe", aber ich möchte nur einen davon killen. Ich müsste doch mittels WMI auch irgendwie an den Fenstertitel kommen denke ich, oder?

@114757
Word ist leider nicht installiert, da es sich um einen Server handelt, da brauche ich sonst kein Word...
Trotzdem danke!

Torsten
Bitte warten ..
Mitglied: goodbytes
08.12.2014 um 15:39 Uhr
Nachtrag...
@emeriks
Aaaaaach sooooo, da hab ich jetzt aber nicht richtig hingeguckt. Natürlich, indem ich nach dem Pfad zu der gestarteten Batch filtere! Menno, manchmal sollte man erstmal richtig lesen..

Vielen Dank!!!
Torsten
Bitte warten ..
Mitglied: goodbytes
09.12.2014 um 12:37 Uhr
So funktioniert es jetzt bestens...
01.
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") 
02.
Set objProzesse = WMI.ExecQuery("Select * from Win32_Process") 
03.
 
04.
For Each objProzess in objProzesse 
05.
		 
06.
  If instr(objProzess.CommandLine, "Testbatch.cmd") Then  
07.
	objProzess.Terminate (0)  
08.
  End If  
09.
Next
Danke nochmal !!!

Torsten
Bitte warten ..
Ähnliche Inhalte
Windows 7
Wie kann ich das beenden eines Prozesses Protokollieren? (7)

Frage von Scroller zum Thema Windows 7 ...

Batch & Shell
gelöst Remote Prozesse Beenden (6)

Frage von Hanuta zum Thema Batch & Shell ...

Windows Server
gelöst Z.B Chrom nach beenden, automatisch wieder starten (6)

Frage von Herrenhaus zum Thema Windows Server ...

Batch & Shell
gelöst Programme beenden Batch Dateien (3)

Frage von anmelder zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

LAN, WAN, Wireless
Gebäudeverkabelung 10Gigabit LWL (28)

Frage von raffzwo zum Thema LAN, WAN, Wireless ...

Windows Update
Novemberpatches und Nadeldrucker bereiten Kopfschmerzen (14)

Tipp von MettGurke zum Thema Windows Update ...