Ber Batch prüfen, ob Batch Datei geöffnet
Hallo zusammen,
ich habe folgendes Problem:
ich brauche eine Batch (oder Vbs), die prüft, ob eine BatchDatei geöffnet ist oder nicht.
per tasklist geht es nicht, denn eine batchdatei ist von cmd.exe abhängig.
Danke im Vorraus,
Alme123
ich habe folgendes Problem:
ich brauche eine Batch (oder Vbs), die prüft, ob eine BatchDatei geöffnet ist oder nicht.
per tasklist geht es nicht, denn eine batchdatei ist von cmd.exe abhängig.
Danke im Vorraus,
Alme123
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 195216
Url: https://administrator.de/forum/ber-batch-pruefen-ob-batch-datei-geoeffnet-195216.html
Ausgedruckt am: 25.12.2024 um 01:12 Uhr
5 Kommentare
Neuester Kommentar
Hallo Alme123,
das ist recht einfach:
du musst es über die PID machen:
MfG
Batch-Lord
das ist recht einfach:
du musst es über die PID machen:
@echo off
::Sprungmarke
:start
::Taskliste bevor Batch gestartet ist
tasklist /V>%temp%\vor.txt
::Batch starten
start "" test.bat
::Taskliste nachdem Notepad gestartet ist
tasklist /V>%temp%\nach.txt
::Prozess ID des Scripts herausfiltern
for /F "tokens=2 delims= " %%i in ('fc %temp%\vor.txt %temp%\nach.txt^|find "cmd.exe"') do set PID=%%i
::Prozess ID ausgabe
echo PID: %PID%
pause
::temporäre Dateien löschen
del %temp%\vor.txt
del %temp%\nach.txt
::mit Ping eine Pause von 5 Sekunden einlegen
ping -n 5 127.0.0.1 > NUL
::prüfen, ob Batch noch läuft
tasklist | findstr /i %PID%
::wenn die Batch nicht mehr läuft
if not %errorlevel%==0 goto start
MfG
Batch-Lord
Hallo Alme123.
Wenn du deinem Batch einen aussagekräftigen Fenstertitel verpassen würdest, ginge das schon. Schau dir die Hilfe zu TASKLIST an, ein entsprechender Filter lässt sich leicht setzen.
Alternativ kannst du den Pfad der Batchdatei in der Kommandozeile suchen. In einer Batchdatei per WMIC.
Grüße
rubberman
Wenn du deinem Batch einen aussagekräftigen Fenstertitel verpassen würdest, ginge das schon. Schau dir die Hilfe zu TASKLIST an, ein entsprechender Filter lässt sich leicht setzen.
Alternativ kannst du den Pfad der Batchdatei in der Kommandozeile suchen. In einer Batchdatei per WMIC.
@echo off &setlocal
set "filepath=C:\pfad zur\Batchdatei.bat"
WMIC process Where "Name='cmd.exe' And CommandLine Like '%%%filepath:\=\\%%%'" 2>nul | findstr . >nul &&(
echo laeuft
) || (
echo laeuft nicht
)
pause
Grüße
rubberman
du musst es über die PID machen:
@echo off
::Sprungmarke
:start
::Taskliste bevor Batch gestartet ist
tasklist /V>%temp%\vor.txt
::Batch starten
start "" notepad.exe "c:\temp\meinHinweis.txt"
::Taskliste nachdem Notepad gestartet ist
tasklist /V>%temp%\nach.txt
::Prozess ID des Scripts herausfiltern
for /F "tokens=2 delims= " %%i in ('fc %temp%\vor.txt %temp%\nach.txt^|find "cmd.exe"') do set PID=%%i
::Prozess ID ausgabe
echo PID: %PID%
pause
Hallo,
wie suche ich am besten nach dem Fenstertitel der mir durch tasklist /V ausgegeben wird.
Ich möchte die PID herausfinden bei der der Fenstertitel "meinHinweis.txt - Editor" ist.
Vielen Dank schonmal
Zitat von @blacksun:
wie suche ich am besten nach dem Fenstertitel der mir durch tasklist /V ausgegeben wird.
Ich möchte die PID herausfinden bei der der Fenstertitel "meinHinweis.txt - Editor" ist.
wie suche ich am besten nach dem Fenstertitel der mir durch tasklist /V ausgegeben wird.
Ich möchte die PID herausfinden bei der der Fenstertitel "meinHinweis.txt - Editor" ist.
Dieser Thread ist uralt, als gelöst markiert und behandelt ein völlig anderes Thema...
for /f tokens^=3^ delims^=^" %%i in ('tasklist /nh /fo csv /fi "windowtitle eq meinHinweis.txt - Editor"') do echo PID ist %%i
Steffen