找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27903|回复: 4

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

[复制链接]
发表于 2018-5-10 14:55:07 | 显示全部楼层 |阅读模式
本帖最后由 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

是小数的话,在上面位置里输入小数,运行,结果就出来了
发表于 2018-5-10 16:43:25 | 显示全部楼层
  1. for /f %%a in ('mshta http://bathome.net/s/hta/index.html "Math.pow(4,3)"') do echo 结果为 %%a
复制代码

评分

参与人数 1技术 +1 收起 理由
m91opse + 1 还好,就是需要网络支持 10的-2次方.01怎么 ...

查看全部评分

发表于 2018-5-10 20:12:37 | 显示全部楼层
也可以这样
  1. powershell -c '{0}的{1}次方={2}' -f ($a=read-host 'a'),($n=read-host 'n'),[Math]::Pow($a,$n)
复制代码

评分

参与人数 1技术 +1 收起 理由
m91opse + 1 可惜 缺少了 set /p 的作用了

查看全部评分

 楼主| 发表于 2018-5-17 01:53: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
复制代码
这种批处理,进过测试,是需要网络支持的
 楼主| 发表于 2018-5-17 01:54:14 | 显示全部楼层
本帖最后由 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
复制代码
里面 加入了 数值 和 次方 便于明白啥概念。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 06:26 , Processed in 0.020009 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表