@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2" %%i in ('dir a.txt^| find "a.txt"') do set "str=%%i%%j"
if not EXIST _a.txt (
echo !str!>_a.txt
echo 第一次执行,记录文件修改时间。
) else (
set /p str2=<_a.txt
if "!str!"=="!str2!" (
echo 文件未被修改
) else (
echo 记录的修改时间为!str2!
echo 实际的修改时间为!str!
echo 文件已被修改,重新记录修改时间
echo !str!>_a.txt
)
)
pause>nul
这个是基于文件的修改时间来确定的。
另外一种方法是,将文件备份一下。之后比较一下就可以了。