我试图将一些Bash代码转换为Windows批处理脚本。我在Bash脚本中的一行是
if echo "$*" | egrep -q -- '-?|-h|--help'; then
基本上,它会搜索选项-?
,-h
或--help
的所有脚本参数。我想知道的是,我如何将其转换为在Windows上使用findstr
?以下是我到目前为止的情况:
set args=%*
echo %args:"=% | findstr %= What goes here? =% > NUL
if %ERRORLEVEL% == 0 (
)
任何帮助将不胜感激,谢谢! (我已尝试运行findstr /?
,但它似乎没有提及有关匹配多个字符串的任何内容。)
答案 0 :(得分:2)
这样做的一种方法:
findstr /c:"-?" /c:"-h" /c:"--help"
答案 1 :(得分:1)
findstr /r /c:"\<-?\>" /c:"\<-h\>" /c:"\<--help\>"
\<
表示“单词的开头”,\>
“单词结尾”(以防止误报(例如-hello
,--huh
,...)< / p>
/r
使正则表达式能够使用\<
和\>