中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-15 12:48
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]怎么去掉日期中的“/”啊?
可打印版本  4,425 / 27
第1楼 stableboy 发表于 2006-10-11 04:07
初级用户 发帖 11 积分 30 来自 tre
[已解决]怎么去掉日期中的“/”啊?
在windows批处理文件中,我想创建一个以当天日期命名的文件,但是文件名里不能有“/”,所以想去掉当天日期中的“/”;
即 想把 “2006/10/10” 转换成 “20061010” 以生成 “20061010.txt”文件
我只知道 set d=%date% 可以获得当天日期,但怎么去掉“/”啊? 哪位大大知道啊?

[ Last edited by stableboy on 2006-10-11 at 06:08 ]
第2楼 NaturalJ0 发表于 2006-10-11 04:17
银牌会员 发帖 533 积分 1,181
%date:/=%
第3楼 stableboy 发表于 2006-10-11 04:32
初级用户 发帖 11 积分 30 来自 tre
还是不对啊,
%date:/=%
输出为 %date:%=% 啊~!
第4楼 vkill 发表于 2006-10-11 04:41
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
%date:~0,4%%date:~5,2%%date:~8,2%
第5楼 NaturalJ0 发表于 2006-10-11 04:50
银牌会员 发帖 533 积分 1,181
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楼 stableboy 发表于 2006-10-11 05:48
初级用户 发帖 11 积分 30 来自 tre
多谢多谢
谢谢两位大大,你们的方法都可以解决了。。。
这里的技术都好难啊,我看了几个帖子,都不懂。。。
要奋发图强,努力学好Dos批处理啦。~!。~!

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


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

[ Last edited by stableboy on 2006-10-11 at 05:54 ]
第7楼 不得不爱 发表于 2006-10-11 05:52
超级版主 发帖 2,044 积分 5,310 来自 四川南充
在2000系统了是%date:~4,4%%date:~9,2%%date:~12,2%才正确
第8楼 ARCF 发表于 2006-10-11 06:07
初级用户 发帖 14 积分 32
大虾们,能否说明下为什么呢?
:/这个有什么作用?
:~4,4这个又有什么作用?
第9楼 lxmxn 发表于 2006-10-11 06:46
版主 发帖 4,938 积分 11,386
Originally posted by ARCF at 2006-10-11 06:07:
大虾们,能否说明下为什么呢?
:/这个有什么作用?
:~4,4这个又有什么作用?


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

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

建议把"set /?"帮助命令好好看一下....
第10楼 weilong888 发表于 2006-10-11 09:15
银牌会员 发帖 548 积分 1,270
还是%date:/=%这样的代码简洁实用。
第11楼 kcdsw 发表于 2006-10-12 05:14
中级用户 发帖 179 积分 404


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

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

[ Last edited by kcdsw on 2006-10-12 at 05:16 ]
第12楼 weilong888 发表于 2006-10-12 05:47
银牌会员 发帖 548 积分 1,270
kcdsw的代码,试了一下。 在xpsp2中,能正确创建当前时间的目录。
第13楼 3742668 发表于 2006-10-12 06:36
荣誉版主 发帖 718 积分 2,013
Originally posted by kcdsw at 2006-10-12 05:14:


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

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

利用系统特性:

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

讨论有点超出主题范围了。
第14楼 lxmxn 发表于 2006-10-12 07:18
版主 发帖 4,938 积分 11,386
Originally posted by 3742668 at 2006-10-12 06:36:

利用系统特性:

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

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


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


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

第15楼 3742668 发表于 2006-10-12 07:27
荣誉版主 发帖 718 积分 2,013
Re lxmxn:
Well,你可以在后面加上 2>nul
不要被错误提示所蒙蔽了眼睛,关键在于当前目录下有没有新建的目录。
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023