|
zyz0304360
中级用户
稳
积分 257
发帖 123
注册 2008-1-5 来自 烟台
状态 离线
|
『楼 主』:
文件重命名时%time:~0,2%参数问题
文件在COPY过程中,借用了%time%进行重命名
例:
COPY aaa.dat %date:/=%%time:~0,2%%time:~3,2%aaa.dat
del aaa.dat
aaa.dat备份后,文件名会变成这样的格式200801101312aaa.dat
小时首位数字不是0时(10点~24点)能够正确执行COPY
但是如果小时首位数字是0(0~9),就不能正确执行了
例:
date: 2008/01/10
time: 9:05AM
aaa.dat备份后,文件名会变成这样的格式20080110 905aaa.dat
在文件名中,9的前面不是0,而是一个空格
请问这个问题怎样解决??
我想要的文件名是
200801100905aaa.dat
谢谢
|
路 是自己选的
学习 是为了具备解决问题的能力 |
|
2008-1-10 13:37 |
|
|
everdos
初级用户
积分 52
发帖 21
注册 2008-1-1
状态 离线
|
『第
2 楼』:
先将当前时间串存储到一个环境变量中,判断一下第一个字符,如果是空格,就替换为0,用处理过的字符串执行COPY
|
|
2008-1-10 20:54 |
|
|
zyz0304360
中级用户
稳
积分 257
发帖 123
注册 2008-1-5 来自 烟台
状态 离线
|
『第
3 楼』:
谢谢
|
路 是自己选的
学习 是为了具备解决问题的能力 |
|
2008-1-10 22:08 |
|
|
Climbing
铂金会员
网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第
4 楼』:
如果你不在乎文件中有一个空格,可以这样:
COPY aaa.dat “%date:/=%%time:~0,2%%time:~3,2%aaa.dat”
或者就是事先判断%time:~0,1%是不是空格,如果是,可以用0%time:~1,1%代替。
|
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2008-1-11 10:58 |
|
|
zyz0304360
中级用户
稳
积分 257
发帖 123
注册 2008-1-5 来自 烟台
状态 离线
|
『第
5 楼』:
COPY的目标文件名中是不允许有空格的
否则会报错
|
路 是自己选的
学习 是为了具备解决问题的能力 |
|
2008-1-11 12:07 |
|
|
Climbing
铂金会员
网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第
6 楼』:
当然可以有空格,加上双引号就可以了。例如:
D:\work\dos>copy a.txt "a b c.txt"
已复制 1 个文件。
|
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2008-1-11 13:07 |
|
|
zyz0304360
中级用户
稳
积分 257
发帖 123
注册 2008-1-5 来自 烟台
状态 离线
|
『第
7 楼』:
哦,学习了
谢谢
|
路 是自己选的
学习 是为了具备解决问题的能力 |
|
2008-1-11 22:22 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第
8 楼』:
楼主,同一话题发2贴,2楼发贴时这帖子早结了,却没注明,也太不应该。。。
|
第一高手 第二高手
我的小站
|
|
2008-1-12 01:09 |
|
|
zyz0304360
中级用户
稳
积分 257
发帖 123
注册 2008-1-5 来自 烟台
状态 离线
|
『第
9 楼』:
一起研究一下,共同学习嘛
难道你认为问题的解决方法只有一种吗?
还是说只要有了一种方法就不再继续学习了呢?
|
路 是自己选的
学习 是为了具备解决问题的能力 |
|
2008-1-12 09:11 |
|
|
zyz0304360
中级用户
稳
积分 257
发帖 123
注册 2008-1-5 来自 烟台
状态 离线
|
『第
10 楼』:
现在把“批处理室”的同贴解决方法补上:
set newtime=%date:/=%%time:~0,2%%time:~3,2%
echo %newtime: =0%
感谢解答者: DOS一根葱
发帖时有什么不妥的地方敬请原谅
谢谢大家的帮助
如有其他方法
请发上来
共同学习
|
路 是自己选的
学习 是为了具备解决问题的能力 |
|
2008-1-12 09:17 |
|
|
zyz0304360
中级用户
稳
积分 257
发帖 123
注册 2008-1-5 来自 烟台
状态 离线
|
『第
11 楼』:
方法1:
set newtime=%date:/=%%time:~0,2%%time:~3,2%
echo %newtime: =0%
感谢解答者: DOS一根葱
方法2:
COPY aaa.dat “%date:/=%%time:~0,2%%time:~3,2%aaa.dat”
感谢解答者:网络独行侠
本人初学DOS
衷心感谢大家的热心帮助
|
路 是自己选的
学习 是为了具备解决问题的能力 |
|
2008-1-12 09:22 |
|
|
zyz0304360
中级用户
稳
积分 257
发帖 123
注册 2008-1-5 来自 烟台
状态 离线
|
|
2008-1-12 15:35 |
|