中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 07:20
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助] 如何使"%~ZI"显示的结果以MB为单位 查看 825 回复 4
楼 主 [求助] 如何使"%~ZI"显示的结果以MB为单位 发表于 2008-01-19 19:18 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
如何使"%~ZI"显示的结果以MB为单位
2 发表于 2008-01-19 19:57 ·  中国 江西 南昌 电信
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
用set截取掉后6位后*1000/1048即得到对应MB值
3 发表于 2008-01-19 22:05 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
我现在的代码是这样的,怎么用 SET 截取呢,不知从何下手,能再说详细点吗? 谢谢
for /f "tokens=2 delims=+" %%i in (电影.txt) do for /f "delims=" %%a in ('dir/s/b "%%i.3GP"') do echo %%a %%~za MB>>a.txt
4 发表于 2008-01-20 00:42 ·  中国 江西 南昌 电信
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
在for里面用下面的代码,需要启用变量延迟
set size=%%~za
set /a size=!size:~0,-6! * 1000 / 1048
echo !size! MB
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
userwww +2 2008-01-21 21:43
5 发表于 2008-01-21 21:42 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
不熟变量设置,试了好多次才行,加一行就可以用了,谢谢你

setlocal EnableDelayedExpansion
set size=%%~za
set /a size=!size:~0,-6! * 1000 / 1048
echo %%~na !size! MB
论坛跳转: