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

标签 windows command-line batch-file timestamp

我需要生成在 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/

相关文章:

java - 在 Windows、OSX 和 Linux 上获取进程的 PID

将 IP 从 C 字符串转换为无符号整数?

windows - 如何获取在cassandra表中分配的索引列表

c# - 如何加快在 ASP.NET 中调用命令行工具的循环?

visual-studio - 如何获取 VS 解决方案的命令行构建命令?

windows - echo 命令在写入文本文件时是否附加任何额外字符?

vb.net - BC30451 'VARIABLE' 未声明。由于其保护级别,它可能无法访问

java - 有没有比 jdb 更好的 Java CLI 调试器工具?

windows - 批处理文件在for循环中获取开始和结束字符

batch-file - 使用批处理文件将二进制文件转换为十六进制表示