中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 19:43
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何限定输入参数值的范围
可打印版本  735 / 2
第1楼 hgx126 发表于 2009-05-07 06:37
初级用户 发帖 80 积分 100
[求助]如何限定输入参数值的范围
我写一更改系统日期的批处理,如下:



我想将“da”这个输入参数的值确定在如下范围:
1、年份(即dy的值)限定在2008-2010年之间;
2、月份(即dm的值)限定在1-12之间;
3、日期(即dd的值)根据输入的月份确定。比如1,3,5,7,8,10,12月份的日期限定在1-31之间;4,6,9,11月份的日期限定在1-30之间;2月份根据是否是闰年,限定在1-29或1-28之间。

同时希望加入这样的提示:一旦输入的值不在以上范围,就提示输入的值错误,请重新输入。


请大家帮个忙!

[ Last edited by hgx126 on 2009-5-7 at 06:38 ]
第2楼 freeants001 发表于 2009-05-07 08:52
中级用户 发帖 244 积分 330 来自 湖北
  1. @echo off
  2. set year1=2008
  3. set year2=2010
  4. :input
  5. set /p da=请输入正确日期:
  6. echo.%da%|findstr /i "^$">nul||goto:input
  7. if %da:~0,4% GEQ %year1% if %da:~0,4% LEQ %year2% (
  8. (echo.|date %da:~0,4%-%da:~4,2%-%da:~6,2%)2>nul|findstr /i "^*$">nul||(
  9. echo.设置成功^_^!当前日期%date%&pause&exit /b))
  10. echo.设置失败-_-!当前日期%date%
  11. goto:input
第3楼 netbenton 发表于 2009-05-07 12:56
银牌会员 发帖 752 积分 1,916 来自 广西
此问题要考虑的东西太多,并且早已经有讨论过。

建议楼主在论坛搜索“日期”看看
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023