1

Я не могу разделить, используя оператор деления, указанный в команде SET.

SET /A 216/18

SET /A div = 216/18

ECHO% div%

Хотя это должно работать и работает в окне командной строки, но при использовании через пакетный скрипт выдает пустой вывод.

лайк

ЭХО включено.

В чем дело?

1 ответ1

0

Это может произойти, если ваши extenstions отключены. Вы можете проверить setlocal /? и cmd /? для получения дополнительной информации о extensions .

Но set /? определяет:

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]

Так что без extensions /A не работает.

Вы можете добавить setlocal -line в начало вашего пакетного файла:

setlocal enableextensions enabledelayedexpansion
SET /A 216/18
SET /A div=216/18
ECHO %div%

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .