我需要生成在 Windows 系统上分别创建、修改和访问的所有文件的列表。
我在这里找到命令 forfiles
http://technet.microsoft.com/sv-se/library/cc753551(v=ws.10).aspx但显然这不使用创建和访问的时间戳,我也需要那些(在单独的列表中)。
我也研究过使用 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
关于windows - 查找在日期之间创建/访问/修改的文件,批处理脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10314693/