繁体   English   中英

Windows批处理未列出完整的目录内容

[英]Windows batch is not listing complete dir content

我有一个简单的批处理,它将特定文件夹及其子文件夹的内容保存到文本文件中。

这是原始命令。 在Windows 7环境中使用。

dir I:\Logistics\Hermes\1445\LIN\ /a /s /b > C:\out\LIST.txt

问题:它创建文件并列出大多数文件夹和文件,但不是全部。

这是LIST.txt文件的摘录。 前4行缺少该文件夹中的pdf文件。

I:\Logistics\Hermes\1445\LIN\557487
I:\Logistics\Hermes\1445\LIN\557488
I:\Logistics\Hermes\1445\LIN\557489    
I:\Logistics\Hermes\1445\LIN\557669
I:\Logistics\Hermes\1445\LIN\552371\XXXX_641428_20141022_1604.zip
I:\Logistics\Hermes\1445\LIN\552372\XXXX_859038_20141022_1604.zip    
I:\Logistics\Hermes\1445\LIN\552379\Overview
I:\Logistics\Hermes\1445\LIN\552379\Overview\manuals_overview_1445_LIN.pdf    
I:\Logistics\Hermes\1445\LIN\552381\LTBJ_886469_20141022_1800.zip

我不知道为什么。 没有过滤器,并且列出了其他PDF。 这些文件不是只读的。 用户对这些目录具有完全的读/写权限。

是因为文件夹名称只是数字吗?

感谢您对此批次的任何帮助。 谢谢 !

您的命令包括目录名称,因此您将I:\\Logistics\\Hermes\\1445\\LIN\\557487视为目录。

要排除,请添加: /ad

(非目录属性)

dir /s /b命令的行为是枚举完成的每个级别,因此,在您的情况下,列出了I:\\Logistics\\Hermes\\1445\\LIN的内容。 当此文件夹被完全地列举,它开始列举每个子文件夹的内容,所以,内容552371的内容之前列举557487 (在NTFS驱动要素名称排序)。 到达557487文件夹后,您缺少的pdf文件将在下面的几行中。

好的,多亏了MC ND的提示,我终于发现这是内存问题。 12000个文件夹中的大约80000个文件对于dir来说实在太多了。 保存的文本文件仅在大约5000行后随机停止。 最后,我将整个目录分为几个子文件夹。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM