Date 批处理文件以确定修改日期

Date 批处理文件以确定修改日期,date,batch-file,last-modified,Date,Batch File,Last Modified,嘿,伙计们,我正在寻找一个批处理文件,告诉我今天是否修改了某些文件夹(我每天早上都会运行它)。我很乐意指定要查询的每个文件夹,只是还没有找到任何符合我要求的文件夹。如果有人知道.bat的代码是什么,那就太棒了:)提前谢谢。你可以使用vbscript Set objFS = CreateObject( "Scripting.FileSystemObject" ) strFolder = WScript.Arguments(0) Set objFolder = objFS.GetFolder(str

嘿,伙计们,我正在寻找一个批处理文件,告诉我今天是否修改了某些文件夹(我每天早上都会运行它)。我很乐意指定要查询的每个文件夹,只是还没有找到任何符合我要求的文件夹。如果有人知道.bat的代码是什么,那就太棒了:)提前谢谢。

你可以使用vbscript

Set objFS = CreateObject( "Scripting.FileSystemObject" )
strFolder = WScript.Arguments(0)
Set objFolder = objFS.GetFolder(strFolder)
If DateDiff("d", Now, objFolder.DateLastModified ) = 0 Then
    WScript.Echo "0"
End If 
在批处理文件(或命令行)中


使用for循环捕获输出。(甚至可以在vbscript中执行所有操作)

这里有一个批处理文件,可以实现以下功能:

@echo off
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /D %%Q IN (*.*) DO (
  set FILETIME=%%~tQ
  if "!FILETIME:~0,10!"=="%DATE:~4%" echo %%Q
)
这是通过将文件时间戳的日期部分与当前日期进行比较来实现的

如前所述,它会检查当前目录中的目录,但您可以用任何要测试的文件规范替换*

我不知道这是否适用于任何其他默认的英语/美国地区设置的系统,但它可能会被调整以使其工作,如果它还没有。我也不知道如果系统在不同时区的用户之间共享会发生什么

@echo off
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /D %%Q IN (*.*) DO (
  set FILETIME=%%~tQ
  if "!FILETIME:~0,10!"=="%DATE:~4%" echo %%Q
)