У меня есть пакетный скрипт, который проверяет следующее о файле:
1. Если файл существует
2. Если файл пуст
3. Если файл обновлен (по сравнению с текущей датой)
Я могу получать результаты для всех условий всякий раз, когда запускаю пакет и файл присутствует в папке, которую я использую.Тем не менее, он завершается, когда я удаляю файл, а затем запускаю сценарий для проверки условия # 1.
Я заметил, что инструкция ELSE для условия, которое проверяет, существует ли файл, не выполняется.Ниже приведен код:
@echo off
setlocal
set strpath="C:\SAMPLE.txt"
set $strErrorMessage="No Error"
set datenow=%DATE:~4,13%
FOR %%A IN (%strpath%) DO set filelastmodifieddate=%%~tA
FOR %%A IN (%strpath%) DO set filesize=%%~zA
set filelastmodifieddate=%filelastmodifieddate:~0,10%
IF EXIST %strpath% (
IF %filesize% NEQ 0 (
IF %filelastmodifieddate% EQU %datenow% (rem do something
) ELSE (SET strErrorMessage=FILE IS NOT UDPATED)
) ELSE (SET strErrorMessage=ZERO BYTE FILE)
) ELSE (SET strErrorMessage=FILE DOES NOT EXIST)
echo %strErrorMessage%