中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-26 23:43
中国DOS联盟论坛 » 其它操作系统综合讨论区 » %time:~0,2% %%内的啥意思[已解决] 查看 1,041 回复 6
楼 主 %time:~0,2% %%内的啥意思[已解决] 发表于 2007-03-16 10:01 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 2,000
发帖 621
注册 2007-01-01 00:00
19年会员
UID 75212
性别 男
状态 离线
同题

[ Last edited by bjsh on 2007-3-16 at 10:47 AM ]
2 发表于 2007-03-16 10:10 ·  中国 江苏 连云港 联通
高级用户
★★★
前进者
积分 641
发帖 303
注册 2007-01-10 02:57
19年会员
UID 76009
性别 男
状态 离线
哦,这个源于时间的格式问题,最后两个字符为毫秒,一般人用不着这样,用几点几分几秒的格式比较多一点,所以这样用就是为了去掉最后三个字符,前面的0表示偏移量是0也就是取第一个字符,从第一个字符开始,-3表示去掉后三个字符。这里的之前的0也可以省略。意思我明白,不知道我有没有说错,但愿不要误人子弟。不知道我说了这么多你有没有明白,论坛有这样的贴子,可以搜索一下,lxmxn兄也写过这样的贴子,还有批处理解释这样的用法。有空一定要好好看看。

[ Last edited by oilio on 2007-3-15 at 09:11 PM ]
我相信总有一天,总会遇到一个人可以相濡以沫、相吻以湿!
3 发表于 2007-03-16 11:52 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
从set /?中提取的有关帮助:

%PATH:~10,5%

会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏
移量 10)字符开始的五个字符。如果没有指定长度,则采用默认
值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,
使用的数字则是环境变量数值长度加上指定的偏移量或长度。

%PATH:~-10%

会提取 PATH 变量的最后十个字符。

%PATH:~0,-2%

会提取 PATH 变量的所有字符,除了最后两个。


示例:

d:\>echo %time%
22:41:02.15

d:\>echo %time:~-3%
.77

d:\>echo %time:~0,-3%
22:41:19

d:\>echo %time:~,-3%
22:41:26

d:\>echo %time:~0,2%
22

d:\>set a=12345678

d:\>echo %a:~-5,-1%
4567

d:\>echo %a:~-5,-2%
456

d:\>echo %a:~-5,-5%
ECHO 处于打开状态。

d:\>echo %a:~-5,-6%
ECHO 处于打开状态。

d:\>echo %a:~-5,-4%
4
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
4 发表于 2007-03-16 21:54 ·  中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000
发帖 621
注册 2007-01-01 00:00
19年会员
UID 75212
性别 男
状态 离线
谢谢ls的二位;

本来也是觉得和set有关系;

看了半天的xp自带的.htm的set帮助都没有提到这个;

原来命令提示符下的帮助和那里面的不一样啊!!
5 发表于 2007-03-16 22:10 ·  中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000
发帖 621
注册 2007-01-01 00:00
19年会员
UID 75212
性别 男
状态 离线

d:\>echo %a:~-5,-5%
ECHO 处于打开状态。


但是

c:\>echo %a:~1,1%
8
6 发表于 2007-03-16 22:20 ·  中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000
发帖 621
注册 2007-01-01 00:00
19年会员
UID 75212
性别 男
状态 离线
理解了!!

[ Last edited by bjsh on 2007-3-16 at 10:05 AM ]
7 发表于 2007-03-16 22:59 ·  中国 江苏 连云港 电信
高级用户
★★★
前进者
积分 641
发帖 303
注册 2007-01-10 02:57
19年会员
UID 76009
性别 男
状态 离线
C:\>for /r c:\ %a in (*.flag) do set t=%~ta && echo %t:~5,7%

C:\>set t=2007-03-16 09:28 && echo %t:~5,7%
%t:~5,7%

C:\>for /r c:\ %a in (*.flag) do @set t=%~ta && @echo !t:~5,7!
!t:~5,7!
%呢?少一个,而且之前没有开启变量延迟,用!!不起作用啊。

[ Last edited by oilio on 2007-3-16 at 10:01 AM ]
我相信总有一天,总会遇到一个人可以相濡以沫、相吻以湿!
论坛跳转: