Некоторые части командного файла не выполняются

@echo off

:: we call another script to add php to the path
call ..\..\etc\env.cmd

TITLE tick PopDB

:: we empty the window
cls

:: we create the directory for output files
set outdir=..\..\var\tick
if not exist %outdir% mkdir %outdir%

:: this is the maximum number of instances of the script that can run in parallel
set maxtick=2

:: we get the current number of running instances of the script
tasklist /FI "windowtitle eq tick PopDB" /NH /V 2>NUL | find /I /C "tick PopDB" > tmpFile
set /p nbrtick=<tmpFile
del tmpFile

echo Number of running tick instances: %nbrtick% (maximum number: %maxtick%)

:: if the maximum number is not reached
if %nbrtick% leq %maxtick% (
   :: we get the PID of the script
   getPID.cmd > tmpFile2
   set /p pid=<tmpFile2
   del tmpFile2

   :: we get current hour
   set dt=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%%TIME:~0,2%
   set dt=%dt: =0%

   :: we execute the php script
   php -f tick.php %pid% >> %outdir%\tick_%dt%.out 2>&1
)

pause

По сути, цель этого сценария - проверить текущее количество запущенных экземпляров и вызвать PHP скрипт, если максимальное количество не достигнуто.

Сценарий getPID.cmd это скрипт, который я нашел здесь.

У меня есть несколько проблем здесь:

  • Переменная pid не установлен. Тем не менее, файл tmpFile2 где я пишу значение правильно написано.
  • Переменная dt тоже не установлен. Я могу сказать это, потому что файл tick_dt.out создается с пробелом вместо dt, Название должно быть что-то вроде tick_2018112909.out, Однако, когда я выполняю часть кода, устанавливающую dt в другом командном файле, он работает правильно

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

Файл ANSI-encoded,

Поэтому мой вопрос: что я делаю не так и как можно заставить этот скрипт работать правильно?

0 ответов

Другие вопросы по тегам