Board logo

标题: [数值计算] 【分享】批处理调用powershell计算次方 支持小数正负次方计算 [打印本页]

作者: m91opse    时间: 2018-5-10 14:55     标题: 【分享】批处理调用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

是小数的话,在上面位置里输入小数,运行,结果就出来了
作者: CrLf    时间: 2018-5-10 16:43

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

作者: tigerpower    时间: 2018-5-10 20:12

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

作者: m91opse    时间: 2018-5-17 01:53

本帖最后由 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
复制代码
这种批处理,进过测试,是需要网络支持的
作者: m91opse    时间: 2018-5-17 01:54

本帖最后由 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
复制代码
里面 加入了 数值 和 次方 便于明白啥概念。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2