Board logo

标题: [文件操作] 批处理怎样统计文件夹里面的文件个数和文件名输出到TXT? [打印本页]

作者: vane    时间: 2013-11-5 20:16     标题: 批处理怎样统计文件夹里面的文件个数和文件名输出到TXT?

请大家帮帮忙,

求:一个文件夹里面有多个子文件夹,子文件里里面分别有很多图像(如JPG文件)
求批处理统计文件夹里面的文件夹名称和文件个数输出到TXT或者EXCEL里面
格式是:  文件名---文件个数
              文件名---文件个数
              文件名---文件个数

             文件总数:



大家请帮帮我!
作者: batman    时间: 2013-11-5 20:51

  1. @echo off&setlocal enabledelayedexpansion
  2. set "folder=目录路径"
  3. (for /d %%a in ("%folder%\*") do (
  4.   set /a n=0
  5.   for %%b in ("%%a\*") do set /a n+=1,m+=1
  6.   echo,%%~na--!n!
  7. )
  8. echo,文件总数 !m!)>list.txt
  9. start list.txt
复制代码

作者: batman    时间: 2013-11-5 20:54

最简单的是:
dir /a-d /s|findstr /r "的目录 个文件">list.txt&start list.txt
作者: vane    时间: 2013-11-5 21:26

太好了,!解决了问题了,谢谢斑竹,@echo off&setlocal enabledelayedexpansion这一段代码其实是什么意思?还有,如果我想要以目录树的形式显示的话又该如何做呢?(包括显示子目录的上层目录)
作者: 非常感谢    时间: 2013-11-5 22:06

回复 4# vane

@echo off & setlocal EnableDelayedExpansion
关闭命令回显,并启用变量延迟

参考地址:
http://bbs.bathome.net/thread-2898-1-1.html
作者: vane    时间: 2013-11-5 22:24

谢谢大哥!!!
作者: vane    时间: 2013-11-6 09:08

现在又 有个问题了,第一次没问全。。
就是子文件夹里面还有文件夹怎么办?如果只显示有文件的文件夹名字和数量又该如何??谢谢
作者: vane    时间: 2013-11-6 09:52

大师们,求解
作者: batman    时间: 2013-11-6 10:05

3楼的代码你没看,是假的?
自己不知道改?
作者: vane    时间: 2013-11-6 10:29

是有点不会改....
作者: vane    时间: 2013-11-6 13:00     标题: 批处理怎样统计文件夹里面的文件个数和文件名输出到TXT?

1.一个文件夹A 里面有多个子文件夹,多个子文件里面又有多个子文件夹,依次下去,而在这其中有一些子文件夹里存在文件,有一些是空的,要做的是:


统计文件夹A 里面存在文件的子文件夹的文件夹名称和文件个数输出到TXT或者EXCEL里面(空的文件夹不必输出显示)。

格式是:      文件名---文件个数
              文件名---文件个数
              文件名---文件个数

              文件总数:




2.有没有办法按第一条的要求以目录树的形式输出到文本或者HTML?


麻烦大家了,帮帮忙!
作者: foxJL    时间: 2013-11-6 13:49

本帖最后由 foxJL 于 2013-11-6 14:12 编辑

回复 11# vane
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p folder=输入目录:
  3. (for /r "%folder%\" %%a in (.) do (
  4.   set /a n=0
  5.   set s=%%a&set s=!s:~,-1!
  6.   for %%b in ("!s!\*") do set /a n+=1,m+=1
  7.   if not !n! equ 0 echo,%%~na--!n!
  8. )
  9. echo,文件总数 !m!)>list.txt
  10. start list.txt
  11. pause
复制代码

作者: vane    时间: 2013-11-6 14:08

回复 12# foxJL


    怎么把数据输出到文本呢?只按以下要求显示:
文件名---数量
文件名---数量
文件名---数量
  总数--数量

不要求显示目录路径.
作者: foxJL    时间: 2013-11-6 14:13

回复 13# vane


文件名?还是文件夹名?
作者: vane    时间: 2013-11-6 14:16

显示文件夹名
作者: vane    时间: 2013-11-6 14:20

能否做到以目录树的形式先出出来?
作者: vane    时间: 2013-11-6 15:08

来人哪,高手呐,没人来帮忙吗
作者: terse    时间: 2013-11-11 13:47

  1. @echo off
  2. set n=
  3. set "folder=C:\test"
  4. cd /d "%folder%"
  5. for /d /r %%i in (*) do (
  6.     for /f %%j in ('dir /a-d /b "%%i" 2^>nul^|find /v /c ""') do (
  7.         if %%j gtr 0 echo %%~nxi---%%j
  8.         set/an+=%%j
  9.     )
  10. )
  11. echo 文件总数 %n%
  12. pause
复制代码

作者: guanqi945a    时间: 2020-12-11 08:49

回复 2# batman


怎样生成excel并把提取的数据分成两列




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2