cmd dir /b/s 加上日期

Posted

技术标签:

【中文标题】cmd dir /b/s 加上日期【英文标题】:cmd dir /b/s plus date 【发布时间】:2012-06-28 06:21:28 【问题描述】:

我正在寻找 Windows XP 中的 cmd shell 命令,例如“dir /b/s”,其中包含结果中每个文件的日期和时间值。所有数据 - 路径、文件名和日期/时间 - 都需要在一行上。谁能提供一个命令来完成这个?谢谢。

【问题讨论】:

【参考方案1】:

如果你只想要文件

for /r %F in (*) do @echo %~tF %F

如果你想要文件和目录,那么使用带有 FOR /F 的 DIR 命令

for /f "eol=: delims=" %F in ('dir /b /s') do @echo %~tF %F

如果在批处理文件中使用,则 %F%~tF 必须更改为 %%F%%~tF

【讨论】:

这完全符合我的需求。谢谢。 @user1483922 - 当您得到完全满足您需求的答案时,您应该通过单击答案左上角附近的复选标记来接受它。接受答案让其他人知道问题已被回答,它奖励您花时间接受答案的 2 分,并奖励发布答案的人 15 分。【参考方案2】:

你也可以使用 dbenham answer for /f "eol=: delims=" %F in ('dir /b /s') do @echo ... 转储如下信息:

%~zF 文件长度 %~dF 驱动 %~pF 路径 %~nF 名称 %~xF 扩展名 %~tF 日期和时间

即使用下面的行您可以使用子目录和文件详细信息制作目录的 csv 转储

for /f "eol=: delims=" %F in ('dir /b /s') do @echo %F;%~zF;%~dF;%~pF;%~nF;%~xF;%~tF;

结果:

full_path;size;drive;path;name;extension;date
E:\dump\oc.txt;37686;E:;\dump\;oc;.txt;2020-04-05 20:10;

【讨论】:

【参考方案3】:

没有使用 DIR 的直接方法。您需要编写一个从 DIR /s 中剥离无关细节的包装器

您可以使用 powershell、vbscript 或 javascript 来执行此操作。

这是一个使用 PowerShell 的相关答案:How to retrieve a recursive directory and file list from PowerShell excluding some files and folders? 虽然您需要修改它以添加日期/时间。

更新:这里是一个 MAD 网站,列出了以不同语言加载的递归目录:http://rosettacode.org/wiki/Walk_a_directory/Recursively

【讨论】:

【参考方案4】:

这样的事情怎么样:

for /f "tokens=*" %a in ('dir *.* /a:d /b /s') do for /f "skip=5 tokens=1,2,3,4*" %b in ('dir *.* /a:-d') do @if %e neq bytes @echo %a\%e%f %b %c

简单,虽然我可能稍微复杂了一点:-)

【讨论】:

以上是关于cmd dir /b/s 加上日期的主要内容,如果未能解决你的问题,请参考以下文章

获取文件最后修改日期(资源管理器值不是 cmd 值)

vb 请问,关于系统日期,再加上固定天数,得出的日期的方法,谢谢.

使用命令行按日期搜索

日期处理在日期加上几天,返回日期。

如何在cmd中进行简单的文件搜索

cmd 下 哪个命令可以查看当前具体的时间和日期?