bat 批处理 变量处理

来源:百度知道 编辑:UC知道 时间:2024/07/04 09:54:31
变量里的内容我只要取前3位字符,怎么办?
比如变量a里的数值为12345
我只要123,怎么办?
不是了啦,还要把123给set到另外一个变量里面去啦

@echo off
set a=12345
set b=%a:~0,3%
echo 变量"b"等于:%b%
pause

@echo off
set aa=12345
echo %aa:~0,3%
pause

原创教程:
例子:
现在的时间是
15:28:15:15
echo %time:~2%
pause
将会显示:28:15:15
意思就是~N会去掉将要显示的字符串的前n位数。

例子:
echo %time:~1,3%
pause
上面的例子会显示5:2,这时因为~1去掉了小时的十位1,后面的3代表显示用~1处理后的剩下的前三位。
例子:
@echo off
set /a aa=1234567890
echo %aa:~1,3%
pause
上面的例子会显示234,这说明这种方法可以截取指定字符,可怜的是只对数字和标点有效,连字母都无效。
例子:
@echo off
set /a aa=1234567890
echo %aa:~-3%
pause
上面例子会显示890,意思就是他截取了数字的尾。

bat好像没这么高级吧。。