可以使用以下代码示例来实现。
@echo off
set archivePath=C:\archive
set randomFile=random.txt
set processedFlag=processed.txt
set datestamp=%date:~-4,4%%date:~-10,2%%date:~-7,2%
set timestamp=%time:~0,2%%time:~3,2%%time:~6,2%
set logFile=%archivePath%\logs\%datestamp%_%timestamp%.log
echo Checking for file presence at %datestamp% %timestamp% >> %logFile%
if exist "%archivePath%\%randomFile%" (
echo %datestamp% %timestamp% - Random file %randomFile% present in archive path >> %logFile%
set processed=0
setlocal enabledelayedexpansion
for /f %%a in ('dir /b "%archivePath%\%processedFlag%"') do (
if "!datestamp! !timestamp!" LSS "%%~ta" (
set processed=1
)
)
endlocal
if %processed% EQU 1 (
echo %datestamp% %timestamp% - %randomFile% processed within last 30 minutes >> %logFile%
) else (
echo %datestamp% %timestamp% - %randomFile% still not processed within last 30 minutes >> %logFile%
)
) else (
echo %datestamp% %timestamp% - Random file %randomFile% not present in archive path >> %logFile%
)
这个脚本首先定义了归档路径和要检查的随机文件名称。然后,它使用当前的日期和时间来创建一个日志文件,以便记录每次运行时的结果。
在脚本的主体部分,它检查归档路径中是否存在随机文件。如果文件存在,它会打印一条包含当前日期和时间的消息,指出随机文件已存在于归档路径中。