批处理中用set命令替换字符串%var:*"=set "var=%
前两天在论坛看见有讨论变量的这种用法,现在怎么找不到了? 郁闷!
才发现原来还有这种对引号的处理方法,比较罕见,也很实用. 我来讲解一下,
也是第一次使用,经测试得到如下结论.
:- @echo off
- set var=a"bs"c
- %var:*"=set "var=%
- echo %var%
- pause
复制代码
显示结果是 bs
如果var=a"bsc 则显示 bsc var:*"= 这一句想必大家都知道,
是去除变量第一个引号及它前面的所有内容. :*"=set "var=%
感觉稀奇的是这句,它的作用是去除最后一个引号及它后面所有的内容.
但是如果变量var中不存在引号,就会报错,所以在使用这种语句前,最好先作个判断.
[ 本帖最后由 随风 于 2008-4-4 22:06 编辑 ] |