批处理文件:查找子字符串是否在字符串中(而不是在文件中)在批处理文件中,我有一个字符串。abcdefg..我想检查一下bcd在绳子里。不幸的是,我找到的所有解决方案档案对于子字符串,而不是用于子字符串的字符串。有什么简单的解决办法吗?
3 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
if not x%str1:bcd=%==x%str1% echo It contains bcd
%str1:bcd=%
bcd
str1
bcd
@setlocal enableextensions enabledelayedexpansion @echo off set str1=%1 if not x%str1:bcd=%==x%str1% echo It contains bcd endlocal
c:\testarea> testprog hello c:\testarea> testprog abcdef It contains bcd c:\testarea> testprog bcd It contains bcd
这个 if
语句是该解决方案的核心,其他一切都是支持性的。 这个 x
前面的两边相等是为了确保字符串 bcd
工作正常。它还可以防止某些“不适当”的起始字符。
皈依舞
TA贡献1851条经验 获得超3个赞
Echo.%1 | findstr /C:"%2">nul && ( REM TRUE ) || ( REM FALSE )
Echo.Hello world | findstr /C:"world">nul && ( Echo.TRUE ) || ( Echo.FALSE ) Echo.Hello world | findstr /C:"World">nul && (Echo.TRUE) || (Echo.FALSE)
TRUE FALSE
- 3 回答
- 0 关注
- 634 浏览
添加回答
举报
0/150
提交
取消