命令行/批处理文件列出所有 jar 文件?

命令行/批处理文件列出所有 jar 文件?

我想列出 Windows 计算机上指定路径的子目录中的所有 jar 文件以及文件大小和时间。

dir /s给了我太多信息。dir /s *.jar按照我的要求做了一些事情,但是给了我一堆我不关心的目录信息。dir /b/s *.jar很简短,但没有给我时间或文件大小。

是否有一个命令可以仅列出 jar 文件 + 文件大小/时间?

答案1

你可以这样做:

for /r %i in (*.jar) do echo  %~ti %~zi %i 

它将迭代所有目录(包括当前目录)并回显名称*.jar。它还将回显echo命令,因此您可能希望将输出通过管道传输到文件:

for /r %i in (*.jar) do echo %~ti %~zi %i >> myJars.txt

或者把它放在蝙蝠里:

@echo off
for /r %%i in (*.jar) do echo %%~ti %%~zi %%i

%请注意版本中的双精度.bat

答案2

此命令行有效:

dir /s *.jar | find "jar"

它将“dir”的输出通过管道传输到“find”命令中进行过滤 - 过滤掉不包含“jar”的行,例如带有“Directory”的行。

但是它的可靠性只有 99.9%。如果文件夹名称中包含“jar”,并且该文件夹包含 jar 文件,则需要将其过滤掉:

dir /s *.jar | find "jar" | find /V "Directory of"

“/V” 表示所有不包含“目录”的行都将打印在屏幕上。

答案3

我能找到的最接近你需要的是

目录/p/s *.jar
这将给出文件的目录位置、大小以及日期/时间戳。

答案4

如果没有特殊原因需要使用命令行(例如需要批处理脚本),
则可以使用探索者搜索列出*.jar基础文件夹中的文件。
您将获得尺寸日期信息和列表可以按几种方式排序。

这将是一个 GUI 解决方案。
我一直想知道为什么 Windows 不允许我将搜索结果导出到 CSV/XLS/TXT
筛选文件夹的所有辛苦工作都白费了;无法对输出进行后期处理。
有人对这样的导出到文件有什么想法吗?

相关内容