Board logo

标题: 为什么这样的代码结果不一样,请大侠指教! [打印本页]

作者: rexwang     时间: 2007-1-26 03:34    标题: 为什么这样的代码结果不一样,请大侠指教!

偶的代码:
@echo off
setlocal enabledelayedexpansion
set dy=%date:~0,4%
set dm=%date:~5,2%
set dd=%date:~8,2%
set var=%dy%-%dm%-%dd%
md c:\%var%
这段代码,偶在2000下的DOS环境中运行是可以的,最后能在C盘中建立一个属于当前日期的文件夹
为什么这段代码拿到XP下就不能建立一个如2007-01-01的文件夹,而是建立了2个文件夹,一个是00-0- ,还有一个是星期四。
偶愚钝啊,请各位大侠指教!!
作者: rexwang     时间: 2007-1-26 03:37
而且哦,偶调试的时候将SET DY=%DATE:~0,4%改成set dy=%date:1,7%貌似就可以单独的显示2007,但是位数怎么会这么乱呢,完全没有规律的啊!~~
作者: ccwan     时间: 2007-1-26 04:54
win2000和winxp的时间显示格式是不一样的。
作者: rexwang     时间: 2007-1-26 05:42
我也在考虑是不是2000和XP的时间显示格式不一样,但是,我在2000和XP的DOS环境下分别直接运行TIME/T为什么显示的都是一样的结果呢
作者: Climbing     时间: 2007-1-26 07:57
你在2000和xp下分别用echo %date%就可以看出有什么不同了。

可以通过修改注册表将日期显示格式设置为一致。

至于修改注册表的什么位置,很抱歉,时间太长忘记了。
作者: rexwang     时间: 2007-1-26 09:19
非常谢谢楼上的各位啊!!!
作者: zhclvip     时间: 2007-1-27 10:11    标题: 以不变应万变!

@echo off
setlocal enabledelayedexpansion
echo %date%
set var=%date:~0,-3%
md %var%
set var
pause>nul