批处理脚本 - "如果声明"中的通配符

Man*_*nde 3 windows if-statement batch-file

我正在编写一个Batch脚本,其中我需要在if语句中使用通配符来将变量与字符串匹配.如果匹配,程序将更进一步.

if "!_var!"=="str*" (

-- SOME COMMANDS --

)
Run Code Online (Sandbox Code Playgroud)

这是我使用的语法,但我发现它根本没有用.

Ste*_*han 8

echo %var% |findstr /b "str" >nul && (
  echo yes
  some more commands
) || (
  echo no
  some more commands
)
Run Code Online (Sandbox Code Playgroud)

寻找(/b=在开头)str,(不写入屏幕>nul),如果找到(&&)做某事,如果找不到(||)做另一件事.

您还可以添加一个/i以使其不区分大小写.