[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 【分享】批处理调用powershell计算次方 支持小数正负次方计算

本帖最后由 m91opse 于 2018-5-16 20:06 编辑

【分享】批处理调用powershell计算次方 支持小数正负次方计算 并输出结果到txt
  1. @echo off
  2. set /p a=a数值:
  3. set /p n=n次方:
  4. set/p=[math]::pow(%a%的,%n%次方) #math= <nul
  5. powershell [math]::pow(%a%,%n%) #math
  6. set/p=[math]::pow(%a%的,%n%次方) #math= <nul>>次方计算结果.txt
  7. powershell [math]::pow(%a%,%n%) #math>>次方计算结果.txt
  8. pause>nul
复制代码
  1. @echo off
  2. set /p a=a数值:
  3. set /p n=n次方:
  4. set/p=[math]::pow(%a%的,%n%次方) #math= <nul
  5. powershell [math]::pow(%a%,%n%) #math
  6. set/p=[math]::pow(%a%的,%n%次方) #math= <nul>>%a%的%n%次方.txt
  7. powershell [math]::pow(%a%,%n%) #math>>%a%的%n%次方.txt
  8. rem 当前目录建立文件夹
  9. md N次方计算结果
  10. rem 复制当前目录下的文件到当前某个文件夹下面
  11. move *.txt N次方计算结果\
  12. pause>nul
复制代码
这个是升级版的,可以自动创建文件夹,把计算N次方结果保存到并命名到文件夹里。
  1. @echo off
  2. :ccc
  3. set /p a=a数值:
  4. set /p n=n次方:
  5. set/p=[math]::pow(%a%的,%n%次方) #math= <nul
  6. powershell [math]::pow(%a%,%n%) #math
  7. set/p=[math]::pow(%a%的,%n%次方) #math= <nul>>%a%的%n%次方.txt
  8. powershell [math]::pow(%a%,%n%) #math>>%a%的%n%次方.txt
  9. rem 当前目录建立文件夹
  10. md N次方计算结果
  11. rem 复制当前目录下的文件到当前某个文件夹下面
  12. move *.txt N次方计算结果\
  13. goto ccc
  14. pause>nul
复制代码
在次升级版,加入了GOTO命令,跳转命令,可以重复连续计算N次方并保存到txt

上面批处理复制,保存到txt,后缀名改成bat,双击运行ok

用法:比如 4的3次方 和 10的-4次方
set /p a=a数值:输入4
set /p n=n次方:输入3
结果就出来了 64

set /p a=a数值:输入10
set /p n=n次方:输入-4
结果就出来了0.0001

是小数的话,在上面位置里输入小数,运行,结果就出来了

本帖最后由 m91opse 于 2018-5-17 01:57 编辑

这是3楼 大哥的批处理
  1. @echo off
  2. powershell -c '{0}的{1}次方={2}' -f ($a=read-host 'a数值'),($n=read-host 'n次方'),[Math]::Pow($a,$n)
  3. pause
复制代码
里面 加入了 数值 和 次方 便于明白啥概念。

TOP

本帖最后由 m91opse 于 2018-6-13 23:56 编辑

这是2楼 大哥的批处理
  1. @echo off
  2. set /p a=a数值:
  3. set /p n=n次方:
  4. for /f %%a in ('mshta http://bathome.net/s/hta/index.html "Math.pow(%a%,%n%)"') do echo 结果为 %%a
  5. pause
复制代码
这种批处理,进过测试,是需要网络支持的

TOP

也可以这样
  1. powershell -c '{0}的{1}次方={2}' -f ($a=read-host 'a'),($n=read-host 'n'),[Math]::Pow($a,$n)
复制代码
1

评分人数

    • m91opse: 可惜 缺少了 set /p 的作用了技术 + 1

TOP

  1. for /f %%a in ('mshta http://bathome.net/s/hta/index.html "Math.pow(4,3)"') do echo 结果为 %%a
复制代码
1

评分人数

    • m91opse: 还好,就是需要网络支持 10的-2次方.01怎么 ...技术 + 1

TOP

返回列表