PowerShell-变量
程序员文章站
2022-03-09 12:23:37
...
交互变量使用
变量赋值
特殊变量名
${"I"like $}="mossfly"
同时给多个变量赋相同的值
$a = $b = $c =123
交换两个变量的值
$value1, $value2 = $value2, $value1
变量查询
查看变量
ls variable:
# Name Value
# ---- -----
# $
# ? True
# ...
查看特定变量
ls variable:a*
# Name Value
# ---- -----
# a 123
# args {}
测试变量是否存在
Test-Path variable:b
# True
删除变量(这里有个问题,如何删除特殊字符的变量)
del variable:{"I"like $}
# 所在位置 行:1 字符: 18
# + del variable:{"I"like $}
# + ~~~~
# 表达式或语句中包含意外的标记“like”。
脚本变量使用
新建变量
New-Variable -Name a -Value 250 -Force -Option readonly
# New-Variable : 名为“a”的变量已存在。
查询变量
Get-Variable a 和 $a 的区别
Get-Variable 列出对象 $a 列出变量值
Get-Variable -Name a
# Name Value
# ---- -----
# a 123
Get-Variable a
# Name Value
# ---- -----
# a 100
$a
# 100
清除变量
Clear-Variable -Name a
# Name Value
# ---- -----
# a
删除变量
Remove-Variable -Name a
Get-Variable -Name a
# Get-Variable : 找不到名为“a”的变量。
变量赋值
Set-Variable a -value 100
变量写保护
在创建变量时,给变量加上只读属性,但是仍可通过强制删除变量,
再重新创建变量更新变量内容
New-Variable num -Value 100 -Force -Option readonly
del Variable:num
# del : 无法删除变量 num,因为该变量为常量或者为只读变量。如果该变量为只读变量,请指定 Force 选项,然后重试此操作。
# ...
Remove-Variable -Name num
# Remove-Variable : 无法删除变量 num,因为该变量为常量或者为只读变量。如果该变量为只读变量,请指定 Force 选项,然后重试此操作。
# ...
Clear-Variable -Name num
# Clear-Variable : 无法覆盖变量 num,因为该变量为只读变量或常量。
# ...
del Variable:num -Force
获得变量
Get-Variable -Name num
# Name Value
# ---- -----
# num 100
创建常量
new-variable num -Value "strong" -Option constant
# 常量一旦声明,不可修改
变量描述
new-variable name -Value "me" -Description "This is my name"
# 通过 Format-List 查看描述
ls Variable:name | fl *
# PSPath : Microsoft.PowerShell.Core\Variable::name
# PSDrive : Variable
# PSProvider : Microsoft.PowerShell.Core\Variable
# PSIsContainer : False
# Name : name
# Description : This is my name
# Value : me
# Visibility : Public
# Module :
# ModuleName :
# Options : None
# Attributes : {}
Get-Variable name | Format-List *
# PSPath : Microsoft.PowerShell.Core\Variable::name
# ...
子表达式变量
"val is $(3+6)"