中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 00:52
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理遍历文件夹大小代码如何修改? 查看 885 回复 2
楼 主 批处理遍历文件夹大小代码如何修改? 发表于 2010-07-26 12:53 ·  中国 浙江 嘉兴 海宁市 电信
中级用户
★★
积分 360
发帖 216
注册 2007-05-29 17:41
19年会员
UID 89677
性别 男
状态 离线
@echo off
for /f "tokens=*" %%b in ('dir') do echo "%%b"|find "个文件">nul&&for /f "tokens=3*" %%c in ("%%b") do echo 当前目录 %%c %%d
for /f %%a in ('dir/ad/s/b') do for /f "tokens=*" %%b in ('"dir %%a\"') do echo "%%b"|find "个文件">nul&&for /f "tokens=3*" %%c in ("%%b") do echo %%a %%c %%d
pause

要达到目的
一\对有空格的文件夹也能正常遍历
二\对字节数能否改为MB或G?
三\只需要对当前目录进行遍历..

[ Last edited by bd123456789 on 2010-7-26 at 12:56 ]
2 发表于 2010-07-26 15:11 ·  中国 广东 广州 移动
初级用户
★★
积分 131
发帖 72
注册 2008-02-24 14:31
18年会员
UID 111317
性别 男
状态 离线
@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%a in ('dir /ad /b /s') do (
for /f "tokens=3" %%b in ('dir "%%a"^|find "个文件"') do (
set s=%%b
set s=!s:,=!
echo 当前目录%%a大小为:!s! 字节
echo.
set /a s=s/1024
echo 当前录%%a大小为:!s! M
)
)
pause


自己参考一下。。。。
3 谢了 发表于 2010-07-27 11:42 ·  中国 浙江 嘉兴 海宁市 电信
中级用户
★★
积分 360
发帖 216
注册 2007-05-29 17:41
19年会员
UID 89677
性别 男
状态 离线
@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%a in ('dir /ad /b') do (
for /f "tokens=3" %%b in ('dir "%%a"^|find "个文件"') do (
set s=%%b
set s=!s:,=!
echo 当前目录%%a大小为:!s! 字节
echo.
set /a s=s/1024/1024
echo 目录→%%a--------------------------- !s! M>>当前目录占用空间.txt
)
)
pause

OK,这是我修改好的
论坛跳转: