%time:~0,2% %%内的意思详解
            脚本专栏 发布日期:2025/10/31 浏览次数:1
         
        
            正在浏览:%time:~0,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% 
4