Board logo

标题: 这一批处理错在那 [打印本页]

作者: joshualaw     时间: 2007-6-19 23:14    标题: 这一批处理错在那

For /F "tokens=1" %%a in ('date/t') do if not exist c:\%%a md C:\%%a

我想用上面这一语句在C:\创建以日期为主的文件夹,例如 2007-06-19 但它却创建以星期为主的文件夹,如 Tue ,请问它错在那
作者: lxmxn     时间: 2007-6-19 23:45
你的date命令的输出格式是什么样子的?

试试
For /F "tokens=2" %%a in ('date/t') do if not exist c:\%%a md C:\%%a

作者: zasxcdfv     时间: 2007-6-20 09:36
date 输出的格式有不同的。
你可以先echo %date%看一下具体格式再决定用哪个参数。
甚至年月日之间的分隔符也会对你的结果产生影响。比如: /这样的符号就无法md。
精通注册表的朋友可以看一下HKEY_CURRENT_USER/Control Panel/International 中
sShortDate就是date的格式。

[ Last edited by zasxcdfv on 2007-6-20 at 09:42 AM ]
作者: winghsu     时间: 2007-6-20 15:43
学了。
作者: plutozsm     时间: 2007-6-20 17:17
学习。
作者: joshualaw     时间: 2007-6-20 21:15


  Quote:
Originally posted by lxmxn at 2007-6-19 11:45 PM:
你的date命令的输出格式是什么样子的?

试试
For /F "tokens=2" %%a in ('date/t') do if not exist c:\%%a md C:\%%a

我的日期格式是:
C:\date/t
Wed 2007-06-20 (英文版WIN2K) 这个不行,我也在控制面版的区一设定里,设法改变日期格式,但还是不行哦

但在XP上,日期格式是如下,它可正常建立
c:\date/t
2007-06-20 Wed

请指点,谢
作者: lxmxn     时间: 2007-6-21 00:50
不行??

怪了。
作者: luowanli1984     时间: 2007-6-21 08:08
good 學習下
作者: joshualaw     时间: 2007-6-22 07:38


  Quote:
Originally posted by luowanli1984 at 2007-6-21 08:08 AM:
good 學習下

重新更改日期格式,它可以了,请告知这个2 是什么意思。谢谢版主

"tokens=2
作者: lxmxn     时间: 2007-6-22 16:35


  Quote:
Originally posted by joshualaw at 2007-6-22 07:38:


重新更改日期格式,它可以了,请告知这个2 是什么意思。谢谢版主

"tokens=2

表示以delims指定的字符为分隔符的第二列,这里没有指定delims选项,则采用默认模式,即用空格([space])和制表符([tab])为分隔符。

建议楼主多搜索一下论坛关于for命令使用的贴子。
作者: HAT     时间: 2007-6-22 16:54
try this one :)
@echo off
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f
set "Week=Mon Tue Wed Thu Fri Sat Sun 星期一 星期二 星期三 星期四 星期五 星期六 星期日"
set datestr=%date%
for %%n in (%Week%) do call set "datestr=%%datestr:%%n=%%"
md %datestr%

作者: bob1989     时间: 2007-6-22 19:23
对啊` ` 到注册表里查一下就出来了
作者: joshualaw     时间: 2007-6-22 20:00
Thanks "Ban Zhu" and "HAT", also could you give me some explanation of the following whose meaning is what

for %%n in (%Week%) do call set "datestr=%%datestr:%%n=%%"