Windows 查找日期之间创建/访问/修改的文件,批处理脚本

Windows 查找日期之间创建/访问/修改的文件,批处理脚本,windows,command-line,batch-file,timestamp,Windows,Command Line,Batch File,Timestamp,我需要生成在windows系统上分别创建、修改和访问的所有文件的列表 我在这里找到了用于文件的命令forfiles,但显然这并不使用创建和访问的时间戳,我也需要这些时间戳(在单独的列表中) 我还研究了如何使用dir命令,但我在“帮助”部分中只找到了有关排序而不是筛选的引用。您的问题有一些不清楚的细节,因此我做了一些假设 下面的批处理文件创建三个单独的文本文件:created.txt、modified.txt和accessed.txt,其中包含当前文件夹中的文件列表;每个列表都有YYYYMMDDH

我需要生成在windows系统上分别创建、修改和访问的所有文件的列表

我在这里找到了用于文件的命令
forfiles
,但显然这并不使用创建和访问的时间戳,我也需要这些时间戳(在单独的列表中)


我还研究了如何使用
dir
命令,但我在“帮助”部分中只找到了有关排序而不是筛选的引用。

您的问题有一些不清楚的细节,因此我做了一些假设

下面的批处理文件创建三个单独的文本文件:created.txt、modified.txt和accessed.txt,其中包含当前文件夹中的文件列表;每个列表都有YYYYMMDDHHMMSS格式的各自日期,后跟文件名,因此易于处理

@echo off
setlocal DisableDelayedExpansion
for %%f in (created modified accessed) do if exist %%f.txt del %%f.txt
set "folder=%CD:~2%"
for /F "skip=1 tokens=1-3*" %%a in (
    '"wmic datafile where (path='%folder:\=\\%\\') get InstallDate, LastModified, 

LastAccessed, Name"'
                                   ) do (
   for /F "delims=." %%A in ("%%a") do echo %%A %%d>> created.txt
   for /F "delims=." %%B in ("%%b") do echo %%B %%d>> modified.txt
   for /F "delims=." %%C in ("%%c") do echo %%C %%d>> accessed.txt
)

rem Process each list this way:
for /F "tokens=1*" %%a in (created.txt) do echo %%a - %%b

你的问题有一些不清楚的细节,所以我做了一些假设

下面的批处理文件创建三个单独的文本文件:created.txt、modified.txt和accessed.txt,其中包含当前文件夹中的文件列表;每个列表都有YYYYMMDDHHMMSS格式的各自日期,后跟文件名,因此易于处理

@echo off
setlocal DisableDelayedExpansion
for %%f in (created modified accessed) do if exist %%f.txt del %%f.txt
set "folder=%CD:~2%"
for /F "skip=1 tokens=1-3*" %%a in (
    '"wmic datafile where (path='%folder:\=\\%\\') get InstallDate, LastModified, 

LastAccessed, Name"'
                                   ) do (
   for /F "delims=." %%A in ("%%a") do echo %%A %%d>> created.txt
   for /F "delims=." %%B in ("%%b") do echo %%B %%d>> modified.txt
   for /F "delims=." %%C in ("%%c") do echo %%C %%d>> accessed.txt
)

rem Process each list this way:
for /F "tokens=1*" %%a in (created.txt) do echo %%a - %%b

在主题中也有“日期之间”:)怎么样

forfiles不允许放置两个日期条件(“+”和“-”)

我在wmic中也遇到了日期条件不平等的问题

例如:

wmic datafile where (path='%folder:\=\\\\%\\\\' and lastmodified ^> "20120713" and lastmodified ^< "20120714") get Name

仅返回在
2012071400000
之后修改的文件(在wmic符号中)。

主题中还有“日期之间”:)如何

forfiles不允许放置两个日期条件(“+”和“-”)

我在wmic中也遇到了日期条件不平等的问题

例如:

wmic datafile where (path='%folder:\=\\\\%\\\\' and lastmodified ^> "20120713" and lastmodified ^< "20120714") get Name

仅返回在
2012071400000
之后修改的文件(在wmic符号中)。

就像一个符咒!非常感谢你!工作起来很有魅力!非常感谢你!