如果今天修改了文件,我有这个代码回声。 我如何添加,以便它不仅可以回应文件今天被修改,还可以在什么时间进行修改?
例如“今天在%modifytime%修改的文件”。
@echo off
for %%F in (C:\temp\file.txt) do (for /F %%D in ("%%~tF") do (set mdate=%%D))
for /F "tokens=2" %%D in ('date/t') do set cdate=%%D
if "%date%"=="%mdate%" echo File modified today
if not "%date%"=="%mdate%" echo File not modified today
答案 0 :(得分:1)
使用内置的 ForFiles
命令可以快速了解一下:
@Echo Off
For %%A In ("C:\temp\file.txt") Do (If Not "%__CD__%"=="%%~dpA" PushD "%%~dpA"
ForFiles /M "%%~nxA" /D 0 /C^
"Cmd /C Echo @File was modified today0x09@fDate @fTime"2>Nul||(
Echo "%%A" not modified today))
Pause
与您的示例一样,这个想法允许您用第3行替换括号中的单个文件:
*
输出当前目录中的每个文件。"C:\temp\file1.txt" "C:\somewhere\fileZ.exe"
输出多个已知文件。PushD
而不是< strong> PopD
可能会限制不同目录的数量;如果使用此选项,请谨慎使用。 为安全起见,我建议您在这些括号中加注双引号。