Top-Themen

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

Task starten, beenden, prüfen CMD oder VBS

Frage Entwicklung VB for Applications

Mitglied: cqash

cqash (Level 1) - Jetzt verbinden

10.01.2007, aktualisiert 02.02.2007, 27913 Aufrufe, 10 Kommentare

Task starten, beenden, prüfen CMD oder VBS

Ich möchte über Batch oder VBS prüfen ob ein Task gestartet ist, wenn er das ist, soll er beendet werden. Ist der Task nicht gestartet, soll er gestartet werden UND das alles in einem File

Funktionsweise (muss nicht richtig sein)
--------------------------------------
If running notepad.exe
end notepad.exe
else
start notepad.exe
end If
--------------------------------------


Wenn einer weiß wie man das mit VBS macht, wäre auch cool. Für Tipps und Hinweise wäre ich dankbar.

CU cqash
Mitglied: bastla
10.01.2007 um 15:50 Uhr
Hallo cqash und willkommen im Forum!

Per Batch etwa auf diese Art:
01.
@echo off & setlocal 
02.
set Tsk=notepad.exe 
03.
set Prog=%windir%\System32\notepad.exe 
04.
set Running= 
05.
for /f %%i in ('tasklist') do echo (%%i)|findstr /C:"(%Tsk%)" > nul && set Running=1 
06.
if defined Running goto :Beenden 
07.
start %Prog% 
08.
goto :eof 
09.
:Beenden 
10.
taskkill /IM %Tsk% >nul
und in VBScript könnte das so aussehen:
01.
strComputer = "." 
02.
strProcess = "notepad.exe" 
03.
strProgPath = "%SystemRoot%\system32\notepad.exe" 
04.
Set objWMIService = GetObject("winmgmts:" _ 
05.
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
06.
Set colProcesses = objWMIService.ExecQuery _ 
07.
    ("Select * from Win32_Process Where Name = '" & strProcess & "'") 
08.
 
09.
If colProcesses.Count = 0 Then 'läuft nicht, also starten 
10.
	Set objShell = WScript.CreateObject ("WScript.Shell") 
11.
	objShell.Run strProgPath 
12.
Else 'mindestens eine Instanz läuft - alle stoppen 
13.
	For Each objProcess In colProcesses 
14.
		objProcess.Terminate 
15.
	Next 
16.
End If
Grüße
bastla

P.S.: Was hast Du denn damit vor?

[Edit] "Beenden" in der Batchvariante vereinfacht (war vorher auf die Schnelle von oben kopiert) [/Edit]
Bitte warten ..
Mitglied: cqash
10.01.2007 um 16:05 Uhr
SUPER

Vielen Dank dafür

cqash
Bitte warten ..
Mitglied: miniversum
10.01.2007 um 16:19 Uhr
Die Batch Lösung kannst du ein bischen verkürzen:

@echo off

set Programm=notepad.exe

tasklist |find /i "%Programm%" >nul
if %errorlevel% == 0 (
taskkill /IM %Programm%
) else (
start %Programm%
)



miniversum
Bitte warten ..
Mitglied: bastla
10.01.2007 um 16:30 Uhr
@miniversum

Nur als Anmerkung: Damit würdest Du aber "notepad.exe" nicht starten, wenn ein anderer Task mit dem Namensbestandteil "notepad.exe" (zB "MIDInotepad.exe") gerade läuft.

Grüße
bastla
Bitte warten ..
Mitglied: miniversum
10.01.2007 um 16:53 Uhr
ok. klar. kommt halt drauf an ob das der fall sein könnte.
Bitte warten ..
Mitglied: cqash
14.01.2007 um 19:06 Uhr
Hab mich für die VBS-Version entschieden. Funktioniert super. Nochmals danke. BIG THX from cqash
Bitte warten ..
Mitglied: aschinnerl
02.02.2007 um 20:46 Uhr
Bräuchte mal kurz eure Hilfe.

Ich habe einen Prozess der jedesmal beim einloggen mitgestartet wird.

Wenn ich das Script so starte, prüft dann das Script ob beim einloggen der Dienst läuft, wenn ja kill es den Dienst, wenn nein macht es nichts?


@echo off
set Programm=notepad.exe
tasklist |find /i "%Programm%" >nul
if %errorlevel% == 0 (
taskkill /IM %Programm%


Unter set Programm= muss ich dann exe Namen des Prozesses angeben?
Bitte warten ..
Mitglied: bastla
02.02.2007 um 21:03 Uhr
Hallo aschinnerl!

Wenn ich das Script so starte, prüft dann das Script ob beim einloggen der Dienst läuft, wenn ja kill es den Dienst, wenn nein macht es nichts?
Das Script prüft, wenn es ausgeführt wird - wenn es daher beim Einloggen gestartet wird (Login-Script, Autostart): ja

Wenn Du nur den Task beenden willst, genügt:
01.
taskkill /IM notepad.exe 2>nul
Erklärung: Ist der Task "notepad.exe" vorhanden, wird er beendet, wenn nicht, wird die Fehlermeldung mit "2>nul" unterdrückt.

Unter set Programm= muss ich dann exe Namen des Prozesses angeben?
Ganz allgemein: der Name, der Dir bei Verwendung des Befehles "tasklist" angezeigt wird

Grüße
bastla
Bitte warten ..
Mitglied: aschinnerl
02.02.2007 um 21:08 Uhr
Vielen Dank!
Bitte warten ..
Mitglied: dieablo
03.06.2009 um 08:41 Uhr
Hallo,

habe zu dem Thema in einem anderen Thread schon eine Frage gestellt, würde es aber gern hier nochmal probieren.

Googeln hat nichts gebracht.

Ich möchte, nicht abfrage ob die die exe läuft sondern ob der Taskname läuft.
Wenn man im Windows Taskmanager schaut. Gibt es ja mehre Spalten.

Einmal die Prozess Spalte wo die Datei.exe steht und Username.
Dann aber gibt es auch das Register Anwendung wo man den Windowstitel sieht.

Beispiel:
Prozess: notepad.exe
Anwendung: unbenannt - notepad

Ich möchte, wie gesagt den Anwendungsnamen abfragen, am liebsten mit VBS.

Hat jemand eine Idee ??

Lg
Dennis
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
VBS-Script reagiert bei Start über Task anders als sonst
gelöst Frage von LarzBatch & Shell4 Kommentare

Hallo zusammen, ich habe hier eine Batch-Datei die ein Programm mit verschiedenen Parametern aufrufen muss: Ein Parameter ist dabei ...

Batch & Shell
Vbs - Batch starten und nach Timeout Batch beenden
gelöst Frage von goodbytesBatch & Shell3 Kommentare

Hallo, durch ein vbs-Script wird eine Batch gestartet. Das Script wartet und macht danach weiter. Wenn aber mal ein ...

Windows 10
Vbs Datei lässt sich nicht über die Aufgabenplanung (geplater Task) starten
Frage von hepeteWindows 109 Kommentare

Hallo zusammen, ich habe folgendes Problem: Ich habe ein kleines vbs-Script geschrieben und auf dem Rechner abgespeichert habe. Wenn ...

Batch & Shell
VBS, Powershell,WSH oder doch noch CMD ???
gelöst Frage von Viper-BerlinBatch & Shell2 Kommentare

Servus Leute, hätte eine Frage ich hab bis jetzt CMD Skripte geschrieben und die Syntax ist eine Katastrophe genau ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 8 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 15 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 17 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 20 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1018 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...