中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 23:53
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]可以帮忙详细解释一下下面的程序吗 查看 721 回复 3
楼 主 [求助]可以帮忙详细解释一下下面的程序吗 发表于 2007-10-13 22:40 ·  中国 广东 东莞 电信
新手上路
积分 6
发帖 2
注册 2007-10-13 20:18
18年会员
UID 99656
性别 男
状态 离线
@echo off


setlocal enabledelayedexpansion

:Main
cls
set /a num2=1024*1024
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
set num1=0
set num3_str=
set num4=
for /f "tokens=3" %%j in ('dir /-c %%i:\ 2^>nul') do set num1=%%j
if not "!num1!"=="0" (
call :loop
for /f "delims=0 tokens=*" %%k in ("!num3_str!") do set num3_str=%%k
echo.
echo %%i 盘剩余空间为 !num3_str! MB
echo.
)
)
pause
goto end

:loop
:: 求商
set /a num3=%num4%%num1:~0,1%/%num2%
:: 求商序列
set num3_str=%num3_str%%num3%
:: 求余
set /a num4=%num4%%num1:~0,1%%%%num2%
if %num4% equ 0 set num4=
set num1=%num1:~1%
if not "%num1%"=="" goto loop
goto :eof

:end
2 发表于 2007-10-14 00:58 ·  中国 北京 中国科学院研究生院玉泉四公寓
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
盘剩余空间为 !num3_str! MB
3 发表于 2007-10-14 10:00 ·  中国 广东 东莞 电信
新手上路
积分 6
发帖 2
注册 2007-10-13 20:18
18年会员
UID 99656
性别 男
状态 离线
for /f "tokens=3" %%j in ('dir /-c %%i:\ 2^>nul') do set num1=%%j

中的 dir /-c %%i:\ 2^>nul  作用是什么阿??
4 发表于 2007-10-14 10:27 ·  中国 四川 南充 营山县 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
论坛跳转: