中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 19:04
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]怎么去掉日期中的“/”啊?
楼 主 [已解决]怎么去掉日期中的“/”啊? 发表于 2006-10-11 04:07 ·  中国 辽宁 大连 联通
初级用户
积分 30
发帖 11
注册 2006-10-11 02:52
UID 65248
性别 男
来自 tre
状态 离线
在windows批处理文件中,我想创建一个以当天日期命名的文件,但是文件名里不能有“/”,所以想去掉当天日期中的“/”;
即 想把 “2006/10/10” 转换成 “20061010” 以生成 “20061010.txt”文件
我只知道 set d=%date% 可以获得当天日期,但怎么去掉“/”啊? 哪位大大知道啊?

[ Last edited by stableboy on 2006-10-11 at 06:08 ]
2 发表于 2006-10-11 04:17 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
UID 60484
状态 离线
%date:/=%
3 发表于 2006-10-11 04:32 ·  中国 辽宁 大连 联通
初级用户
积分 30
发帖 11
注册 2006-10-11 02:52
UID 65248
性别 男
来自 tre
状态 离线
还是不对啊,
%date:/=%
输出为 %date:%=% 啊~!
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
linjianhzcy +1 2008-09-14 16:22
4 发表于 2006-10-11 04:41 ·  中国 甘肃 兰州 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
%date:~0,4%%date:~5,2%%date:~8,2%
5 发表于 2006-10-11 04:50 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
UID 60484
状态 离线
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\J>set a=2006/10/15

C:\Documents and Settings\J>echo %a:/=%
20061015

C:\Documents and Settings\J>_

==================================================

这是我的运行情况啊
6 多谢多谢 发表于 2006-10-11 05:48 ·  中国 辽宁 大连 联通
初级用户
积分 30
发帖 11
注册 2006-10-11 02:52
UID 65248
性别 男
来自 tre
状态 离线
谢谢两位大大,你们的方法都可以解决了。。。
这里的技术都好难啊,我看了几个帖子,都不懂。。。
要奋发图强,努力学好Dos批处理啦。~!。~!

今天新发现的这个论坛,好论坛啊,我以后就在这里学习了,


to NaturalJ0:
不好意思了,给上面加完分,在给大大加分时,发现每24小时只能加2分,所以只能等明天在给大大加分了啊~! :P

[ Last edited by stableboy on 2006-10-11 at 05:54 ]
发现这个论坛,我以后就在这里学习了~!
7 发表于 2006-10-11 05:52 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
UID 42843
性别 男
来自 四川南充
状态 离线
8 发表于 2006-10-11 06:07 ·  中国 云南 昆明 电信
初级用户
积分 32
发帖 14
注册 2006-10-09 07:50
UID 65045
状态 离线
大虾们,能否说明下为什么呢?
:/这个有什么作用?
:~4,4这个又有什么作用?
9 发表于 2006-10-11 06:46 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
Originally posted by ARCF at 2006-10-11 06:07:
大虾们,能否说明下为什么呢?
:/这个有什么作用?
:~4,4这个又有什么作用?


这里的":/"要结合“%date:/=%”来理解,作用是使"%date%"这个变量中的“/”字符都替换成“=”号后面的符号,而这里的"="后面没有任何字符,也就是替换成空的,实际上是去掉%date%这个变量值里面所有的"/"符号.

而这里的":~4,4"也要结合上面的"%date:~4,4%"来理解,也就是截取"%date%"变量中的第四个字符到第八个字符,也就是从第四位开始,往后数四个这四个字符啦..

建议把"set /?"帮助命令好好看一下....
10 发表于 2006-10-11 09:15 ·  中国 浙江 衢州 电信
银牌会员
★★★
积分 1,270
发帖 548
注册 2004-05-31 00:00
UID 25754
性别 男
状态 离线
还是%date:/=%这样的代码简洁实用。
11 发表于 2006-10-12 05:14 ·  中国 北京 鹏博士BGP
中级用户
★★
积分 404
发帖 179
注册 2006-03-30 14:44
UID 53056
状态 离线

For /F "tokens=1" %%a in ('date/t') do md %%a


机器的时间设置可能各不相同

用for 分析date/t 的输出 然后将日期传递给md 这样比较好 我用了7个月了
我综合利用了一下系统的一些特性
写了个动态目录

[ Last edited by kcdsw on 2006-10-12 at 05:16 ]
12 发表于 2006-10-12 05:47 ·  中国 浙江 衢州 电信
银牌会员
★★★
积分 1,270
发帖 548
注册 2004-05-31 00:00
UID 25754
性别 男
状态 离线
kcdsw的代码,试了一下。 在xpsp2中,能正确创建当前时间的目录。
13 发表于 2006-10-12 06:36 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
UID 50550
状态 离线
Originally posted by kcdsw at 2006-10-12 05:14:

For /F "tokens=1" %%a in ('date/t') do md %%a


机器的时间设置可能各不相同

用for 分析date/t 的输出 然后将日期传递给md 这样比较好 戠...

利用系统特性:
md %date%*

把*加到前面就是建立目录为当前星期。

讨论有点超出主题范围了。
14 发表于 2006-10-12 07:18 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
Originally posted by 3742668 at 2006-10-12 06:36:

利用系统特性:
md %date%*

把*加到前面就是建立目录为当前星期。

讨论有点超出主题范围了。


按照版主的方法试了一下,好像不行哦``


C:\>md %date%*
文件名、目录名或卷标语法不正确。
处理: 星期三* 时出错。

15 发表于 2006-10-12 07:27 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
UID 50550
状态 离线
Re lxmxn:
Well,你可以在后面加上 2>nul
不要被错误提示所蒙蔽了眼睛,关键在于当前目录下有没有新建的目录。
论坛跳转: