中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 04:18
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]set /a中的算式如何理解?
可打印版本  884 / 8
第1楼 mysuntjy 发表于 2008-12-20 14:13
新手上路 发帖 10 积分 13 来自 重庆市
[已结]set /a中的算式如何理解?
set /a minute1=1%NowTime:~3,2%-100中
NowTime 被赋值为当前时间.
%NowTime:~3,2%读取起始时间的分钟数,但早上时间显示如:3:01:05.95,小时时间只有一位数,十点钟后小时间才是两位数,都从第四位截取会不会有错?
1%NowTime:~3,2%-100这个算式怎么理解?


[ Last edited by HAT on 2008-12-20 at 22:19 ]
第2楼 linee 发表于 2008-12-20 16:38
初级用户 发帖 49 积分 94
据说这时的小时数还是2位,系统自动补了个空格。
1%NowTime:~3,2%-100是说截取的2位前面补个1变成3位再-100,作用是去0。
第3楼 mysuntjy 发表于 2008-12-20 17:14
新手上路 发帖 10 积分 13 来自 重庆市


谢谢指点!
但1%NowTime:~3,2%-100如何去0还不是很清楚。
比如:现在时间是3:01:05.95。
在截取分钟时间为01,前面加个1,分钟数变为101,再减去100,又变为01,好象没起什么作用样?
请再指教一下,谢谢!

第4楼 HAT 发表于 2008-12-20 17:38
版主 发帖 5,017 积分 9,023
Re 3楼
101减去100会变成01么?
你如何测试的?
第5楼 mysuntjy 发表于 2008-12-20 18:41
新手上路 发帖 10 积分 13 来自 重庆市
我测试了一下,对set /a minute1=1%NowTime:~3,2%-100的作用还是不理解。


[ Last edited by mysuntjy on 2008-12-20 at 18:53 ]
第6楼 HAT 发表于 2008-12-20 19:48
版主 发帖 5,017 积分 9,023
Re 5楼
把@echo off删除,看看执行过程就理解了。
第7楼 linee 发表于 2008-12-20 20:07
初级用户 发帖 49 积分 94
你可以自己设计个字符串来测试,比如:

这样。
第8楼 mysuntjy 发表于 2008-12-20 20:41
新手上路 发帖 10 积分 13 来自 重庆市
有点懂老,是去掉截取的分钟数的两个字符的前一个零。

谢谢,linee and HAT。确实很久都没搞得懂。
第9楼 yyyyyyyyy 发表于 2009-01-03 14:47
初级用户 发帖 85 积分 137
好像很复杂
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023