Powershell實用命令(2)
阿新 • • 發佈:2018-09-04
[] 哪些 stream 空白字符 lang mini sum fin his 我又來了,今天給大家分享的實用命令是Measure-Object,看這個命令的文字意思就知道是用於統計評估對象的了,那我們來說說他的具體用法
首先我們可以看下這個命令的語法,看看他能支持哪些參數
PS C:\Windows\system32> Get-Command measure-Object -Syntax Measure-Object [[-Property] <string[]>] [-InputObject <psobject>] [-Sum] [-Average] [-Maximum] [-Minimum] [<CommonParameters>] Measure-Object [[-Property] <string[]>] [-InputObject <psobject>] [-Line] [-Word] [-Character] [-IgnoreWhiteSpace] [<CommonParameters>]
從上面我們可以看到Measure-Object能夠支持求和,求平均值,取最大值,取最小值,統計行數,單詞數,字符數,IgnoreWhiteSpace參數是為了讓你在統計的時候忽略空白字符(空格,回車)的計數。
下面我們用代碼來分別檢驗一下這些功能
PS C:\Windows\system32> Get-Process | measure -Property vm -Maximum Count : 210 Average : Sum : Maximum : 2238980472832 Minimum : Property : VM PS C:\Windows\system32> Get-Process | measure -Property vm -Minimum Count : 210 Average : Sum : Maximum : Minimum : 4096 Property : VM PS C:\Windows\system32> Get-Process | measure -Property vm -Average Count : 214 Average : 1596722333006.95 Sum : Maximum : Minimum : Property : VM PS C:\Windows\system32> Get-Process | measure -Property vm -sum Count : 212 Average : Sum : 337291811336192 Maximum : Minimum : Property : VM PS C:\Windows\system32> Get-Content D:\File1.txt | measure -Line -Word -Character Lines Words Characters Property ----- ----- ---------- -------- 4 20 113 PS C:\Windows\system32> Get-Content D:\File1.txt | measure -Line -Word -Character -IgnoreWhiteSpace Lines Words Characters Property ----- ----- ---------- -------- 4 20 97 PS C:\Windows\system32> Get-Content D:\File1.txt Learning Powershell Technology I like Powershell Script Language Do you like it as me Fine , let‘s learn it togather
上面的代碼秀出了Measure-Object的功能,就問你,強不強大,厲不厲害,不需要一會調用max,一會調用min,直接一個命令搞定所有
再介紹另外一個比較實用的Measure命令,Measure-Command,這個命令經常用來檢測代碼的運行時間,通過這個時間,我們可以評估出哪種代碼更加優秀,所需時間更短,提升我們代碼的執行效率,降低運行代碼主機的性能損耗
$Script1={For($i=0;$i -le 100;$i++){Add-Content -Path D:\File1.txt -Value "I want add some word in this file"}} $Script2={$NW=New-Object System.IO.StreamWriter "d:\file1.txt"; For($i=0;$i -lt 100;$i++){$NW.WriteLine("I Write it again !")};$nw.Close()} PS C:\Windows\system32> Measure-Command -Expression $Script1 | select TotalMilliseconds TotalMilliseconds ----------------- 117.5692 PS C:\Windows\system32> Measure-Command -Expression $Script2 | select TotalMilliseconds TotalMilliseconds ----------------- 2.5188
通過Measure-Command 可以評估出同樣的結果,但是代碼不同,所花費時間是完全不一樣的,這樣能使我們明白自己的代碼是否優秀。
好了,今天就介紹到這,瓜子花生啤酒,客官來一份?
Powershell實用命令(2)