%time:~0,2% %%内的意思详解

(编辑:jimmy 日期: 2024/11/13 浏览:2)

哦,这个源于时间的格式问题,最后两个字符为毫秒,一般人用不着这样,用几点几分几秒的格式比较多一点,所以这样用就是为了去掉最后三个字符,前面的0表示偏移量是0也就是取第一个字符,从第一个字符开始,-3表示去掉后三个字符。这里的之前的0也可以省略。意思我明白,不知道我有没有说错,但愿不要误人子弟。不知道我说了这么多你有没有明白,论坛有这样的贴子,可以搜索一下,lxmxn兄也写过这样的贴子,还有批处理解释这样的用法。有空一定要好好看看。

从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%