- @echo off&setlocal enabledelayedexpansion
- set mn=1
- for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
- set "str=%%~nxi "
- set/a n+=1,m=n%%5
- call:lp
- )
- >list.txt echo 本目录下有文本文件!n!个
- for /l %%a in (1 1 %mn%) do if "!%%a!" neq "" >>list.txt echo.!%%a!
- echo.>>list.txt
- set/a nm=mn+1,mn+=1,t+=n,n=0
- for /f "delims=" %%a in ('dir /b /ad') do (
- for /f "delims=" %%i in ('dir /b /a-d "%%a\*.txt"') do (
- set var=%%a
- set "str=%%~nxi "
- set/a n+=1,m=n%%5
- call:lp
- )
- if defined var (
- >>list.txt echo.!var!子文件夹中有文本文件!n!个:&set var=
- for /l %%b in (!nm! 1 !mn!) do if "!%%b!" neq "" >>list.txt echo.!%%b!
- )
- echo.>>list.txt
- set/a nm=mn+1,mn+=1,t+=n,n=0
- )
- >>list.txt echo %~dp0中总共有文本文件%t%个
- del %0
- pause&exit
- :lp
- if %m% equ 0 (set/a mn+=1&set "%mn%=!%mn%!%str%") else set "%mn%=!%mn%!%str%"
复制代码
精简点
- @echo off&setlocal enabledelayedexpansion
- set/a mn=1,nm=1&set "var1=%~dp0"
- for /f "delims=" %%i in ('dir /s/b *.txt') do (
- set "var=%%~dpi"&set "str=%%~nxi "
- if "!var!" neq "!var1!" call:lp0
- set/a n+=1,m=n%%5
- call:lp
- )
- call:lp0
- >>list.txt echo %~dp0中总共有文本文件%t%个
- del %0
- pause&exit
- :lp
- set var1=!var!
- if %m% equ 0 (set/a mn+=1&set "%mn%=!%mn%!%str%") else set "%mn%=!%mn%!%str%"
- goto:eof
- :lp0
- if !nm! equ 1 (>list.txt echo 本目录下有文本文件!n!个) else (
- set var1=!var1:%~dp0=!
- >>list.txt echo !var1:~,-1!子文件夹中有文本文件!n!个)
- for /l %%i in (!nm! 1 !mn!) do if "!%%i!" neq "" >>list.txt echo.!%%i!
- echo.>>list.txt
- set/a nm=mn+1,mn+=1,t+=n,n=0
复制代码
[ 本帖最后由 terse 于 2008-9-5 03:05 编辑 ] |