我有一个我正在处理的脚本,我需要一些帮助。在这个脚本中,我想查看输入变量%1%
以查看它是否包含特定字符串。如果是的话,我想做一件事。如果没有,我希望它做其他事情。输入变量是一个UNC路径,我想检查它是否包含字符串\\server\share
,我不希望它区分大小写。有什么想法吗?
答案 0 :(得分:2)
输入变量为%1
或%~1
(使用波浪线删除周围的引号)。
有几种方法可以检查。您可以使用变量子串替换:
@echo off & setlocal
set "input=%~1"
if not "%input%"=="%input:specific string=%" (
rem // input contained the string
) else (
rem // input did not contain the string
)
有效的方式是%input:specific string=%
替换specific string
内所有%input%
的实例。因此,如果替换前的字符串在替换后不等于字符串,则该变量包含您匹配的内容。 See this page有关子字符串替换的完整详细信息。
或者您可以使用find
或findstr
。
@echo off & setlocal
echo(%1 | find /i "some string" && (
rem // input contained the string
) || (
rem // input did not contain the string
)
子串替换方法效率更高。