Классический способ это
if "%name%"=="john" goto ok
if "%name%"=="eric" goto ok
if "%name%"=="mary" goto ok
Но можно ли сделать это более компактным способом?
Классический способ это
if "%name%"=="john" goto ok
if "%name%"=="eric" goto ok
if "%name%"=="mary" goto ok
Но можно ли сделать это более компактным способом?
Как насчет этого:
for %%f in (john eric mary) do if "%name%"=="%%f" goto ok
К сожалению, оператора OR нет, поэтому то, что вы делаете, обычно является наиболее "компактным" способом в пакете MS.
Больше информации, включая некоторые альтернативные идеи (но не более компактные):