中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 10:46
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于dir的问题,请教! 查看 982 回复 4
楼 主 关于dir的问题,请教! 发表于 2010-04-12 14:18 ·  中国 上海 电信
新手上路
积分 8
发帖 8
注册 2010-04-04 09:00
16年会员
UID 163739
性别 男
来自 四川南充
状态 离线
各位大侠,
小弟请教:

本人在d:\test\ 有很多文件夹,我想用以个P来查看他们的大小(文件夹)。

感谢!
2 发表于 2010-04-12 14:50 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
@echo off&setlocal enabledelayedexpansion
set "d:\test"
for /F "skip=2 delims=" %%a in ('dir /a:d /s "%v%"') do (
set "a=%%a"&if "!a:~1,1!"=="%v:~0,1%" (echo.!a:~1^,-4!
for /F "skip=2 delims=" %%b in ('dir "!a:~1,-4!" /a:-d /s') do (
set "b=%%b"&if "!b:~0,2!"==" " echo.!b!|find "个文件">nul&&set c=%%b)
echo.!c!))
pause


[ Last edited by Hanyeguxing on 2010-4-12 at 16:22 ]
3 发表于 2010-04-12 20:25 ·  中国 广东 广州 电信
初级用户
★★
积分 89
发帖 76
注册 2009-12-13 13:41
16年会员
UID 156499
性别 男
状态 离线
我也来个!!

@echo off
setlocal enabledelayedexpansion
set pt=d:\test
echo :
for /f "tokens=*" %%c in ('dir %pt% /ad /b /s') do (
for /f "tokens=3,4 delims= " %%i in ('dir "%%c"^|findstr "个文件"') do (
echo -------------------
echo."%%c" : %%i %%j
set "zer=%%i"
set "zer=!zer:,=!"
set /a num=!num!+!zer!
)
)
for /f "tokens=3,4 delims= " %%i in ('dir "%pt%"^|findstr "个文件"') do (
echo -------------------
echo."%pt%" : %%i %%j
set "zer=%%i"
set "zer=!zer:,=!"
set /a num=!num!+!zer!
)
echo.
echo :
echo %num% 字节
pause>nul
goto :eof
4 发表于 2010-04-12 20:46 ·  中国 广东 广州 电信
初级用户
★★
积分 89
发帖 76
注册 2009-12-13 13:41
16年会员
UID 156499
性别 男
状态 离线
修改了下 拖入文件夹就可以计算大小了:
@echo off
mode con cols=100 lines=20
setlocal enabledelayedexpansion
set /p pt=拖入文件夹?:
set "pt=%pt:"=%"
echo :
for /f "tokens=*" %%c in ('dir "%pt%" /ad /b /s') do (
for /f "tokens=3,4 delims= " %%i in ('dir "%%c"^|findstr "个文件"') do (
echo -------------------
echo."%%c" : %%i %%j
set "zer=%%i"
set "zer=!zer:,=!"
set /a num=!num!+!zer!
)
)
for /f "tokens=3,4 delims= " %%i in ('dir "%pt%"^|findstr "个文件"') do (
echo -------------------
echo."%pt%" : %%i %%j
set "zer=%%i"
set "zer=!zer:,=!"
set /a num=!num!+!zer!
)
echo.
echo :
echo %num% 字节
pause>nul
goto :eof
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
kennyfan +2 2010-04-13 08:26
5 发表于 2010-04-17 10:22 ·  中国 上海 电信
新手上路
积分 8
发帖 8
注册 2010-04-04 09:00
16年会员
UID 163739
性别 男
来自 四川南充
状态 离线
不是很懂,研究中!!!。


先谢谢!!
论坛跳转: