Batch soll prüfen ob ein Pogramm läuft, wenn ja weiter, wenn nein ende

elvis
Goto Top
Hallo,

ich möchte das meine Batch vor der Verarbeitung zunächst prüft ob ein Pogramm läuft oder nicht.

Hintergrund:

Das emule\in Verzeichnis soll in einen anderen Ordner verschoben werden. Das läuft auch soweit. Emule beenden, verschieben, Emule starten

Die Batch soll nachts per TaskManger laufen. Nurläuft das Pogramm ja nicht immer, sodaß die Ausführung nur dann starten soll, wenn das Pogramm auch wirklich läuft, sonst würde ja täglich das Pogramm gestrtet.....

Wie kann ich das meiner Batch beibringen????

@echo off
kill.exe -f eMule.exe
sleep 2
move /Y G:\emule\in\*.* G:\emule_in\
start C:\Programme\eMule\eMule.exe

Danke Euch

Content-Key: 33066

Url: https://administrator.de/contentid/33066

Ausgedruckt am: 29.05.2022 um 14:05 Uhr

Mitglied: der-poet
der-poet 23.05.2006 um 11:05:07 Uhr
Goto Top
verstehe ich das richtig
du willst den Inhalt des Ordners der gezogenen Dateien verschieben/kopieren.
und warum brauchst du da jetzt ein hochkompliziertes skript?
langt da nicht ein einfaches copy das man sich schön brav in eine *.bat schreibt und dann mit den geplanten Tasks aufrufen lässt.
Ist es bei Emule nicht so, dass die Datei erst dann in dem Ordner verfügbar ist wenn sie vollständig gezogen wurde. Also warum Programm gleich beenden um das zu machen.

Achja
File-Sharing ist und bleibt illegal
Mitglied: Biber
Biber 23.05.2006 um 11:07:42 Uhr
Goto Top
tasklist | find "ProgrammNameVonDemProgrammWasDuSuchst" >nul
if errorlevel 1 goto :eof

Ich bitte nochmals alle im Forum darum:

Wenn sich jemand 2 Minuten zum Lesen Eurer Fragen nehmen soll und nochmal 5 Minuten zum Antworten, dann nehmt Euch bitte auch 5 Minuten Zeit und Sorgfalt bei der Beitragserstellung.

Danke
Biber
Mitglied: elvis
elvis 23.05.2006 um 11:12:02 Uhr
Goto Top
verstehe ich das richtig
du willst den Inhalt des Ordners
verschieben/kopieren.

jupp, korrekt

und warum brauchst du da jetzt ein
hochkompliziertes skript?
langt da nicht ein einfaches copy das man
sich schön brav in net bat schreibt und
dann mit den geplanten Tasks aufrufen
lässt.

leider nein, weil das Pogramm auf die Dateien zugreift und ein verschieben damit nicht möglich ist. Deshalb erst beenden, dann verschieben, dann neu starten.

Gruß

Sascha
Mitglied: elvis
elvis 23.05.2006 um 11:16:39 Uhr
Goto Top
tasklist | find
"ProgrammNameVonDemProgrammWasDuSuchst"
>nul
if errorlevel 1 goto :eof

erstmal Danke....., aber leider läuft das nicht so richtig.

Hab ich das Falsch in die batch geschrieben?

@echo off
tasklist | find "C:\Programme\eMule\eMule.exe" >nul
if errorlevel 1 goto :eof
kill.exe -f eMule.exe
sleep 2
move /Y G:\emule\in\*.* G:\emule_in\
start C:\Programme\eMule\eMule.exe

DANKE
Mitglied: elvis
elvis 23.05.2006 um 11:20:19 Uhr
Goto Top
Hab ich das Falsch in die batch
geschrieben?

klar, nicht

"C:\Programme\eMule\eMule.exe"

sondern,

tasklist | find "eMule.exe" >nul

ich trottel, Danke, jetzt läufts.

Supi

Grüße