![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-17 05:10 |
共 47,813 主题排行 / 349,903 发帖 / 今日 0 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » ((((((( 超 急 求 助 )))))) win2000server版无法实现 |
| 可打印版本 689 / 8 |
| 第1楼 影视狂奔 | 发表于 2005-03-04 00:00 |
| 初级用户 发帖 13 积分 138 | |
|
((((((( 超 急 求 助 )))))) win2000server版无法实现 关于批处理自动改名的问题?
win2000svser的dos状态下执行a.bat批命令文件自动将 "temp.txt" 原文件名改成 当前日期+temp.txt(即名为:"2005-03-04temp.txt" )的文件,注意当前日期为系统当天的自动日期,求教该a.bat的批命令如何编写,先谢谢各位大侠指点! 下面的语句在win2000可行,可惜在server下就不行了,因%date%返回是"星期五 2005-03-04",因有空格提示非法,呜....如何截取和解决,急急急..... echo ren test.txt %date%test.txt >temp.bat |
|
| 第2楼 chenhui530 | 发表于 2005-03-04 00:00 |
| 高级用户 发帖 273 积分 772 | |
|
for /f "tokens=1" %%a in ('date /t'
do ren temp.txt %%atemp.txt |
|
| 第3楼 影视狂奔 | 发表于 2005-03-04 00:00 |
| 初级用户 发帖 13 积分 138 | |
|
超级感激chenhui530同志,谢谢
|
|
| 第4楼 chenhui530 | 发表于 2005-03-04 00:00 |
| 高级用户 发帖 273 积分 772 | |
|
没事其实2k以上的系统的for命令很强大了
|
|
| 第5楼 Climbing | 发表于 2005-03-07 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
ren temp.txt %date%temp.txt这个命令好象就管用了,有必要用for吗?
|
|
| 第6楼 影视狂奔 | 发表于 2005-03-07 00:00 |
| 初级用户 发帖 13 积分 138 | |
以下是引用Climbing在2005-3-7 2:56:54的发言: 因在WIN2000SERVER无效,故需要用到FOR |
|
| 第7楼 JonePeng | 发表于 2005-03-07 00:00 |
| 金牌会员 发帖 1,883 积分 4,562 来自 广东广州 | |
|
Climbing大哥:ren temp.txt %date%temp.txt看起来好像没有语法错误,但在Win2000下%date%的值包含日期以及星期,而且日期和星期之间用空格隔开,于是命令就变成ren temp.txt 2005-03-07 星期一temp.txt,由于多了一个空格,所以提示语法不正确。正确的输入应该要将ren的第二个参数用双引号括起来,即ren temp.txt "%date%temp.txt"。可惜此命令的效果多出了“星期几”,不符合楼主的要求。本来我想到用Strings来解决。但是Win2000里Strings命令不能将输出的字符串存入变量中。chenhui的for命令用得真妙!强啊!!
|
|
| 第8楼 Climbing | 发表于 2005-03-09 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
我是用Windows 2003系统试验的%date%变量,我觉得2003下应该跟2000没有区别,没想到真的有区别(微软的系统总是这么不兼容)。我的2000下的%date%变量内容为:
C:\>echo %date% 星期三 2005-03-09针对这种情况,可以这样写:ren temp.txt %date:~-10%temp.txt如果星期在后面,可以写成:ren temp.txt %date:~0,10%temp.txt当然,chenhui的for命令确实用的很不错,也是值得推荐的。strings确实不能在NT环境下直接设置变量,不过可以用lmod来实现。 strings right %date%, 10 | lmod /L1 set thedate= > temp.bat call temp.bat del temp.bat或者不用strings,直接用lmod: date /t | lmod /L1 set thedate= > temp.bat chcp 936 call temp.bat del temp.bat |
|
| 第9楼 JonePeng | 发表于 2005-03-09 00:00 |
| 金牌会员 发帖 1,883 积分 4,562 来自 广东广州 | |
|
“%date:~0,10%”原来可以这样用!连Strings和Lmod也省了。哈哈,又学多一招。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |