关于bat赋值

来源:百度知道 编辑:UC知道 时间:2024/05/26 03:14:12
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
echo %date% %time%
echo. %date% %tm1%点%TM2%分%TM3%秒

如上,上面赋值中的 ~0,2 ~3,2 ~6,2 是什么意思

比如执行echo %time% 得到的显示时间为 18:57:44.10 即18点57分44秒10毫秒;
%time:~0,2% 是提取%time%中的前两个字符,即小时值;
%time:~3,2% 是从%time%中的第三个字符后开始提取两个字符,即分钟值;
%time:~6,2% 是从%time%中的第六个字符后开始提取两个字符,即秒数值;

字符提取问题可以查看set/?命令;

举个例子吧!
set str=MyNameIsLuHongLein
echo %str:~2,4% //提取str中第二个字符后的四个字符,即显示 Name
echo %str:~-10% //显示str中最后十个字符,即 LuHongLein
echo %str:~2,-10% //从第二个字符后开始提取,但去除最后的十个字符,将显示 NameIs