我想在DOS命令来查找在指定目录下的文件(计应该有这个目录下的子目录单独的条目)的数量。
对于例如,如果技术是一个目录,它有2个文件,和2个子目录(信息技术,服务)和子目录各有2个文件,我的结果应该看起来像
Tech 6
Info Tech 2
Services 2
这将是巨大的,如果有人可以帮助我这样的命令行...
我想在DOS命令来查找在指定目录下的文件(计应该有这个目录下的子目录单独的条目)的数量。
对于例如,如果技术是一个目录,它有2个文件,和2个子目录(信息技术,服务)和子目录各有2个文件,我的结果应该看起来像
Tech 6
Info Tech 2
Services 2
这将是巨大的,如果有人可以帮助我这样的命令行...
您的要求不明确。
我假设为每个文件夹你想要的文件夹中文件的总数,包括子文件夹(递归)文件。 你想这样做计算的根文件夹,以及所有子文件夹(递归)。
此代码的工作从XP的所有版本的Windows。 我不知道这是否适用于真正的MS-DOS。 你真的使用MS-DOS?
@echo off
setlocal disableDelayedExpansion
if "%~1"=="" (call :recurse ".") else call :recurse %1
exit /b
:recurse
setlocal
set fileCnt=0
for /d %%D in ("%~1\*") do call :recurse "%%~fD"
for /f %%A in ('dir /b /a-d "%~1\*" 2^>nul ^| find /v /c ""') do set /a fileCnt+=%%A
echo "%~f1" %fileCnt%
(
endlocal
set /a fileCnt+=%fileCnt%
)
exit /b
该代码列出了从下往上数的文件的文件夹。 如果你想要的文件夹上市自上而下,那么只需对结果进行排序。 假设该批处理脚本名为fileCnt.bat,然后
fileCnt | sort