欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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)"
相关标签: Powershell