文档详情

批处理,如何统计当前文件夹内每个文件夹内的文件数目,并记录文件夹 的名称和该文件夹下文件的数目到文本.doc

发布:2017-12-23约1.46千字共3页下载文档
文本预览下载声明
批处理,如何统计当前文件夹内每个文件夹内的文件数目,并记录文件夹 的名称和该文件夹下文件的数目到文本 2012-03-30 15:53 提问者: sduhtc |浏览次数:341次 文本效果如下: 135A.069Z-1 4 135A.103Z-1 3 135A.104Z-1 6 311.003.1SG-34 3 …… 问题补充: 各位大侠,不是输出到文本,要输出到excel里,名称占A列,数目占B列,无尽感激。 我来帮他解答 满意回答 2012-03-30 21:32 @echo?off echo?正在处理...... echo?文件夹名;?文件数?LIST.txt set?sl= for?/f?delims=?%%a?in?(dir?/ad?/b)?do?( ??dir?/s?/a-d?%%a?|?findstr?个文件??temp_%%a.txt ??set?fd=%%a ??call?:xxxx ??) del?temp_*.txt?nul exit :xxxx for?/f?tokens=1?delims=??%%b?in?(temp_%fd%.txt)?do?set?sl=%%b ping??-n?2?nul echo?%fd%;?%sl%??LIST.txt goto?:EOF ====================== 运行完成生成?LIST.txt?文件,保存着文本格式的结果(用?;隔开)。excel中,打开该文件,选择分隔符为?;即可。经验证通过。? ========感觉可以再精简一下为: @echo?off echo?文件夹名;文件数?LIST.txt for?/f?delims=?%%a?in?(dir?/ad?/b)?do?( ?for?/f?%%s?in?(dir?/s?/a-d?%%a?^|?find?/v?/c?)?do?echo?%%a;%%b??LIST.txt) 已经验证通过. ================== 追问 保存为list.txt时,如何将list改为当前目录的名称呢?也就是说以当前目录的名字命名txt?不胜感激。 回答 先从系统变量中获取当前文件夹名,之后把结果输出到该文件中。批处理如下: @echo off set n=%cd% :aaa if not %n:\=%==%n% set n=%n:*\=% goto aaa echo 文件夹名;文件数%n%.txt for /f delims= %%a in (dir /ad /b) do ( for /f %%s in (dir /b /s /a-d %%a ^| find /v /c ) do echo %%a;%%s%n%.txt) echo 完成... pause 经测试通过 运行完成生成 当前文件夹名.txt 文件,保存着文本格式的结果(用 ;隔开)。excel中,打开该文件,选择分隔符为“分号”即可 ========= 另外提醒一下:前面那一个回答最后一行少了一个 /b 而且 %%b 应该为 %%s,粘贴错了(把调试中的一个旧文件内容贴上来了,不好意思) 如果问题解决,请采纳一下,以便关闭此问题。 /question/403178643.html
显示全部
相似文档