建议使用这段代码替换"dir abc.doc >1.txt"来得到abc.doc原来的文件大小和修改时间,这样方便后面的处理:
@echo off
set FileName=abc.doc
for %%i in (%FileName%) do (
echo %%~ti %%~zi>1.txt
)
然后使用这段代码即可作出判断:
@echo off
set FileName=abc.doc
for /f "tokens=1,2,3,4 delims= " %%a in (1.txt) do (
set OldTime=%%a %%b %%c
set OldSize=%%d
)
for %%i in (abc.doc) do (
set CurrTime=%%~ti
set CurrSize=%%~zi
)
if "%OldTime%" equ "%CurrTime%" (
echo 修改时间未改变
) else (
echo 修改时间已改变
)
if %OldSize% equ %CurrSize% (
echo 文件大小未改变
) else (
echo 文件大小已改变
)