中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-27 10:50
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 如何用日期做文件名 查看 697 回复 2
楼 主 如何用日期做文件名 发表于 2004-03-03 00:00 ·  中国 北京 联通
初级用户
积分 103
发帖 1
注册 2004-03-03 00:00
22年会员
UID 19042
性别 男
状态 离线
我想用日期做文件名,比如:20040302.txt,如何实现?
2 发表于 2004-03-18 00:00 ·  中国 广东 东莞 联通
初级用户
积分 110
发帖 2
注册 2004-03-18 00:00
22年会员
UID 20450
性别 男
状态 离线
以下是一个Windows 2000 (简体中文) CMD 下的例子

SET filename=%date%
SET filename=%filename:~9%.txt
ECHO Hello > %filename%

备注:变量%DATE%给出当前日期,:~9%表示从第9个字符开始取值,不同版本可能起示位置有差异。
3 发表于 2004-03-18 00:00 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
楼上的方法可能确实可行,但我试了一下,运行不太正常,文件名最后变成了"8.txt"。而且%date%隐藏环境变量恐怕只是在2000以后才有的,2000以前的系统恐怕不支持。

我自己的实际应用中,我使用Horst(也就是WBAT的作者)写的lmod命令。由于不同的系统日期显示方式和显示格式不同(跟区域设置中的日期格式设置也有关),我们先说2000/xp/2003系统下的写法(区域设置中的日期格式设置为yyyy-mm-dd,假设%temp%目录可写):
lmod >nul
date/t | lmod /S- set filename=.txt > %temp%\temp.bat
call %temp%\temp.bat
del %temp%\temp.bat
执行完成后,会将以日期为名的一个txt文件名保存到filename环境变量中。

再以纯DOS或者98的DOS为例(默认的日期格式为:MM-dd-yyyy):
date/t | lmod /S- set filename=.txt > %temp%\temp.bat
call %temp%\temp.bat
del %temp%\temp.bat
结果同上。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
论坛跳转: