中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 02:59
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教XP操作系统中批处理出现的问题
可打印版本  856 / 8
第1楼 stormice 发表于 2007-10-15 11:29
初级用户 发帖 7 积分 24
请教XP操作系统中批处理出现的问题
事情是这样的,我做了一个批处理程序,使用了命令
for /F "tokens=1 delims=:" %%i in ('time/t') do set TIMESTR=%%i
set /A TIMESTR=TIMESTR-1

来取得上一时区的时区变量,这个程序在win2000下使用正常,但在XP系统中
时区为小于10的时候,第一步取得的TIMESTR的变量为08、09这样格式的变量。
在第二步 set /A TIMESTR=TIMESTR-1 的时候,TIMESTR就变成了00 了。

请教XP中这中问题的解决办法
第2楼 stormice 发表于 2007-10-15 11:58
初级用户 发帖 7 积分 24
大家帮帮忙,我不想换系统
第3楼 fastslz 发表于 2007-10-15 13:42
铂金会员 发帖 2,315 积分 5,493 来自 上海
第4楼 fastslz 发表于 2007-10-15 14:04
铂金会员 发帖 2,315 积分 5,493 来自 上海
无条件在win2000上测试,自己对照修改,以下XP键值

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\International]
"iCountry"="86"
"iCurrDigits"="0"
"iCurrency"="0"
"iDate"="2"
"iDigits"="2"
"iLZero"="1"
"iMeasure"="0"
"iNegCurr"="1"
"iTime"="0"
"iTLZero"="1"
"Locale"="00000804"
"s1159"="上午"
"s2359"="下午"
"sCountry"="中国"
"sCurrency"="¥"
"sDate"="-"
"sDecimal"="."
"sLanguage"="CHS"
"sList"=","
"sLongDate"="yyyy'年'M'月'd'日'"
"sShortDate"="yyyy-M-d"
"sThousand"=","
"sTime"=":"
"sLongDate16"="dddd', 'MMMM' 'dd', 'yyyy"
"iTimePrefix"="1"
"iCentury"="0"
"iDayLZero"="1"
"iMonLZero"="1"
"iChinaYear"="0"
"iCalendar"="1"
"sTimeFormat"="H:mm:ss"
第5楼 stormice 发表于 2007-10-15 15:39
初级用户 发帖 7 积分 24
先谢谢楼上的,不过我在XP系统按照你说的修改完注册表后,使用
time /t 命令的时候,返回的值仍然是
08:26 类似这种格式的,怎么让他相2000系统一样,显示为8:26这种格式?
第6楼 fastslz 发表于 2007-10-15 17:06
铂金会员 发帖 2,315 积分 5,493 来自 上海
echo %time:~1,-6%
第7楼 不得不爱 发表于 2007-10-15 17:28
超级版主 发帖 2,044 积分 5,310 来自 四川南充
for /F "tokens=1 delims=:" %%i in ('time/t') do set TIMESTR=%%i
set /A TIMESTR=1%TIMESTR%-101
第8楼 stormice 发表于 2007-10-16 11:53
初级用户 发帖 7 积分 24
谢谢 不得不爱
问题已经解决,不过你的方法真淫荡
第9楼 不得不爱 发表于 2007-10-16 13:18
超级版主 发帖 2,044 积分 5,310 来自 四川南充
真淫荡 ? 不会吧? 是那1句啊?
是你说错了吧
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023