中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 15:51
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何将2000年之后的年份自动改为2000年之前
可打印版本  750 / 2
第1楼 crazyforcrane 发表于 2008-11-28 09:57
初级用户 发帖 18 积分 32
如何将2000年之后的年份自动改为2000年之前
如果系统时间是2000年之后,自动修改时间为2000年之前,如果是2000年之前,跳过修改!只修改年份,月份和日期不变 !
我用这样的,是不是对的?
if " %date:~,4%" lss 2000 goto next

set /a year=%date:~,4%-10
echo %year%%date:~4,6%|date>nul

:next

exit

[ Last edited by crazyforcrane on 2008-11-28 at 10:13 ]
第2楼 HAT 发表于 2008-11-28 10:47
版主 发帖 5,017 积分 9,023
1. 用if比较两个变量的时候,要么都加双引号,要么都不加。
2. 在代码测试成功之前,别加>nul或者exit之类的,否则就是自己给自己找麻烦。
3. 尽快学会自己调试代码、查找bug:
把代码保存为test.bat
开始
运行
cmd
test.bat
分解结果、查找问题。
第3楼 sea1112 发表于 2008-11-28 10:58
初级用户 发帖 119 积分 131 来自 gz
Originally posted by crazyforcrane at 2008-11-28 09:57 AM:
如果系统时间是2000年之后,自动修改时间为2000年之前,如果是2000年之前,跳过修改!只修改年份,月份和日期不变 !
我用这样的,是不是对的?
...


2008-10=1998
2020-10=大于2000啊,要做返回再减到小于2000才行啊。

if "变量"=="变量" 命令
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023