中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 15:13
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » (已结)ren a %date%.txt
可打印版本  1,852 / 8
第1楼 zxllxz 发表于 2005-10-12 13:49
新手上路 发帖 2 积分 4
(已结)ren a %date%.txt
需要对产生的文件a 进行改名ren a %date%.txt
不能实现,有什么语法错误,目的是对每天产生的a改名为当天时间命名的文本文件.

---------- Edited by willsort ----------
解决方案如下:

ren a "%date%.txt" ——2楼

此种方法产生的文件名会包含星期计数,想去掉它取决于你系统中%date%的日期格式,如果是类似 “2005-10-15 星期六”,可以使用

ren a "%date:~0,10%.txt" ——2楼

如果是类似 “Sat 2005-10-15” 的格式,则需要使用

ren a "%date:~-10%.txt"

如果是其它的日期格式还可能需要另作处理。

这仅仅是NT系列平台下的NTVDM环境(DOS窗口)中才能使用的方法,在MSDOS6.22/7.10/Win9x下需要使用另外的方案,请搜索本论坛。
---------- Edited by willsort ----------


[ Last edited by willsort on 2005-10-15 at 18:27 ]
第2楼 无奈何 发表于 2005-10-12 15:14
荣誉版主 发帖 356 积分 1,338
试试这样 ren a "%date%.txt"

事实上这样,并不一定获得如 “2005-10-12”这样得格式,这与日期格式跟区域设置有关。如果想获得如上所示的格式,请用下面的方法:

ren a "%date:~0,10%.txt"
第3楼 zxllxz 发表于 2005-10-12 15:54
新手上路 发帖 2 积分 4
正解!谢谢!
第4楼 不得不爱 发表于 2005-10-12 16:27
超级版主 发帖 2,044 积分 5,310 来自 四川南充
不知为什么要把%date%.txt用“”影起来才能正确?
第5楼 JonePeng 发表于 2005-10-12 16:41
金牌会员 发帖 1,883 积分 4,562 来自 广东广州
Originally posted by qwe1234567 at 2005-10-12 16:27:
不知为什么要把%date%.txt用“”影起来才能正确?


在CMD下,你试试运行 echo %date% 看看结果是什么?作为斑竹,你应该看得出来是什么原因的了,呵呵。
第6楼 willsort 发表于 2005-10-12 23:04
元老会员 发帖 1,512 积分 4,432
Re 无奈何:

%date:~0,10%v 仍然无法避免因为日期格式或者代码页不同所造成的不兼容状况。而且在XP的环境下,某些日期变量格式的变化出人意料。比如下面的命令行截取。其中的“星期三”在窗口字体为“点阵字体”时会显示为“???”,为 “Lucida Console” 时正常显示。


C:\Documents and Settings\wil>chcp 437
Active code page: 437

C:\Documents and Settings\wil>echo %date%
星期三 2005-10-12


Re qwe1234567 :

作为论坛版主,积极热情是第一要素,管理经验排是第二要素,技术水平只能是第三要素。qwe1234567 兄这几天来的发帖率已经充分证实了第一要素的具备,第二要素我们会拭目以待,第三要素则可能需要一段时间的培养和积累。

在此,我希望 qwe1234567 兄能继续保持这种对DOS和中国DOS联盟的热情,为我们论坛的持久发展做出贡献!
第7楼 无奈何 发表于 2005-10-13 00:23
荣誉版主 发帖 356 积分 1,338
to willsort
我试了一下当代码页: 为437时,不能显示中文,当字体设为“Lucida Console”汉字过长时也不能完整显示,选中汉字时还会出现选中半个汉字的时候。更改代码页后确实有问题。但我想不通使用中文 XP 处理中文文档更改其他代码页的必要性。
第8楼 willsort 发表于 2005-10-13 00:51
元老会员 发帖 1,512 积分 4,432
Re 无奈何:

在中文XP命令行环境中,仍然有许多使用437代码页的可能,比如运行16位DOS程序,代码页的自动切换;比如我现在的中文XP环境,使用运行CMD的方式进入命令行,便默认是437代码页,尽管这有些古怪。
第9楼 chenhui530 发表于 2005-10-13 11:27
高级用户 发帖 273 积分 772
在XP中使用
for /f "tokens=1,2,3 delims=- " %a in ('date /t') do ren a %a%b.txt
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023