date - 检查文件在过去 xx 天后是否被修改

标签 date batch-file windows-7 last-modified

我正在检查文件中的修改日期。我想测试一下/d -3之后文件是否被修改。根据docs ,这将检查文件是否在该日期之前被修改过。我需要检查该文件是否在该日期之后被修改。该文档还指出我可以指定一个日期。我可能最终会这样做,尽管生成一个日期来检查会稍微复杂一些,如果可能的话我宁愿避免这样做。 我该怎么办?

forfiles /m Item_Lookup2.csv /d -3 >nul 2>nul && (
  echo - updated

  goto :PROCESS_FILE
) || (

  echo - out of date
  set outdated="true"

  goto :CHECK_ERRORS
)

我找到了这个in this answer

最佳答案

您的方向是正确的,但是 forfiles/d -n 测试的是 n或更早修改的文件,而不是更晚的文件。您需要做的是反转您的 &&|| 代码块,并且可能指定 4 天而不是 3 天。

如果匹配,则该文件已存在 4 天或更早,并被归类为已过时。如果没有匹配,则在过去 3 天内更新过。

试试这个:

forfiles /d -4 /m "Item_Lookup2.csv" >NUL 2>NUL && (
    echo - out of date
    set outdated="true"
    goto :CHECK_ERRORS
) || (
    echo - updated
    goto :PROCESS_FILE
)

额外提示:如果您想进行一些测试,可以使用 PowerShell 命令手动操作文件的上次修改时间戳:

powershell "(gi Item_Lookup2.csv).LastWriteTime='6/1/2015 09:30:00 AM'"

... 会将 Item_Lookup2.csv 的上次修改时间戳设置为 6 月 1 日上午 9:30。加盐调味。

关于date - 检查文件在过去 xx 天后是否被修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30620330/

相关文章:

java - 如何将多个文本文件合并为一个文件,保持每个文件的排序,但合并所有文件的排序

javascript - 将 C# 的 FileTimeUTC 数字转换为 Javascript 中的日期

python - 如何以常规范式打印日期?

java - 如何在java中解析MM/dd格式的日期

swift - 如何 swift 开始和结束一周?

Java 找不到我的 main

batch-file - BATCH - 移动超过 5 分钟的文件

c# - 如何控制和调整Windows 7 中的音量?

.net - 如何使用 WMI 收集在 Windows 7 或 Windows Server 2008 上发现的新 "Applications and Services Logs"?

delphi - WH_JOURRNALRECORD 的 SetWindowsHookEx 在 Vista/Windows 7 下失败