Board logo

标题: 请教XP操作系统中批处理出现的问题 [打印本页]

作者: stormice     时间: 2007-10-15 11:29    标题: 请教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中这中问题的解决办法
作者: stormice     时间: 2007-10-15 11:58
大家帮帮忙,我不想换系统
作者: fastslz     时间: 2007-10-15 13:42
http://www.cn-dos.net/forum/view ... 4%E6%98%BE%E7%A4%BA
作者: fastslz     时间: 2007-10-15 14:04
无条件在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"
作者: stormice     时间: 2007-10-15 15:39
先谢谢楼上的,不过我在XP系统按照你说的修改完注册表后,使用
time /t 命令的时候,返回的值仍然是
08:26 类似这种格式的,怎么让他相2000系统一样,显示为8:26这种格式?
作者: fastslz     时间: 2007-10-15 17:06
echo %time:~1,-6%
作者: 不得不爱     时间: 2007-10-15 17:28
for /F "tokens=1 delims=:" %%i in ('time/t') do set TIMESTR=%%i
set /A TIMESTR=1%TIMESTR%-101
作者: stormice     时间: 2007-10-16 11:53    标题: 谢谢 不得不爱

问题已经解决,不过你的方法真淫荡
作者: 不得不爱     时间: 2007-10-16 13:18
真淫荡 ? 不会吧?  是那1句啊?
是你说错了吧