raoulsson Asked: 2009-08-29 07:27:39 +0800 CST2009-08-29 07:27:39 +0800 CST 2009-08-29 07:27:39 +0800 CST 在 Windows 批处理脚本中计算表达式 772 这个问题可能会成为有史以来最愚蠢的问题,因为我可能错过了显而易见的问题。无论如何,这里是:你能在批处理脚本中计算表达式吗?例如,我想添加两个数字并打印结果: echo 4+2 这只会打印“4+2”,而不是“6”。也许我在 Windows 上使用批处理脚本有点太过分了...... 谢谢! windows scripting batch 3 个回答 Voted Best Answer EBGreen 2009-08-29T07:32:00+08:002009-08-29T07:32:00+08:00 这边走: Set /a 4+2 或者将其存储在一个变量中以供以后使用: Set /a foo = 4+2 echo %foo% 为了回答您的最后一行,您很有可能将批处理推得比预期的要远一些。Windows 脚本宿主在您的机器上可用,并且允许使用 VBScript 或 JScript。另外,如果您无论如何要学习新东西,我强烈建议您改用 Powershell。 Izzy 2009-08-29T07:37:38+08:002009-08-29T07:37:38+08:00 set Result=0 echo start %Result% echo Adding 4 and 2 set /a Result= 4+2 echo finish %result% pause >nul mosh 2019-04-18T13:34:00+08:002019-04-18T13:34:00+08:00 如果您安装了 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
这边走:
或者将其存储在一个变量中以供以后使用:
为了回答您的最后一行,您很有可能将批处理推得比预期的要远一些。Windows 脚本宿主在您的机器上可用,并且允许使用 VBScript 或 JScript。另外,如果您无论如何要学习新东西,我强烈建议您改用 Powershell。
如果您安装了 bash/perl(例如 cygwin),只需调用它们来计算:
样本结果: