Пакетный файл, чтобы проверить, открыт ли другой пакет, и сделать что-нибудь, когда он будет закрыт - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь получить , который может вызывать моя другая программа, поэтому, когда моя другая программа закрывается, она удаляет временный файл другой созданной программы, программа запускает цикл так, Я не могу просто поместить его перед командой выхода в программе, так как она никогда не дойдет до нее.

@echo off  
Title watcher  
:start  
//if other .bat file is open then  
goto start  
Else //then when it is closed  
Del file.txt  
Exit  

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Делает что-то вроде

@ECHO OFF
START "" /WAIT "C:\Program Files\Foo\OtherApplication.exe"
DEL "C:\Temp\Foo.tmp"

не работает?

0 голосов
/ 28 мая 2019

Для тех, кто не может использовать ответ Кристофа, существует невероятно медленный обходной путь.

@echo off

:loop
set "l=0"
for /f "delims=" %%i in ('tasklist /v') do (
    for /f %%j in ('echo %%i ^| find /c "process name"') do (
        set /a l+=%%j
        goto break
    )
)
:break
cls
if %l% gtr 0 (
    echo Process is still running...
) else (
    echo Process is not running
)
goto loop

Вы можете изменить имя процесса вашего пакетного файла с помощью title или просто найти путь к файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...