2016-09-02 1 views
0

Ich möchte einen Prozess in einer Cmd-Datei verwalten. Mein cmd wird eine andere cmd-Datei starten und ich möchte den Update-Status, ... Zum Beispiel möchte ich das Datum schreiben, wenn der andere Prozess geschlossen ist.Verwalten Sie einen Prozess in einer Cmd-Datei

So habe ich versucht:

rem %process% is the path to my cmd file 
start "Process" %process% 

Gibt es eine Möglichkeit, den gestarteten Prozess zu verwalten?

Ich habe versucht, zu verwenden:

for /F "TOKENS=1,2,*" %%a in ('tasklist /FI "IMAGENAME eq %process%"') do (
    set MyPID=%%b 
) 

Das Problem ist, dass der Prozess eine cmd-Datei ist so wird der Bildname "cmd.exe" sein.

Irgendwelche Lösungen?

+0

Warum nicht einfach die andere Batch-Datei aufrufen und wenn die Verarbeitung abgeschlossen ist, kehrt die Steuerung zu der aufrufenden Batch-Datei zurück, zu welcher Zeit Sie das Datum und die Uhrzeit bestimmen können. – Squashman

+0

Weil ich gerne die Ausführung der CMD-Datei überprüfen und zum Beispiel den Prozess unterbrechen möchte, wenn ich will. Also muss ich das Skript nicht blockieren, um die Prozessaktivität zu scannen. –

Antwort

2

Es wird einfacher für Sie sein, die PID zu bekommen, wenn Sie den Prozess starten. Sie können dies tun, mit WMIC Befehl (obwohl es ein wenig umständlich ist):

@echo off 

for /f "skip=5 tokens=* delims=" %%a in ('WMIC process call create "notepad.exe"^,"c:\"') do (
    for /f "tokens=2 delims=;= " %%# in ("%%a") do if not defined pid set "pid=%%#" 
) 

echo %pid% 

Sie können auch this ready to use script verwenden, die Sie einige Arbeit ersparen können (hoffen, dass die Hilfemeldung aussagekräftig genug ist)

+0

Ich werde das versuchen, danke! –

2

statt Bildname Look für Fenstertitel (Sie definiert, dass als Parameter an start):

tasklist /fi "windowtitle eq "Process" 

verwenden diese in Ihre bestehende for Schleife.

können Sie /v zu tasklist hinzufügen, um eine ausführliche Ausgabe zu erhalten, aber Sie brauchen es nicht wirklich für diese Aufgabe.

+0

Oh, das ist nett, weil ich eine eindeutige ID habe. Nun, ich habe 2 Lösungen, danke! –

Verwandte Themen