中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-16 12:00
47,813 主题排行 / 349,903 发帖 / 今日 0 篇 / 48,258 会员排行
DOS疑难解答 & 问题讨论 (解答室) » 如何用日期做文件名
可打印版本  747 / 2
第1楼 cao2008 发表于 2004-03-03 00:00
初级用户 发帖 1 积分 103
如何用日期做文件名
我想用日期做文件名,比如:20040302.txt,如何实现?
第2楼 misc001 发表于 2004-03-18 00:00
初级用户 发帖 2 积分 110
以下是一个Windows 2000 (简体中文) CMD 下的例子

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

备注:变量%DATE%给出当前日期,:~9%表示从第9个字符开始取值,不同版本可能起示位置有差异。
第3楼 Climbing 发表于 2004-03-18 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
楼上的方法可能确实可行,但我试了一下,运行不太正常,文件名最后变成了"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
结果同上。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023