BATCH SET incapaz de usar o operador de divisão

1

Não consigo dividir usando o operador de divisão fornecido no comando SET.

SET /A 216/18

SET /A div=216/18

ECHO %div%

Embora isso deva funcionar e funcione na janela do prompt de comando, mas quando usado por meio de um script em lote, ele fornece uma saída em branco.

como

ECHO is on.

O que há de errado?

    
por Gen1n 09.10.2013 / 02:00

1 resposta

0

Isso pode acontecer se seu extenstions estiver desativado. Você pode verificar setlocal /? e cmd /? para obter mais informações sobre extensions .

Mas o set /? especifica:

If Command Extensions are enabled SET changes as follows:  
...
Two new switches have been added to the SET command:  
  SET /A expression  
  SET /P variable=[promptString]

Portanto, sem extensions , o /A não funciona.

Você pode adicionar a setlocal -line ao topo do seu batchfile:

setlocal enableextensions enabledelayedexpansion
SET /A 216/18
SET /A div=216/18
ECHO %div%
    
por 09.10.2013 / 10:18