中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 这一批处理错在那 上一主题 | 下一主题
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『楼 主』:  这一批处理错在那

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

我想用上面这一语句在C:\创建以日期为主的文件夹,例如 2007-06-19 但它却创建以星期为主的文件夹,如 Tue ,请问它错在那

2007-6-19 23:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

你的date命令的输出格式是什么样子的?

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


2007-6-19 23:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zasxcdfv
初级用户





积分 152
发帖 75
注册 2007-2-6
状态 离线
『第 3 楼』:  

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

[ Last edited by zasxcdfv on 2007-6-20 at 09:42 AM ]

2007-6-20 09:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
winghsu
新手上路





积分 9
发帖 5
注册 2007-6-18
状态 离线
『第 4 楼』:  

学了。

2007-6-20 15:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
plutozsm
新手上路





积分 4
发帖 1
注册 2007-6-20
状态 离线
『第 5 楼』:  

学习。

2007-6-20 17:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 6 楼』:  



  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

请指点,谢

2007-6-20 21:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 7 楼』:  

不行??

怪了。

2007-6-21 00:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
luowanli1984
初级用户

高級總監


积分 65
发帖 27
注册 2007-6-20
来自 china
状态 离线
『第 8 楼』:  

good 學習下



走過路過,千萬別錯過。
2007-6-21 08:08
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (153920610)  编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 9 楼』:  



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

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

"tokens=2

2007-6-22 07:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 10 楼』:  



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


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

"tokens=2

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

建议楼主多搜索一下论坛关于for命令使用的贴子。

2007-6-22 16:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 11 楼』:  

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%


2007-6-22 16:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bob1989
中级用户





积分 322
发帖 144
注册 2007-1-10
状态 离线
『第 12 楼』:  

对啊` ` 到注册表里查一下就出来了

2007-6-22 19:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 13 楼』:  

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=%%"

2007-6-22 20:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: