如何用批处理统计出有包含指定文件的文件夹数量

当然目录下有很多文件夹,如abc abd efc dde
比方abc下又有三个文件夹,123 234 345,而123下有1.jpg和A23文件夹, A23下有1.jpg 2.jpg 3.jpg,234文件夹下有2张,345下有3张,如何用批处理读出以下格式。
文件abc下有4个文件夹下有jpg.共有jpg文件9张.
文件abd下有...
...

第1个回答  2012-08-08
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in ('dir/b/ad') do (
for /f %%j in ('dir/ad/b "%%i"^|find /c /v ".*"') set d=%%j
for /f %%j in ('dir/a-d/b "%%i\*.jpg"^|find /c /v ".*"') set f=%%j
echo 文件夹%%i下有!d!个文件夹下有jpg.共有jpg文件!f!张.)
pause追问

不成功耶,直接退出了.

追答

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in ('dir/b/ad') do (
for /f %%j in ('dir/ad/b "%%i"^|find /c /v ".*"') do set d=%%j
for /f %%j in ('dir/a-d/b "%%i\*.jpg"^|find /c /v ".*"') do set f=%%j
echo 文件夹%%i下有!d!个文件夹下有jpg.共有jpg文件!f!张.)
pause

追问

还是不行,共有jpg文件全是0张,每行都是找不到文件。

追答

后面两个for语句的dir后面加/s

本回答被提问者采纳
相似回答