Como fazer vários cálculos com set / a em lote?


2

Por exemplo, se eu quiser fazer o seguinte cálculo, como fazê-lo funcionar?

set /A math=%%N+%code%+2*3/7

Sua pergunta não está clara. Edite para mostrar o código relevante completo que não está funcionando e que resultado você está procurando.
dbenham

Respostas:


1

Como fazer vários cálculos com set / a em lote?

,é usado para separar expressões. Um exemplo de seu uso seria:

set /a "_num=2,_result=_num*5"

Assim:

set /A math=%%N+%code%+2*3,4/7

é uma expressão inválida.


Leitura adicional


Tudo depende do contexto. set /A math=%%N+%code%+2*3,4/7pode ser uma sintaxe válida dentro de um loop FOR.
dbenham

@dbenham Oh. Você tem um exemplo?
DavidPostill

Dentro de um script em lote, suponha que o código seja definido como 4 e for %%N in (1) do (set /a math=%%N+%code%+2*3,4/7)"válido. A primeira expressão atribui 11 à matemática. A segunda expressão 4/7produz 0, mas é simplesmente descartada porque não está atribuída a uma variável. A instrução SET / A pode estar em sua própria linha, mas não posso mostrar isso em um comentário.
dbenham

@dbenham Obrigado, qual é a diferença "?
DavidPostill

por estupidez ;-) Eu pretendia fazer uma cotação antes da matemática, ou nenhuma cotação, mas funciona de qualquer maneira.
dbenham
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.