如题.比如我有个变量A,现在想检查A中是不是包含有BB.该如何写呢?自己试了好长时间都没成功
[ Last edited by yardian on 2006-10-19 at 10:02 ]
[ Last edited by yardian on 2006-10-19 at 10:02 ]
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
:: 用来检测输入中是否含有"yes"字符串
:: 区分大小写!
set /p ii=请输入字符串:
setlocal enabledelayedexpansion
set form=0
set ii=%ii%@
:go
if not "%ii:~0,1%"=="@" (
set /a num+=1
if /i "!ii:~0,1!"=="y" set /a aa=!num!+1
if "!num!"=="!aa!" if /i "!ii:~0,1!"=="e" set /a bb=!num!+1
if "!num!"=="!bb!" if /i "!ii:~0,1!"=="s" set form=1
set ii=%ii:~1%
goto go
)
if "%form%"=="1" (
echo 输入的字符串中包含"yes"
) else (
echo 不包含"yes"字符串.
)
pause
@echo off
set /p ii=请输入字符串:
setlocal enabledelayedexpansion
set form=0
set ii=%ii%@
:go
if not "%ii:~0,1%"=="@" (
if /i "!ii:~0,3!"=="yes" set form=1
set ii=%ii:~1%
goto go
)
cls
if "%form%"=="1" (
echo yes
) else (
echo no
)
pause
Originally posted by yardian at 2006-10-19 09:22:
晕,为什么标题怎么会有乱码啊,而且改不过来
因为标题超过了字数限制,把标题改短一点就可以了。
所以我觉得这个代码不够完美.感觉可能用errolevel实现可能好点.其实这个&&和||已经够完美了,用errolevel来判断反倒不可靠——并非所有的命令都有返回值,也并非所有大于1的返回值都代表同一个意思。
Originally posted by yardian at 2006-10-19 08:57:
查了一下命令手册:&&符号也是允许在一行中使用2个以上不同的命令,当第一个命令执行失败后后续的命令将不会再被执行
echo %a%|findstr /i " ...