中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 09:47
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 怎么控制日期的输入
可打印版本  972 / 9
第1楼 provem 发表于 2009-02-14 16:33
初级用户 发帖 82 积分 92
怎么控制日期的输入


这上面的代码有问题,应该怎么完善
第2楼 HAT 发表于 2009-02-14 16:58
版主 发帖 5,017 积分 9,023
上面的代码有什么问题?
第3楼 provem 发表于 2009-02-14 17:04
初级用户 发帖 82 积分 92
输入08月和09月会出错

If帮助有:

如果您使用任何逻辑或取余操作符, 您需要将表达式字符串用
引号扩起来。在表达式中的任何非数字字符串键作为环境变量
名称,这些环境变量名称的值已在使用前转换成数字。如果指定
了一个环境变量名称,但未在当前环境中定义,那么值将被定为
零。这使您可以使用环境变量值做计算而不用键入那些 % 符号
来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的,
那么它显示该表达式的最后值。该分配的操作符在分配的操作符
左边需要一个环境变量名称。除十六进制有 0x 前缀, 八进制
有 0 前缀的,数字值为十进位数字。因此, 0x12 与 18 和 022
相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字,
因为 8 和 9 不是有效的八进制位数。

没看明白


月份输入08或09

if %month_set_daye% lss 1 echo.输入月份小于了1

判断08或09竟然是小于1

[ Last edited by provem on 2009-2-14 at 17:06 ]
第4楼 provem 发表于 2009-02-14 17:12
初级用户 发帖 82 积分 92
明白了输入 08 或09时 已经认为是8进制的数值了,所以当输入08或09时就会出错

那这个问题应该怎么避免呢
第5楼 HAT 发表于 2009-02-14 17:14
版主 发帖 5,017 积分 9,023
Re 3楼
第6楼 netbenton 发表于 2009-02-14 18:24
银牌会员 发帖 752 积分 1,916 来自 广西


[ Last edited by netbenton on 2009-4-9 at 11:33 ]
第7楼 provem 发表于 2009-02-14 19:11
初级用户 发帖 82 积分 92
我希望的还是要保留那个0,不知道还有其它办法没
第8楼 HAT 发表于 2009-02-14 21:42
版主 发帖 5,017 积分 9,023
Re 7楼

这样行么?
第9楼 provem 发表于 2009-02-20 14:48
初级用户 发帖 82 积分 92
还是不行,不过还是谢谢版主
第10楼 HAT 发表于 2009-02-20 15:22
版主 发帖 5,017 积分 9,023
Re 9楼

Microsoft Windows XP
(C) Copyright 1985-2001 Microsoft Corp.

C:\Test>test.bat
请输入月份:08
行。

C:\Test>test.bat
请输入月份:09
行。

C:\Test>test.bat
请输入月份:0
错误输入
不行?去电线杆上找老中医!
C:\Test>
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023