Windows Powershell 进行数学运算

所属分类: 脚本专栏 / PowerShell 阅读数: 2007
收藏 0 赞 0 分享

PowerShell支持如下算术运算符:

运算符
描述
例子
结果
+
把两个数值相加
6+2 
8
-
把两个数值相减
6-2 
4
-
将数值转换为对应的负值
-2+6
4
*
把两个数值相乘 
6*2
12
/
把两个数值相除
6/2 
3
%
返回除法运算的余数
6%4 
2

运算符优先级

有一些因素决定了包含算术运算符的表达式如何被处理. 这些因素包括了: 运算符种类, 运算符的顺序, 是否有表达被括号括起来. 例如, 10+4/2返回结果12, 然而(10+4)/2返回结果却是7. 第一个例子中, 首先处理4/2, 然后将它与10相加. 第二个例子中, 首先处理10+4, 然后将它处以2.

PowerShell根据如下优先规则对算术运算符进行计算:

1.       (处理负数r)
2.       *, /, %
3.       +, - (处理减法)

根据上述优先级关系, PowerShell从左向右处理表达式. 例如, 3+6/3*4返回结果11. 首先6除以3, 结果等于2. 使用2乘以 4, 结果为8. 将该结果和3相加, 得出最终结果11.

将你指定表达式用括号括起来, 可以改变运算符优先级. 被括号括起来的部分将会被首先求值, 然后对其他部分进行求值. 例如, (3+3)/(1+1)返回结果为3. 首先, 计算3+3, 然后计1+1. 第一部分结果为6, 然后除以第二部分的结果2, 最终结果为3.

算术运算符和变量

算术运算符经常和变量一起使用. 例如, 假设$intA变量赋值为6, 变量$intB赋值为4. 你可以使用+ 运算符对两个变量进行加法操作, 如下面命令所示: 

$intTotal = $intA + $intB

此例子中, 6和4进行相加. 结果为10, 将该结果赋值给变量$intTotal. 等号 (=)被用来向变量$intTotal赋值.

我们可以把powershell当成一个计算器。象键入命令行那样输入数学表达式,回车,powershell会自动计算并把结果输出。常用的加减乘除模(+,-,*,/,%)运算和小括号表达式都支持。

PS C:\pstest> 1+2+3
6
PS C:\pstest> 0xABCD
43981
PS C:\pstest> 3.14*10*10
314
PS C:\pstest> 1+3-(2.4-5)*(7.899-4.444)
12.983

PowerShell也能自动识别计算机容量单位,包括KB,MB,GB,TB,PB

PS C:\pstest> 1pb/1tb
1024
PS C:\pstest> 1tb/1gb
1024
PS C:\pstest> 1gb/1kb
1048576
PS C:\pstest> 1gb/20mb*10kb
524288

假如一个网站每个页面大小为80kb,统计显示每天的PV操作为800,1个月下来占用的带宽:

PS C:\pstest> 80kb*800*30/1gb
1.8310546875

假如一个网站的每天人均PV操作为5,页面大小为80Kb,主机提供商限制的总流量为10G,那平均每天的最大访客数

为:

PS C:pstest> 10GB/(80KB*5)/30
873.813333333333

更多精彩内容其他人还在看

PowerShell隐藏不显示窗口的多种方法

这篇文章主要介绍了PowerShell隐藏不显示窗口的多种方法,本文讲解了启动PowerShell时隐藏自己的窗口、在PowerShell启动其它进程时隐藏窗口、使用PowerShell隐藏其它进程的窗口三种方法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell启用winrm失败:拒绝访问 0x80070005 -2147024891

这篇文章主要介绍了PowerShell启用winrm失败:拒绝访问 0x80070005 -2147024891,本文给出了详细的排查步骤和解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell目录文件夹管理权限的继承和指定方法

这篇文章主要介绍了Powershell目录文件夹管理权限的继承和指定方法,本文给出了创建文件夹、获取当前权限、添加新的权限、添加管理员权限等,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell查看本机文件关联程序和默认打开程序的方法

这篇文章主要介绍了PowerShell查看本机文件关联程序和默认打开程序的方法,本文给出了查看方法,同时给出了一份读取结果,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell脚本反引号用法实例:随时随地给代码换行

这篇文章主要介绍了PowerShell脚本反引号用法实例:随时随地给代码换行,在遇到一些超长代码行时非常有用,一般编程代码一行的字符数不超过80个哦,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell 数组的多种录入方法

这篇文章主要介绍了PowerShell 数组的多种录入方法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell String对象方法小结

这篇文章主要介绍了PowerShell String对象方法,需要的朋友可以参考下
收藏 0 赞 0 分享

使用PowerShell获取当前主机内存使用量和总量的方法

这篇文章主要介绍了使用PowerShell获取当前主机内存使用量和总量的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell批量修改AD用户密码属性的代码

这篇文章主要介绍了PowerShell批量修改AD用户密码属性的代码,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell 自动备份oracle并上传到ftp

我这里有这样一个需求:有一个数据库,每天使用SQL Server Agent自动生成备份文件。然后,这个数据库非常重要,需要把每天的备份上传一个远程的FTP服务器上去。下面我们来看看如何使用Powershell来实现吧
收藏 0 赞 0 分享
查看更多