я создаю командный файл, который проверяет, больше ли файл журнала, чем прежде, если он не вызывает монитор, чтобы начать, но я не могу заставить работать блок if, он находится внутри блока if, но это не такпереходит к другой части, и это всегда терпит неудачу, потому что у него нет значения.
Я пытался использовать отложенное расширение, но он либо не получает значение, либо пытается вычислить с именем переменной, ноесли я использую только строку в блоке if, он работает.
REM @echo off
REM SETLOCAL EnableDelayedExpansion
FOR /F %%i in ('dir /b/a-d/od/t:c omcp_*.log') do set FILENAME=%%i
FOR /F "usebackq" %%A IN ('%FILENAME%') DO set SIZE=%%~zA
IF DEFINED LASTFILENAME (
IF %FILENAME% == %LASTFILENAME% (
if DEFINED LASTSIZE (
IF %SIZE%==%LASTSIZE% ( echo "subir monitor") else ( echo "no subir monitor" )
)
)
)
set LASTFILENAME=%FILENAME%
set LASTSIZE=%SIZE%
REM setx LASTFILENAME=%FILENAME%
REM setx LASTSIZE=%SIZE%
он должен установить переменные в первом запуске и показывать «no subir monitor» во втором запуске Спасибо