查找与今天日期批次不匹配的文件

时间:2018-04-10 07:57:45

标签: batch-file

我需要查找与今天修改日期的日期不匹配的文件。 以下是单个文件的代码。任何人都可以建议批处理程序检查文件夹中的多个文件是否相同。

@ECHO OFF

echo %date%
pause

FOR %%a IN (D:\Study\Test\myfile.txt) DO SET FileDate=%%~ta
 set DATEONLY=%FileDate:~0,10%
 echo %DATEONLY%
 pause

if %DATEONLY%==%date% (
  echo date ok
) 
else (
  ECHO     Wrong
)
PAUSE

1 个答案:

答案 0 :(得分:0)

使用您当前的脚本,只需说出*.txt即可使用delayedexpansion

@echo off
echo ***Current %date%***
pause>nul
setlocal enabledelayedexpansion
FOR %%a IN (D:\Study\Test\*.txt) DO (
 SET FileDate=%%~ta
 set DATEONLY=!FileDate:~0,10!
 REM echo !DATEONLY!
 pause>nul

if !DATEONLY!==!date! (
  echo OK: %%a !DATEONLY! = !date!
) else (
  echo INCORRECT: %%a !DATEONLY! not !date!
)
)
pause>nul

如果要检查文件夹中的所有文件,而不仅仅是*.txt

FOR %%a IN (D:\Study\Test\*.*) DO (

我还在>nul命令区域中添加了pause,因为它将摆脱恼人的press any key输出