У меня есть следующий пакетный файл
@echo off
setlocal enableextensions enabledelayedexpansion
rem // Read all lines from this batch file that begin with `php72 ` and iterate over them:
for /F "delims=" %%C in ('
findstr /BIC:"php72 " "%~f0"
') do (
rem // Execute the currently iterated `php72` command line:
start %%C
SET checktasklist=true
FOR /L %%A IN (1,1,30) DO (
FOR /F %%x IN ('IF "!checktasklist!" == "true" tasklist /NH /FI "IMAGENAME eq php72.exe"') DO (
IF "%%x" == "php72.exe" (
timeout /T 1 /NOBREAK >NUL
) ELSE (
SET checktasklist=false
)
)
)
taskkill /IM "php72.exe" /F > nul 2>&1
)
rem // Avoid to fall into the `php72` command lines another time:
exit /B
php72 ../simulation.php --version 0.9.0.4 --hashsimmilar false --thinkahead 0 --detailed 0 --outfile catacombs.outfile.csv --workingdir "C:/xampp/htdocs/rpg_prog/" --customfight 1,2,,,,1,,,1,,0,0,0,Catacombs1
php72 ../simulation.php --version 0.9.0.4 --hashsimmilar false --thinkahead 1 --detailed 0 --outfile catacombs.outfile.csv --workingdir "C:/xampp/htdocs/rpg_prog/" --customfight 1,2,,,,1,,,1,,0,0,0,Catacombs1
php72 ../simulation.php --version 0.9.0.4 --hashsimmilar false --thinkahead 2 --detailed 0 --outfile catacombs.outfile.csv --workingdir "C:/xampp/htdocs/rpg_prog/" --customfight 1,2,,,,1,,,1,,0,0,0,Catacombs1
.... continued with 190 lines of more simmilar lines like the above
В этом пакетном файле я пытаюсь выполнить все команды php72.exe ...
, подождать 30 секунд, но только если они все еще работаюти если они все еще работают через 30 секунд, завершите их и перейдите к следующей строке php72.exe ...
.
Мне удалось этого добиться, но большую часть времени будет запускаться файл php72.exe
примерно через 0,8 секунды, но я все еще выполняю команду tasklist /NH...
30 раз, и это замедляет процесс.Вот почему я хотел поместить локальную переменную внутрь, чтобы, если задача не выполнялась после итерации, мне не нужно повторно проверять ее на оставшееся количество итераций.
Сейчас я получаю"true" was unexpected at this time.
эта ошибка.Я не понимаю, почему это происходит, или как я могу достичь желаемого поведения.Любая помощь будет оценена.