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

VBS Prozess anhand Fenstername beenden

Frage Entwicklung Batch & Shell

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

08.12.2014, aktualisiert 15:40 Uhr, 1662 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 ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

Batch & Shell
gelöst Von Batchdatei ausgeführten Prozess benennen (12)

Frage von itazubii zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Rechtliche Fragen
gelöst Geschäftsführer Email gefaked (17)

Frage von xbast1x zum Thema Rechtliche Fragen ...

Vmware
gelöst Update auf ESXI 6.5 Installieren (15)

Frage von zeroblue2005 zum Thema Vmware ...

Festplatten, SSD, Raid
gelöst Welche Software für Bandlaufwerk (14)

Frage von djonas zum Thema Festplatten, SSD, Raid ...

iOS
IPhone wird ferngesteuert Hacker? (12)

Frage von Akcent zum Thema iOS ...