国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PowerShell > 正文

Windows Powershell 定義變量

2020-10-29 21:04:13
字體:
來源:轉載
供稿:網友

變量可以臨時保存數據,因此可以把數據保存在變量中,以便進一步操作。

#定義變量$a=10$b=4#計算變量$result=$a*$b$msg="保存文本"#輸出變量$result$msg40保存文本

powershell 不需要顯示地去聲明,可以自動創建變量,只須記住變量的前綴為$.

創建好了變量后,可以通過變量名輸出變量,也可以把變量名存在字符串中。但是有個例外單引號中的字符串不會識別和處理變量名。

選擇變量名

在powershell中變量名均是以美元符”$”開始,剩余字符可以是數字、字母、下劃線的任意字符,并且powershell變量名大小寫不敏感($a和$A 是同一個變量)。

某些特殊的字符在powershell中有特殊的用途,一般不推薦使用這些字符作為變量名。當然你硬要使用,請把整個變量名后綴用花括號括起來。

PS C:/test> ${"I"like $}="mossfly"PS C:/test> ${"I"like $}

mossfly賦值和返回值

賦值操作符為“=”,幾乎可以把任何數據賦值給一個變量,甚至一條cmdlet命令
,為什么,因為Powershell支持對象,對象可以包羅萬象。

PS C:/test> $item=Get-ChildItem .PS C:/test> $item  Directory: C:/testMode        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/23   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/11/28   16:42    170 test.vbsPS C:/test> $result=3000*(1/12+0.0075)PS C:/test> $result272.5

給多個變量同時賦值
賦值操作符不僅能給一個變量賦值,還可以同時給多個變量賦相同的值。

PS C:/test> $a=$b=$c=123PS C:/test> $a123PS C:/test> $b123PS C:/test> $c123

交換變量的值

要交換兩個變量的值,傳統的程序語言至少需要三步,并且還需定義一個中間臨時變量。

$Value1 = 10$Value2 = 20$Temp = $Value1$Value1 = $Value2$Value2 = $Temp

在powershell中,交換兩個變量的值,這個功能變得非常簡單。

PS C:/test> $value1=10PS C:/test> $value2=20PS C:/test> $value1,$value2=$value2,$value1PS C:/test> $value120PS C:/test> $value210

查看正在使用的變量
Powershell將變量的相關信息的記錄存放在名為variable:的驅動中。如果要查看所有定義的變量,可以直接遍歷variable:

PS C:/test> ls variable:Name              Value----              -----"I"like $           mossfly$               cls?               True^               cls_1               1a               123args              {}b               123c               123ConfirmPreference       HighConsoleFileNameDebugPreference        SilentlyContinue。。。

查找變量

因為有虛擬驅動variable:的存在,可以象查找文件那樣使用通配符查找變量。例如要查詢以value打頭的變量名。

PS C:/test> ls variable:value*Name              Value----              -----value1             20value2             10

驗證變量是否存在

驗證一個變量是否存在,仍然可以象驗證文件系統那樣,使用cmdlet Test-Path。為什么?因為變量存在變量驅動器中。

PS C:/test> Test-Path variable:value1TruePS C:/test> Test-Path variable:value2TruePS C:/test> Test-Path variable:valueUnkonwFalse

刪除變量

因為變量會在powershell退出或關閉時,自動清除。一般沒必要刪除,但是你非得刪除,也可以象刪除文件那樣刪除它。

PS C:/test> Test-Path variable:value1TruePS C:/test> del variable:value1PS C:/test> Test-Path variable:value1False

使用專用的變量命令

為了管理變量,powershell提供了五個專門管理變量的命令Clear-Variable,Get-Variable,New-Variable,Remove-Variable,Set-Variable。因為虛擬驅動器variable:的存在,clear,remove,set打頭的命令可以被代替。但是Get-Variable,New-Variable。卻非常有用new-variable可以在定義變量時,指定變量的一些其它屬性,比如訪問權限。同樣Get-Variable也可以獲取這些附加信息。

變量寫保護

可以使用New-Variable 的option選項 在創建變量時,給變量加上只讀屬性,這樣就不能給變量重新賦值了。

PS C:/test> New-Variable num -Value 100 -Force -Option readonlyPS C:/test> $num=101Cannot overwrite variable num because it is read-only or constant.At line:1 char:5+ $num <<<< =101   + CategoryInfo     : WriteError: (num:String) [], SessionStateUnauthorizedAccessException   + FullyQualifiedErrorId : VariableNotWritable PS C:/test> 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) [Remove-Item], SessionStateUnauthorizedAccessExcepti  + FullyQualifiedErrorId : VariableNotRemovable,Microsoft.PowerShell.Commands.RemoveItemCommand

但是可以通過刪除變量,再重新創建變量更新變量內容。

PS C:/test> del Variable:num -ForcePS C:/test> $num=101PS C:/test> $num101

有沒有權限更高的變量,有,那就是:選項Constant,常量一旦聲明,不可修改

PS C:/test> new-variable num -Value "strong" -Option constantPS C:/test> $num="why? can not delete it."Cannot 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:/test> del Variable:num -ForceRemove-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], SessionStateUnauthorizedAccessExcepti  + FullyQualifiedErrorId : VariableNotRemovable,Microsoft.PowerShell.Commands.RemoveItemCommand

變量描述
在New-Variable 可以通過-description 添加變量描述,但是變量描述默認不會顯示,可以通過Format-List 查看。

PS C:/test> new-variable name -Value "me" -Description "This is my name"PS C:/test> ls Variable:name | fl *PSPath    : Microsoft.PowerShell.CoreVariable::namePSDrive    : VariablePSProvider  : Microsoft.PowerShell.CoreVariablePSIsContainer : FalseName     : nameDescription  : This is my nameValue     : meVisibility  : PublicModule    :ModuleName  :Options    : NoneAttributes  : {}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太仆寺旗| 乐清市| 闸北区| 扎赉特旗| 济阳县| 兰坪| 陈巴尔虎旗| 大埔县| 巫山县| 泰和县| 牙克石市| 肥城市| 平昌县| 芜湖市| 攀枝花市| 林芝县| 东方市| 临清市| 沧源| 五大连池市| 黎城县| 泾川县| 卢湾区| 信丰县| 新泰市| 东至县| 南宫市| 丹凤县| 金溪县| 塘沽区| 泽库县| 曲阳县| 文安县| 东丰县| 兴安盟| 金乡县| 寿宁县| 呼伦贝尔市| 大英县| 大关县| 泗阳县|