Existe uma maneira mais compacta de usar o loop IF em um arquivo de lote?

1

A maneira clássica é

if "%name%"=="john" goto ok
if "%name%"=="eric" goto ok
if "%name%"=="mary" goto ok

Mas isso pode ser feito de maneira mais compacta?

    
por builder_247 01.01.2015 / 16:20

2 respostas

2

Que tal isso:

for %%f in (john eric mary) do if "%name%"=="%%f" goto ok
    
por 01.01.2015 / 17:20
1

Infelizmente, não há um operador OR, então o que você está fazendo geralmente é a maneira mais "compacta" em um lote MS.

Mais informações, incluindo algumas ideias alternativas (não mais "compactas"):

por 01.01.2015 / 16:30