这个问题可能是有史以来最愚蠢的问题,因为我可能忽略了显而易见的东西。无论如何,问题来了:你能在批处理脚本中评估表达式吗?例如,我想将两个数字相加并打印结果:
echo 4+2
这只会打印“4+2”,而不是“6”。也许我在 Windows 上使用批处理脚本有点过头了……
谢谢!
答案1
这边走:
Set /a 4+2
或者将其存储在变量中以供以后使用:
Set /a foo = 4+2
echo %foo%
回答你最后一句,很有可能你对批处理的推动超出了预期。你的机器上有 Windows Script host,允许 VBScript 或 JScript。另外,如果你无论如何都要学习新东西,我强烈建议你改用 Powershell。
答案2
set Result=0
echo start %Result%
echo Adding 4 and 2
set /a Result= 4+2
echo finish %result%
pause >nul
答案3
如果你安装了 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