版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Powershell 定義變量 Powershell, 程序設(shè)計(jì) 添加評(píng)論 十二 052011 變量可以臨時(shí)保存數(shù)據(jù),因此可以把數(shù)據(jù)保存在變量中,以便進(jìn)一步操作。幫助0102030405060708091011#定義變量 $a=10 $b=4 #計(jì)算變量 $result=$a*$b $msg="保存文本" #輸出變量 $result$msg40保存文本powershell 不需要顯示地去聲明,可以自動(dòng)創(chuàng)建變量,只須記住變量的前綴為$.創(chuàng)建好了變量后,可以通過(guò)變量名輸出變量,也可以把變量名存在字符串
2、中。但是有個(gè)例外單引號(hào)中的字符串不會(huì)識(shí)別和處理變量名。選擇變量名在powershell中變量名均是以美元符”$”開(kāi)始,剩余字符可以是數(shù)字、字母、下劃線的任意字符,并且powershell變量名大小寫(xiě)不敏感($a和$A 是同一個(gè)變量)。某些特殊的字符在powershell中有特殊的用途,一般不推薦使用這些字符作為變量名。當(dāng)然你硬要使用,請(qǐng)把整個(gè)變量名后綴用花括號(hào)括起來(lái)。PS C:> $"I"like $="mossfly"PS C:> $"I"like $mossfly賦值和返回值賦值操作符為“=”,幾乎可以把任何數(shù)據(jù)賦值給
3、一個(gè)變量,甚至一條cmdlet命令,為什么,因?yàn)镻owershell支持對(duì)象,對(duì)象可以包羅萬(wàn)象。PS C:> $item=Get-ChildItem .PS C:> $itemMode LastWriteTime Length Name- - - -d- 2011/11/23 17:25 ABC-a- 2011/11/24 18:30 67580 a.html-a- 2011/11/24 20:04 26384 a.txt-a- 2011/11/24 20:26 12060 alias-a- 2011/11/24 20:27 12060 alias.ps1-a- 2011/11/2
4、3 17:25 0 b.txt-a- 2011/11/23 17:25 0 c.txt-a- 2011/11/23 17:25 0 d.txt-a- 2011/11/25 11:20 556 employee.xml-a- 2011/11/24 17:37 7420 name.html-a- 2011/11/28 15:30 63 ping.bat-a- 2011/11/24 17:44 735892 Powershell_Cmdlets.html-a- 2011/11/28 17:03 60 test.ps1-a- 2011/11/23 17:37 242 test.txt-a- 2011/
5、11/28 16:42 170 test.vbsPS C:> $result=3000*(1/12+0.0075)PS C:> $result272.5給多個(gè)變量同時(shí)賦值賦值操作符不僅能給一個(gè)變量賦值,還可以同時(shí)給多個(gè)變量賦相同的值。PS C:> $a=$b=$c=123PS C:> $a123PS C:> $b123PS C:> $c123交換變量的值要交換兩個(gè)變量的值,傳統(tǒng)的程序語(yǔ)言至少需要三步,并且還需定義一個(gè)中間臨時(shí)變量。$Value1 = 10$Value2 = 20$Temp = $Value1$Value1 = $Value2$Value2 =
6、 $Temp在powershell中,交換兩個(gè)變量的值,這個(gè)功能變得非常簡(jiǎn)單。PS C:> $value1=10PS C:> $value2=20PS C:> $value1,$value2=$value2,$value1PS C:> $value120PS C:> $value210查看正在使用的變量Powershell將變量的相關(guān)信息的記錄存放在名為variable:的驅(qū)動(dòng)中。如果要查看所有定義的變量,可以直接遍歷variable:PS C:> ls variable:Name Value- -"I"like $ mossfly$ c
7、ls? True cls_1 1a 123args b 123c 123ConfirmPreference HighConsoleFileNameDebugPreference SilentlyContinue。查找變量因?yàn)橛刑摂M驅(qū)動(dòng)variable:的存在,可以象查找文件那樣使用通配符查找變量。例如要查詢(xún)以value打頭的變量名。PS C:> ls variable:value*Name Value- -value1 20value2 10驗(yàn)證變量是否存在驗(yàn)證一個(gè)變量是否存在,仍然可以象驗(yàn)證文件系統(tǒng)那樣,使用cmdlet Test-Path。為什么?因?yàn)樽兞看嬖谧兞框?qū)動(dòng)器中。PS C:
8、> Test-Path variable:value1TruePS C:> Test-Path variable:value2TruePS C:> Test-Path variable:valueUnkonwFalse刪除變量因?yàn)樽兞繒?huì)在powershell退出或關(guān)閉時(shí),自動(dòng)清除。一般沒(méi)必要?jiǎng)h除,但是你非得刪除,也可以象刪除文件那樣刪除它。PS C:> Test-Path variable:value1TruePS C:> del variable:value1PS C:> Test-Path variable:value1False使用專(zhuān)用的變量命令為了管
9、理變量,powershell提供了五個(gè)專(zhuān)門(mén)管理變量的命令Clear-Variable,Get-Variable,New-Variable,Remove-Variable,Set-Variable。因?yàn)樘摂M驅(qū)動(dòng)器variable:的存在,clear,remove,set打頭的命令可以被代替。但是Get-Variable,New-Variable。卻非常有用new-variable可以在定義變量時(shí),指定變量的一些其它屬性,比如訪問(wèn)權(quán)限。同樣Get-Variable也可以獲取這些附加信息。變量寫(xiě)保護(hù)可以使用New-Variable 的option選項(xiàng) 在創(chuàng)建變量時(shí),給變量加上只讀屬性,這樣就不能給變
10、量重新賦值了。PS C:> New-Variable num -Value 100 -Force -Option readonlyPS C:> $num=101Cannot overwrite variable num because it is read-only or constant.At line:1 char:5+ $num <<<< =101 + CategoryInfo : WriteError: (num:String) , SessionStateUnauthorizedAccessException + FullyQualifiedErr
11、orId : VariableNotWritable PS C:> del Variable:numRemove-Item : Cannot remove variable num because it is constant or read-only. If the variable is read-only,ration again specifying the Force option.At line:1 char:4+ del <<<< Variable:num + CategoryInfo : WriteError: (num:String) Remov
12、e-Item, SessionStateUnauthorizedAccessExcepti但是可以通過(guò)刪除變量,再重新創(chuàng)建變量更新變量?jī)?nèi)容。PS C:> del Variable:num -ForcePS C:> $num=101PS C:> $num101有沒(méi)有權(quán)限更高的變量,有,那就是:選項(xiàng)Constant,常量一旦聲明,不可修改PS C:> new-variable num -Value "strong" -Option constantPS C:> $num="why? can not delete it."Cann
13、ot overwrite variable num because it is read-only or constant.At line:1 char:5+ $num <<<< ="why? can not delete it." + CategoryInfo : WriteError: (num:String) , SessionStateUnauthorizedAccessException + FullyQualifiedErrorId : VariableNotWritable PS C:> del Variable:num -For
14、ceRemove-Item : Cannot remove variable num because it is constant or read-only. If the variable is read-only,ration again specifying the Force option.At line:1 char:4+ del <<<< Variable:num -Force + CategoryInfo : WriteError: (num:String) Remove-Item, SessionStateUnauthorizedAccessExcept
15、i變量描述在New-Variable 可以通過(guò)-description 添加變量描述,但是變量描述默認(rèn)不會(huì)顯示,可以通過(guò)Format-List 查看。PS C:> new-variable name -Value "me" -Description "This is my name"PS C:> ls Variable:name | fl *PSPath : Microsoft.PowerShell.CoreVariable:namePSDrive : VariablePSProvider : Microsoft.PowerShell.Cor
16、eVariablePSIsContainer : FalseName : nameDescription : This is my nameValue : meVisibility : PublicModule :ModuleName :Options : NoneAttributes : Powershell自動(dòng)化變量 Powershell, 程序設(shè)計(jì) 添加評(píng)論 十二 072011 Powershell 自動(dòng)化變量 是那些一旦打開(kāi)Powershell就會(huì)自動(dòng)加載的變量。這些變量一般存放的內(nèi)容包括用戶信息:例如用戶的根目錄$home配置信息:例如powersh
17、ell控制臺(tái)的大小,顏色,背景等。運(yùn)行時(shí)信息:例如一個(gè)函數(shù)由誰(shuí)調(diào)用,一個(gè)腳本運(yùn)行的目錄等。PS C:PowerShell> $HOMEC:UserstestPS C:PowerShell> $currentProcessID=$pidPS C:PowerShell> $currentProcessID5356PS C:PowerShell> Get-Process -Id $pidHandles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName- - - - - - - - 390 10 30604 33100 172 1.1
18、1 5356 powershellPS C:PowerShell> $PROFILEpowershell中的某些自動(dòng)化變量只能讀,不能寫(xiě)。例如:$Pid??梢酝ㄟ^(guò)Get-Help about_Automatic_variables查看Automatic_variables的幫助。TOPICabout_Automatic_Variables主題about_Automatic_Variables簡(jiǎn)短說(shuō)明說(shuō)明存儲(chǔ) Windows PowerShell 狀態(tài)信息的變量。這些變量由 Windows PowerShell 創(chuàng)建并維護(hù)。詳細(xì)說(shuō)明下面是 Windows PowerShell 中的自動(dòng)變量
19、的列表:$包含會(huì)話所收到的最后一行中的最后一個(gè)令牌。$?包含最后一個(gè)操作的執(zhí)行狀態(tài)。如果最后一個(gè)操作成功,則包含 TRUE,失敗則包含 FALSE。$包含會(huì)話所收到的最后一行中的第一個(gè)令牌。$_包含管道對(duì)象中的當(dāng)前對(duì)象。在對(duì)管道中的每個(gè)對(duì)象或所選對(duì)象執(zhí)行操作的命令中,可以使用此變量。$Args包含由未聲明參數(shù)和/或傳遞給函數(shù)、腳本或腳本塊的參數(shù)值組成的數(shù)組。在創(chuàng)建函數(shù)時(shí)可以聲明參數(shù),方法是使用 param 關(guān)鍵字或在函數(shù)名稱(chēng)后添加以圓括號(hào)括起、逗號(hào)分隔的參數(shù)列表。$ConsoleFileName包含在會(huì)話中最近使用的控制臺(tái)文件 (.psc1) 的路徑。在通過(guò) PSConsoleFile 參數(shù)啟
20、動(dòng)Windows PowerShell 或使用 Export-Console cmdlet 將管理單元名稱(chēng)導(dǎo)出到控制臺(tái)文件時(shí),將填充此變量。在使用不帶參數(shù)的 Export-Console cmdlet 時(shí),它自動(dòng)更新在會(huì)話中最近使用的控制臺(tái)文件??梢允褂么俗詣?dòng)變量確定要更新的文件。$Error包含錯(cuò)誤對(duì)象的數(shù)組,這些對(duì)象表示最近的一些錯(cuò)誤。最近的錯(cuò)誤是該數(shù)組中的第一個(gè)錯(cuò)誤對(duì)象($Error0)。$Event包含一個(gè) PSEventArgs 對(duì)象,該對(duì)象表示一個(gè)正在被處理的事件。此變量只在事件注冊(cè)命令(例如 Register-ObjectEvent)的 Action 塊內(nèi)填充。此變量的值是 Ge
21、t-Event cmdlet 返回的同一個(gè)對(duì)象。因此,可以在 Action 腳本塊中使用 $Event 變量的屬性(例如$Event.TimeGenerated)。$EventSubscriber包含一個(gè) PSEventSubscriber 對(duì)象,該對(duì)象表示正在被處理的事件的事件訂閱者。此變量只在事件注冊(cè)命令的 Action 塊內(nèi)填充。此變量的值是 Get-EventSubscriber cmdlet 返回的同一個(gè)對(duì)象。$ExecutionContext包含一個(gè) EngineIntrinsics 對(duì)象,該對(duì)象表示 Windows PowerShell 主機(jī)的執(zhí)行上下文??梢允褂么俗兞縼?lái)查找可用
22、于 cmdlet 的執(zhí)行對(duì)象。$False包含 FALSE。可以使用此變量在命令和腳本中表示 FALSE,而不是使用字符串”false”。如果該字符串轉(zhuǎn)換為非空字符串或非零整數(shù),則可將該字符串解釋為 TRUE。$ForEach包含 ForEach-Object 循環(huán)的枚舉數(shù)??梢詫?duì) $ForEach 變量的值使用枚舉數(shù)的屬性和方法。此變量?jī)H在運(yùn)行 For 循環(huán)時(shí)存在,循環(huán)完成即會(huì)刪除。$Home包含用戶的主目錄的完整路徑。此變量等效于 %homedrive%homepath% 環(huán)境變量。$Host包含一個(gè)對(duì)象,該對(duì)象表示 Windows PowerShell 的當(dāng)前主機(jī)應(yīng)用程序??梢允褂么俗兞?/p>
23、在命令中表示當(dāng)前主機(jī),或者顯示或更改主機(jī)的屬性,如 $Host.version、$Host.CurrentCulture或 $host.ui.rawui.setbackgroundcolor(“Red”)。$Input一個(gè)枚舉數(shù),它包含傳遞給函數(shù)的輸入。$Input 變量區(qū)分大小寫(xiě),只能用于函數(shù)和腳本塊。(腳本塊本質(zhì)上是未命名的函數(shù)。)在函數(shù)的 Process 塊中,$Input 變量包含當(dāng)前位于管道中的對(duì)象。在 Process 塊完成后,$Input 的值為 NULL。如果函數(shù)沒(méi)有 Process 塊,則 $Input的值可用于 End 塊,它包含函數(shù)的所有輸入。$LastExitCode包
24、含運(yùn)行的最后一個(gè)基于 Windows 的程序的退出代碼。$Matches$Matches 變量與 -match 和 -not match 運(yùn)算符一起使用。將標(biāo)量輸入提交給 -match 或 -notmatch 運(yùn)算符時(shí),如果檢測(cè)到匹配,則會(huì)返回一個(gè)布爾值,并使用由所有匹配字符串值組成的哈希表填充 $Matches 自動(dòng)變量。有關(guān) -match 運(yùn)算符的詳細(xì)信息,請(qǐng)參閱 about_comparison_operators。$MyInvocation包含一個(gè)對(duì)象,該對(duì)象具有有關(guān)當(dāng)前命令(如腳本、函數(shù)或腳本塊)的信息??梢允褂迷搶?duì)象中的信息(如腳本的路徑和文件名 ($myinvocation.my
25、command.path) 或函數(shù)的名稱(chēng)($))來(lái)標(biāo)識(shí)當(dāng)前命令。對(duì)于查找正在運(yùn)行的腳本的名稱(chēng),這非常有用。$NestedPromptLevel包含當(dāng)前提示級(jí)別。值 0 指示原始提示級(jí)別。該值在進(jìn)入嵌套級(jí)別時(shí)遞增,在退出嵌套級(jí)別時(shí)遞減。例如,在使用 $Host.EnterNestedPrompt 方法時(shí),Windows PowerShell 會(huì)出現(xiàn)嵌套命令提示符。在 Windows PowerShell 調(diào)試程序中到達(dá)斷點(diǎn)時(shí),Windows PowerShell 也會(huì)出現(xiàn)嵌套命令提示符。在進(jìn)入嵌套提示時(shí),Windows PowerShell
26、暫停當(dāng)前命令,保存執(zhí)行上下文,并遞增$NestedPromptLevel 變量的值。要?jiǎng)?chuàng)建更多嵌套命令提示符(最多 128 級(jí))或返回到原始命令提示符,請(qǐng)完成命令,或鍵入”exit”。$NestedPromptLevel 變量有助于跟蹤提示級(jí)別??梢詣?chuàng)建包含此值的備用 WindowsPowerShell 命令提示符,以使此值始終可見(jiàn)。$NULL包含 NULL 或空值??梢栽诿詈湍_本中使用此變量表示 NULL,而不是使用字符串”NULL”。如果該字符串轉(zhuǎn)換為非空字符串或非零整數(shù),則可將該字符串解釋為 TRUE。$PID包含承載當(dāng)前 Windows PowerShell 會(huì)話的進(jìn)程的進(jìn)程標(biāo)識(shí)符
27、(PID)。$Profile包含當(dāng)前用戶和當(dāng)前主機(jī)應(yīng)用程序的 Windows PowerShell 配置文件的完整路徑??梢栽诿钪惺褂么俗兞勘硎九渲梦募@纾梢栽诿钪惺褂么俗兞看_定是否已創(chuàng)建某個(gè)配置文件:test-path $profile也可以在命令中使用此變量創(chuàng)建配置文件:new-item -type file -path $pshome -force此外,還可以在命令中使用此變量在記事本中打開(kāi)配置文件:notepad $profile$PSBoundParameters包含活動(dòng)參數(shù)及其當(dāng)前值的字典。只有在聲明參數(shù)的作用域(如腳本或函數(shù))中,此變量才有值??梢允褂么俗兞匡@示或更改參
28、數(shù)的當(dāng)前值,也可以將參數(shù)值傳遞給其他腳本或函數(shù)。例如:function test param($a, $b)# Display the parameters in dictionary format.$psboundparameters# Call the Test1 function with $a and $b.test1 psboundparameters$PsCmdlet包含一個(gè)對(duì)象,該對(duì)象表示正在運(yùn)行的 cmdlet 或高級(jí)函數(shù)。可以在 cmdlet 或函數(shù)代碼中使用該對(duì)象的屬性和方法來(lái)響應(yīng)使用的條件。例如,ParameterSetName 屬性包含正在使用的參數(shù)集的名稱(chēng),而 Sho
29、uldProcess 方法將 WhatIf和 Confirm 參數(shù)動(dòng)態(tài)添加到 cmdlet。有關(guān) $PSCmdlet 自動(dòng)變量的詳細(xì)信息,請(qǐng)參閱 about_Functions_Advanced。$PsCulture包含操作系統(tǒng)中當(dāng)前所用的區(qū)域性的名稱(chēng)。區(qū)域性確定數(shù)字、貨幣和日期等項(xiàng)的顯示格式。這是系統(tǒng)的 System.Globalization.CultureInfo.CurrentCulture.Name 屬性的值。要獲取系統(tǒng)的 System.Globalization.CultureInfo 對(duì)象,請(qǐng)使用 Get-Culture cmdlet。$PSDebugContext在調(diào)試期間,此
30、變量包含有關(guān)調(diào)試環(huán)境的信息。在其他時(shí)間,此變量包含 NULL 值。因此,可以使用此變量指示調(diào)試程序是否擁有控制權(quán)。填充之后,此變量包含一個(gè)具有 Breakpoints 和InvocationInfo 屬性的 PsDebugContext 對(duì)象。InvocationInfo 屬性有多個(gè)十分有用的屬性,包括 Location 屬性。Location 屬性指示正在調(diào)試的腳本的路徑。$PsHome包含 Windows PowerShell 的安裝目錄的完整路徑(通常為%windir%System32WindowsPowerShellv1.0)??梢栽?Windows PowerShell 文件的路徑中
31、使用此變量。例如,下面的命令在概念性幫助主題中搜索”variable”一詞:select-string -pattern variable -path $pshome*.txt$PSScriptRoot包含要從中執(zhí)行腳本模塊的目錄。通過(guò)此變量,腳本可以使用模塊路徑來(lái)訪問(wèn)其他資源。$PsUICulture包含操作系統(tǒng)中當(dāng)前所用的用戶界面 (UI) 區(qū)域性的名稱(chēng)。UI 區(qū)域性確定哪些文本字符串用于用戶界面元素(如菜單和消息)。這是系統(tǒng)的System.Globalization.CultureInfo.CurrentUICulture.Name 屬性的值。要獲取系統(tǒng)的 System.Globaliz
32、ation.CultureInfo 對(duì)象,請(qǐng)使用 Get-UICulture cmdlet。$PsVersionTable包含一個(gè)只讀哈希表,該哈希表顯示有關(guān)在當(dāng)前會(huì)話中運(yùn)行的 Windows PowerShell 版本的詳細(xì)信息。該表包括下列項(xiàng):CLRVersion: 公共語(yǔ)言運(yùn)行時(shí) (CLR) 的版本BuildVersion: 當(dāng)前版本的內(nèi)部版本號(hào)PSVersion: Windows PowerShell 版本號(hào)WSManStackVersion: WS-Management 堆棧的版本號(hào)PSCompatibleVersions: 與當(dāng)前版本兼容的 Windows PowerShell 版
33、本SerializationVersion 序列化方法的版本PSRemotingProtocolVersionWindows PowerShell 遠(yuǎn)程管理協(xié)議的版本$Pwd包含一個(gè)路徑對(duì)象,該對(duì)象表示當(dāng)前目錄的完整路徑。$Sender包含生成此事件的對(duì)象。此變量只在事件注冊(cè)命令的 Action 塊內(nèi)填充。此變量的值也可在 Get-Event 返回的 PSEventArgs(System.Management.Automation.PSEventArgs) 對(duì)象的 Sender 屬性中找到。$ShellID包含當(dāng)前 shell 的標(biāo)識(shí)符。$SourceArgs包含表示正在被處理的事件的事件參數(shù)
34、的對(duì)象。此變量只在事件注冊(cè)命令的 Action塊內(nèi)填充。此變量的值也可在 Get-Event 返回的 PSEventArgs(System.Management.Automation.PSEventArgs) 對(duì)象的 SourceArgs 屬性中找到。$SourceEventArgs包含一個(gè)對(duì)象,該對(duì)象表示從正在被處理的事件的 EventArgs 中派生出的第一個(gè)事件參數(shù)。此變量只在事件注冊(cè)命令的 Action 塊內(nèi)填充。此變量的值也可在 Get-Event 返回的 PSEventArgs(System.Management.Automation.PSEventArgs) 對(duì)象的 Source
35、Args 屬性中找到。$This在定義腳本屬性或腳本方法的腳本塊中,$This 變量引用要擴(kuò)展的對(duì)象。$True包含 TRUE。可以在命令和腳本中使用此變量表示 TRUE。另請(qǐng)參閱about_Hash_Tablesabout_Preference_Variablesabout_Variables Powershell 通過(guò)函數(shù)擴(kuò)展別名 Powershell, 程序設(shè)計(jì) 添加評(píng)論 十一 252011 在Powershell中設(shè)置別名的確方便快捷,但是在設(shè)置別名的過(guò)程中并設(shè)置參數(shù)的相關(guān)信息。盡管別名會(huì)自動(dòng)識(shí)別參數(shù),但是如何把經(jīng)常使用的參數(shù)默認(rèn)設(shè)定在別名里面呢?例如
36、Test-Connection -Count 2 -ComputerName,讓-”-Count 2 固化在別名中。這時(shí)簡(jiǎn)單的別名無(wú)法完成上述需求,可以通過(guò)函數(shù)來(lái)完成它,并且一旦把函數(shù)拉過(guò)來(lái),定義別名會(huì)變得更加靈活。PS C:> function test-conn Test-Connection -Count 2 -ComputerName $argsPS C:> Set-Alias tc test-connPS C:> tc localhostSource Destination IPV4Address IPV6Address Bytes Time(ms)- - - -
37、- -test-me-01 localhost :1 32 0test-me-01 localhost :1 32 0有了函數(shù)牽線,別名可以完成更高級(jí)更強(qiáng)大的功能,其中$args為參數(shù)的占位符,經(jīng)測(cè)試,發(fā)現(xiàn)這個(gè)占位符必須以$args命名,否則不能識(shí)別,會(huì)拋出異常:Cannot validate argument on parameter ComputerName. The argument is null or empty. Supply an argnt that is not null or empty and then try the comman
38、d again. Powershell 快速編輯模式和標(biāo)準(zhǔn)模式 Powershell, 程序設(shè)計(jì) 添加評(píng)論 十一 232011 powershell控制臺(tái)有兩種模式,一個(gè)是快速編輯模式,一個(gè)是標(biāo)準(zhǔn)模式。快速編輯模式和標(biāo)準(zhǔn)模式的切換可以通過(guò)控制臺(tái)標(biāo)題欄->鼠標(biāo)右擊->屬性->選項(xiàng)->編輯選項(xiàng) 。powershell標(biāo)準(zhǔn)模式鼠標(biāo)右擊選擇標(biāo)記后才能實(shí)現(xiàn)復(fù)制和粘切功能。powershell快速編輯模式可以通過(guò)鼠標(biāo)右鍵選擇任意矩形區(qū)域內(nèi)的文本,并且鼠標(biāo)右擊實(shí)現(xiàn)復(fù)制功能。 Powershell 自定義控制臺(tái) Powershell, 程序設(shè)
39、計(jì) 添加評(píng)論 十一 232011 右擊標(biāo)題欄選擇”屬性”彈出powershell控制臺(tái)對(duì)話框。在這里有三個(gè)四個(gè)選項(xiàng)卡:選項(xiàng)、字體、布局和顏色?!斑x項(xiàng)”設(shè)置光標(biāo),歷史記錄,編輯模式的切換?!白煮w”設(shè)置字體的名稱(chēng)和大小“布局”設(shè)置窗口的緩沖區(qū)、窗口的大小、窗口起始坐標(biāo)“顏色”設(shè)置屏幕和對(duì)話框的背景色和前景色。Powershell Foreach 循環(huán) Powershell, 程序設(shè)計(jì) 添加評(píng)論 一 232012 Foreach-object 為cmdlet命令,使用在管道中,對(duì)管道結(jié)果逐個(gè)處理,foreach為遍歷集合的關(guān)鍵字。下面舉兩個(gè)例
40、子:幫助010203040506070809101112131415161718192021$array=7.10 foreach ($n in $array) $n*$n #49 #64 #81 #100 foreach($file in dir c:windows) if($file.Length -gt 1mb)
41、 $File.Name #explorer.exe #WindowsUpdate.log這里只為了演示foreach,其實(shí)上面的第二個(gè)例子可以用Foreach-Object更簡(jiǎn)潔。PS C:Powershell> dir C:Windows | where $_.length -gt 1mb |foreach-object $_.Nameexplorer.exeWindowsUpdate.logPowershell 條件操作符 Powershell, 程序設(shè)計(jì) 添加評(píng)論 一 1620
42、12 Powershell 中的比較運(yùn)算符-eq :等于-ne :不等于-gt :大于-ge :大于等于-lt :小于-le :小于等于-contains :包含-notcontains :不包含進(jìn)行比較可以將比較表達(dá)式直接輸入進(jìn)Powershell控制臺(tái),然后回車(chē),會(huì)自動(dòng)比較并把比較結(jié)果返回。PS C:Powershell> (3,4,5 ) -contains 2FalsePS C:Powershell> (3,4,5 ) -contains 5TruePS C:Powershell> (3,4,5 ) -notcontains 6TruePS C:Power
43、shell> 2 -eq 10FalsePS C:Powershell> "A" -eq "a"TruePS C:Powershell> "A" -ieq "a"TruePS C:Powershell> "A" -ceq "a"FalsePS C:Powershell> 1gb -lt 1gb+1TruePS C:Powershell> 1gb -lt 1gb-1False求反求反運(yùn)算符為-not 但是像高級(jí)語(yǔ)言一樣”! “ 也支持求反。P
44、S C:Powershell> $a= 2 -eq 3PS C:Powershell> $aFalsePS C:Powershell> -not $aTruePS C:Powershell> !($a)True布爾運(yùn)算-and :和-or :或-xor :異或-not :逆PS C:Powershell> $true -and $trueTruePS C:Powershell> $true -and $falseFalsePS C:Powershell> $true -or $trueTruePS C:Powershell> $true -or
45、$falseTruePS C:Powershell> $true -xor $falseTruePS C:Powershell> $true -xor $trueFalsePS C:Powershell> -not $trueFalse比較數(shù)組和集合過(guò)濾數(shù)組中的元素PS C:Powershell> 1,2,3,4,3,2,1 -eq 333PS C:Powershell> 1,2,3,4,3,2,1 -ne 312421驗(yàn)證一個(gè)數(shù)組是否存在特定元素PS C:Powershell> $help=(man ls)PS C:Powershell> 1,9,4
46、,5 -contains 9TruePS C:Powershell> 1,9,4,5 -contains 10FalsePS C:Powershell> 1,9,4,5 -notcontains 10TruePowershell Where-Object 條件過(guò)濾 Powershell, 程序設(shè)計(jì) 添加評(píng)論 一 172012 本篇會(huì)對(duì)條件判斷進(jìn)行實(shí)際應(yīng)用。在管道中可以通過(guò)條件判斷過(guò)濾管道結(jié)果,Where-Object會(huì)對(duì)集合逐個(gè)過(guò)濾,將符合條件的結(jié)果保留。過(guò)濾管道結(jié)果使用Get-Process返回所有的當(dāng)前進(jìn)程 ,但是你可能并不對(duì)所有的進(jìn)程感興趣,
47、然后通過(guò)每個(gè)Process對(duì)象的屬性進(jìn)行過(guò)濾。首先得知道每個(gè)對(duì)象支持那些屬性。PS C:Powershell> Get-Process | select -First 1 | fl *_NounName : ProcessName : AcroRd32Handles : 287VM : 234819584WS : 32616448PM : 63488000NPM : 14584Path : C:Program FilesAdobeReader 10.0ReaderAcroRd32 .exeCompany : Adobe Systems IncorporatedCPU : 96.53341
48、88Description : Adobe ReaderProduct : Adobe ReaderId : 4820PriorityClass : NormalHandleCount : 287WorkingSet : 32616448PagedMemorySize : 63488000PrivateMemorySize : 63488000VirtualMemorySize : 234819584TotalProcessorTime : 00:01:36.5334188BasePriority : 8ExitCode :HasExited : FalseExitTime :Handle : 3568MachineName : .MainWindowHandle : 198686MainWindowTitle : Mastering PowerShell - Adobe ReaderMainModule : System.Diagnostics.ProcessModule (AcroRd32.exe)MaxWorkingSet : 1413120MinWorkingSet : 204800Modules : S
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版搬運(yùn)企業(yè)節(jié)能減排合同范本3篇
- 2025年度木材加工設(shè)備租賃及維護(hù)服務(wù)合同范本4篇
- 2025版民爆物品裝卸作業(yè)環(huán)境保護(hù)合同4篇
- 2025年度個(gè)人消費(fèi)分期付款合同范本(2025版)3篇
- 農(nóng)業(yè)機(jī)械化與農(nóng)村振興人才培育考核試卷
- 2025版事業(yè)單位聘用合同正規(guī)范本(含試用期)2篇
- 2025版人工智能研發(fā)中心錄用合同范本3篇
- 2025年公益活動(dòng)加盟合同
- 2025年大型活動(dòng)合作協(xié)議
- 2025年度高科技實(shí)驗(yàn)室租賃合同4篇
- 【探跡科技】2024知識(shí)產(chǎn)權(quán)行業(yè)發(fā)展趨勢(shì)報(bào)告-從工業(yè)轟鳴到數(shù)智浪潮知識(shí)產(chǎn)權(quán)成為競(jìng)爭(zhēng)市場(chǎng)的“矛與盾”
- 《中國(guó)政法大學(xué)》課件
- GB/T 35270-2024嬰幼兒背帶(袋)
- 遼寧省沈陽(yáng)名校2025屆高三第一次模擬考試英語(yǔ)試卷含解析
- 2024-2025學(xué)年高二上學(xué)期期末數(shù)學(xué)試卷(新題型:19題)(基礎(chǔ)篇)(含答案)
- 2022版藝術(shù)新課標(biāo)解讀心得(課件)小學(xué)美術(shù)
- Profinet(S523-FANUC)發(fā)那科通訊設(shè)置
- 醫(yī)學(xué)教程 常見(jiàn)化療藥物歸納
- 統(tǒng)編版九年級(jí)歷史下冊(cè)第一單元教案教學(xué)設(shè)計(jì)
- GB/T 25000.51-2016系統(tǒng)與軟件工程系統(tǒng)與軟件質(zhì)量要求和評(píng)價(jià)(SQuaRE)第51部分:就緒可用軟件產(chǎn)品(RUSP)的質(zhì)量要求和測(cè)試細(xì)則
- 外科學(xué)試題庫(kù)及答案(共1000題)
評(píng)論
0/150
提交評(píng)論