中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 17:00
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么用DOS命令产生文件名  查看 1,388 回复 8
楼 主 怎么用DOS命令产生文件名  发表于 2005-10-08 10:06 ·  中国 广东 深圳 电信
新手上路
积分 11
发帖 2
注册 2005-10-08 10:05
20年会员
UID 43217
状态 离线
因工作关系,需要每天对一些数据进行备份,想写一个自动备份的BAT程序,用RAR对数据进行压缩,保存在备份区。在保存时想用日期做文件名,不知道用什么DOS命令才能提取日期作为文件名?
2 发表于 2005-10-08 20:08 ·  中国 广东 广州 海珠区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
在Win2000/XP/2003的CMD下,可以用%date:~0,-4%来产生日期的字符串。
如运行 echo %date:~0,-4% 就可以输出当前日期的字符串。

如果是在DOS或Win9x系统下就需要第三方工具了,如 LMOD。
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
3 发表于 2005-10-09 11:02 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 2,227
发帖 790
注册 2005-01-27 00:00
21年会员
UID 35703
性别 男
状态 离线
Originally posted by JonePeng at 2005-10-8 20:08:
如果是在DOS或Win9x系统下 ...

DOS或Win98下可以很简单地用以下命令:
echo. | date>>your.bat
echo. | time>>your.bat
my major is english----my love is dos----my teacher is the buddha----my friends--how about U
4 发表于 2005-10-09 19:50 ·  中国 广东 广州 海珠区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
对。但在DOS或Win98下的date命令还输出星期几,我的意思是如果只要日期的数字部分就要靠外部命令,Strings 和 LMOD可以做到。
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
5 发表于 2005-10-11 10:40 ·  中国 广东 深圳 电信
新手上路
积分 11
发帖 2
注册 2005-10-08 10:05
20年会员
UID 43217
状态 离线
谢谢楼上的,我已经找到了方法:
for /F "tokens=1-3 delims=/- " %%A in ('date/T') do set DATE=%%A%%B%%C
C:
cd C:\Program Files\WinRAR
rar u -ep1 -r -hp%DATE% f:\jackc\%DATE%.rar d:\work\*
6 发表于 2005-10-11 20:11 ·  中国 广东 广州 海珠区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
很好!很巧妙的用法。
刚刚作了调试,发觉第一行的百分号用多了,各个变量应该减少一个百分号:
for /F "tokens=1-3 delims=/- " %A in ('date/T') do set DATE=%A%B%C
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
7 发表于 2005-10-11 21:59 ·  中国 辽宁 锦州 中移铁通
荣誉版主
★★★
积分 1,338
发帖 356
注册 2005-07-15 12:09
21年会员
UID 40733
性别 男
状态 离线
Originally posted by JonePeng at 2005-10-11 20:11:
很好!很巧妙的用法。
刚刚作了调试,发觉第一行的百分号用多了,各个变量应该减少一个百分号:
for /F "tokens=1-3 delims=/- " %A in ('date/T') do ...


你是在命令行下敲入的,楼主的是批程序。
命令行下用一个 %,批处理下用两个 % 来表示循环变量。
8 如何得到星期几 发表于 2006-05-27 17:05 ·  中国 广东 中山 电信
新手上路
积分 8
发帖 2
注册 2006-05-27 17:03
20年会员
UID 56097
状态 离线
对。但在DOS或Win98下的date命令还输出星期几,我的意思是如果只要日期的数字部分就要靠外部命令,Strings 和 LMOD可以做到。



請問如何得到星期的部分????????
9 发表于 2006-06-11 17:23 ·  中国 云南 昆明 电信
初级用户
积分 48
发帖 18
注册 2006-06-10 14:24
20年会员
UID 56835
状态 离线
收到
谢谢
论坛跳转: