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