日期:2014-05-17  浏览次数:20783 次

菜鸟请教下批处理的问题
菜鸟请教下

假设判断字符串变量var是否包含字符串"sys"
if "%var:sys=%"=="%var%" (echo 不包含) else echo 包含

"%var:sys=%"=="%var%" 
这个是什么意思呀?
求解释!~

------解决方案--------------------
批处理命令:
实现的是字符串的替换+if语句的判断
@echo off
set a= bbs. verybat. cn
echo 替换前的值: "%a%"
set var=%a:verybat=csdn%
echo 替换后的值: "%var%"
pause

输出:
替换前的值: " bbs. verybat. cn
替换后的值: " bbs. csdn. cn"
请按任意键继续. . .

"%var:sys=%"=="% -》把var变量中的sys字符替换成空字符(即是删除字符串中的sys)
如果var不包含sys,那么var没有变 "%var:sys=%"=="%var%" 为真
如果var包含sys,那么var变话 "%var:sys=%"=="%var%" 为假