gpt4 book ai didi

sorting - CMD 命令以递归方式列出具有排序顺序的文件夹中的所有文件,而不考虑层次结构中的位置?

转载 作者:行者123 更新时间:2023-12-04 18:06:06 24 4
gpt4 key购买 nike

我一直在尝试想出一种方法来使用 DIR 根据日期列出驱动器上的所有文件,但我的问题是结果列表仍然按字母顺序逐个文件夹,正如人们所期望的那样。在文件夹中,文件已正确列出,这不是问题所在。提示可能令人费解的视觉效果。

这是简单的递归目录列表(带有日期列只是因为它恰好是我要排序的内容):

main                                     Date
| -----------------
| -- file0_1.ext 1/5/10 12:00:00AM
| -- file0_2.ext 1/1/10 12:00:00AM
+ -- sub1
| | -- file1_1.ext 1/7/10 12:00:00AM
| | -- file1_2.ext 1/4/10 12:00:00AM
+ -- sub2
| | -- file2_1.ext 1/6/10 12:00:00AM
+ -- sub3
| | -- file3_1.ext 1/2/10 12:00:00AM
| + -- sub3_1
| | | -- file3_1_1.ext 1/3/10 12:00:00AM

当我运行时

dir *.* /s/od

要列出按日期递归排序的所有文件,我得到

main\file0_2.ext                         1/1/10 12:00:00AM
main\file0_1.ext 1/5/10 12:00:00AM
main\sub1\file1_2.ext 1/4/10 12:00:00AM
main\sub1\file1_1.ext 1/7/10 12:00:00AM
main\sub2\file2_1.ext 1/6/10 12:00:00AM
main\sub3\file3_1.ext 1/2/10 12:00:00AM
main\sub3\sub3_1\file3_1_1.ext 1/3/10 12:00:00AM

其中文件夹按字母顺序列出,但文件确实按文件夹内的日期正确排序。然而,我真正想要的是:

main\folder\file0_2.ext                  1/1/10 12:00:00AM
main\sub3\file3_1.ext 1/2/10 12:00:00AM
main\sub3\sub3_1\file3_1_1.ext 1/3/10 12:00:00AM
main\sub1\file1_2.ext 1/4/10 12:00:00AM
main\file0_1.ext 1/5/10 12:00:00AM
main\sub2\file2_1.ext 1/6/10 12:00:00AM
main\sub1\file1_1.ext 1/7/10 12:00:00AM

文件列出的位置,无论它们根据日期在层次结构中的位置如何。

一种解决方法是将列表中的所有输出通过管道传输到文本文件,对其进行解析,正确排序,然后再次列出所有内容,但我真的在寻找可以在 cmd.exe 中运行的单个命令,因此它可以很容易地从其他 Windows 机器上的内存中实现。

最佳答案

凭内存

robocopy "c:\main" "c:\main" * /l /nocopy /is /s /njh /njs /nc /ns /ts | sort

也就是说,调用 robocopy 将目标文件夹中的文件与同一文件夹进行检查,但仅列出文件,不复制任何内容,包括相同的文件,处理子目录,没有作业标题,没有作业摘要,没有类,没有大小,有时间戳,并将输出通过管道传输到 sort 以获取列表。

如果你只需要文件列表

for /f "tokens=2,*" %a in ('robocopy "c:\main" "c:\main" * /l /nocopy /is /s /njh /njs /nc /ns /ts ^| sort') do @echo %b

关于sorting - CMD 命令以递归方式列出具有排序顺序的文件夹中的所有文件,而不考虑层次结构中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26365157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com