|
stableboy
初级用户
积分 30
发帖 11
注册 2006-10-11 来自 tre
状态 离线
|
『楼 主』:
[已解决]怎么去掉日期中的“/”啊?
在windows批处理文件中,我想创建一个以当天日期命名的文件,但是文件名里不能有“/”,所以想去掉当天日期中的“/”;
即 想把 “2006/10/10” 转换成 “20061010” 以生成 “20061010.txt”文件
我只知道 set d=%date% 可以获得当天日期,但怎么去掉“/”啊? 哪位大大知道啊?
[ Last edited by stableboy on 2006-10-11 at 06:08 ]
|
|
2006-10-11 04:07 |
|
|
NaturalJ0
银牌会员
积分 1181
发帖 533
注册 2006-8-14
状态 离线
|
|
2006-10-11 04:17 |
|
|
stableboy
初级用户
积分 30
发帖 11
注册 2006-10-11 来自 tre
状态 离线
|
『第
3 楼』:
还是不对啊,
%date:/=%
输出为 %date:%=% 啊~!
|
|
2006-10-11 04:32 |
|
|
vkill
金牌会员
积分 4103
发帖 1744
注册 2006-1-20 来自 甘肃.临泽
状态 离线
|
『第
4 楼』:
%date:~0,4%%date:~5,2%%date:~8,2%
|
|
2006-10-11 04:41 |
|
|
NaturalJ0
银牌会员
积分 1181
发帖 533
注册 2006-8-14
状态 离线
|
『第
5 楼』:
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>_
==================================================
这是我的运行情况啊
|
|
2006-10-11 04:50 |
|
|
stableboy
初级用户
积分 30
发帖 11
注册 2006-10-11 来自 tre
状态 离线
|
『第
6 楼』:
多谢多谢
谢谢两位大大,你们的方法都可以解决了。。。
这里的技术都好难啊,我看了几个帖子,都不懂。。。
要奋发图强,努力学好Dos批处理啦。~!。~!
今天新发现的这个论坛,好论坛啊,我以后就在这里学习了,
to NaturalJ0:
不好意思了,给上面加完分,在给大大加分时,发现每24小时只能加2分,所以只能等明天在给大大加分了啊~! :P
[ Last edited by stableboy on 2006-10-11 at 05:54 ]
|
发现这个论坛,我以后就在这里学习了~! |
|
2006-10-11 05:48 |
|
|
不得不爱
超级版主
我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
|
2006-10-11 05:52 |
|
|
ARCF
初级用户
积分 32
发帖 14
注册 2006-10-9
状态 离线
|
『第
8 楼』:
大虾们,能否说明下为什么呢?
:/这个有什么作用?
:~4,4这个又有什么作用?
|
|
2006-10-11 06:07 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
9 楼』:
Quote: | Originally posted by ARCF at 2006-10-11 06:07:
大虾们,能否说明下为什么呢?
:/这个有什么作用?
:~4,4这个又有什么作用? |
|
这里的":/"要结合“%date:/=%”来理解,作用是使"%date%"这个变量中的“/”字符都替换成“=”号后面的符号,而这里的"="后面没有任何字符,也就是替换成空的,实际上是去掉%date%这个变量值里面所有的"/"符号.
而这里的":~4,4"也要结合上面的"%date:~4,4%"来理解,也就是截取"%date%"变量中的第四个字符到第八个字符,也就是从第四位开始,往后数四个这四个字符啦..
建议把"set /?"帮助命令好好看一下....
|
|
2006-10-11 06:46 |
|
|
weilong888
银牌会员
积分 1270
发帖 548
注册 2004-5-31
状态 离线
|
『第
10 楼』:
还是%date:/=%这样的代码简洁实用。
|
|
2006-10-11 09:15 |
|
|
kcdsw
中级用户
积分 404
发帖 179
注册 2006-3-30
状态 离线
|
『第
11 楼』:
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 ]
|
|
2006-10-12 05:14 |
|
|
weilong888
银牌会员
积分 1270
发帖 548
注册 2004-5-31
状态 离线
|
『第
12 楼』:
kcdsw的代码,试了一下。 在xpsp2中,能正确创建当前时间的目录。
|
|
2006-10-12 05:47 |
|
|
3742668
荣誉版主
积分 2013
发帖 718
注册 2006-2-18
状态 离线
|
『第
13 楼』:
Quote: | 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%* 把*加到前面就是建立目录为当前星期。
讨论有点超出主题范围了。
|
|
2006-10-12 06:36 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
14 楼』:
Quote: | Originally posted by 3742668 at 2006-10-12 06:36:
利用系统特性:
md %date%* 把*加到前面就是建立目录为当前星期。
讨论有点超出主题范围了。 |
|
按照版主的方法试了一下,好像不行哦``
Quote: | C:\>md %date%*
文件名、目录名或卷标语法不正确。
处理: 星期三* 时出错。 |
|
|
|
2006-10-12 07:18 |
|
|
3742668
荣誉版主
积分 2013
发帖 718
注册 2006-2-18
状态 离线
|
『第
15 楼』:
Re lxmxn:
Well,你可以在后面加上 2>nul
不要被错误提示所蒙蔽了眼睛,关键在于当前目录下有没有新建的目录。
|
|
2006-10-12 07:27 |
|