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

问题描述 投票:1回答:1

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

@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
batch-file
1个回答
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输出

© www.soinside.com 2019 - 2024. All rights reserved.