Этот вопрос может оказаться самым тупым, поскольку я, вероятно, упускаю из виду очевидное. В любом случае, вот оно: можете ли вы оценивать выражения в пакетном скрипте. Например, я хочу сложить два числа и распечатать результат:
echo 4+2
Это просто напечатает «4 + 2», а не «6». Возможно, я слишком далеко захожу в пакетном сценарии для Windows ...
Спасибо!
Сюда:
Set /a 4+2
Или сохранить его в переменной на потом:
Set /a foo = 4+2
echo %foo%
И, отвечая на вашу последнюю строчку, есть большая вероятность, что вы продвигаете партию немного дальше, чем предполагалось. Хост Windows Script доступен на вашем компьютере и позволяет использовать VBScript или JScript. Кроме того, если вы все равно собираетесь узнать что-то новое, я настоятельно рекомендую вместо этого использовать Powershell.
set Result=0
echo start %Result%
echo Adding 4 and 2
set /a Result= 4+2
echo finish %result%
pause >nul
Если у вас установлен bash / perl (например, cygwin), просто вызовите их, чтобы посчитать:
@for /f "delims=" %%a in ('perl -e "print(%*)"' ) do @set RESULT=%%a
@echo %RESULT%
@for /f "delims=" %%a in ('bash -c "echo $((%*))"' ) do @set RESULT=%%a
@echo %RESULT%
Результат образца:
c:\> script.cmd 2**10/3
341.333333333333
341