当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 中的变量 | PowerShell 中的自动变量

作者:精品下载站 日期:2024-12-14 05:00:41 浏览:14 分类:玩电脑

PowerShell 中的变量 | PowerShell 中的自动变量


[玩转系统] PowerShell 中的变量 | PowerShell 中的自动变量

PowerShell 中的变量简介

PowerShell 中的变量是可用于存储值的内存块。 PowerShell 变量使用“$”符号表示。变量名称可以是数字、字母甚至下划线中的任何内容。 PowerShell 变量不区分大小写。 PowerShell 变量不仅仅是基于文本的,相反,它们是类似于 Microsoft.Net 对象的对象。

使用语法创建变量

下面的例子展示了变量的创建

$test

$test 是一个变量,可以使用=或赋值运算符为其赋值

$test=” This is a variable”

要获取变量的值,我们只需要简单地输入变量

例子#1

下面的例子用于展示变量的介绍

代码:

Write-Host "Introduction to the variable"
$test="This is a variable"
Write-Host "The value of the variable is below"
$test

输出:

变量简介

变量的值如下

这是一个变量

例子#2

以下示例用于显示变量的算术运算

代码:

Write-Host "Example of arithmetic operation"
$v1 = 11111
$v2 = 3333454
$v3 = $v1 + $v2
$v3

输出:

算术运算示例

3344565

PowerShell 中的变量类型

在PowerShell中,如果未指定变量的数据类型,PowerShell会在初始化变量时自动检测变量类型。

以下是数组变量的类型

1.数组:数组变量是第一种类型的变量。数组变量可以声明如下

[int32[]]$inttest = 1,2,3,4

或者

$test=1..99

2.布尔:布尔变量可以定义如下。

[bool] $test = 1
Or

[bool] $test= $true

3.日期时间:日期时间变量可以声明如下

$a = [DateTime] "07/06/2015 05:00 AM"

4. Guid:guid 值可以分配给变量,如下所示

$a=New-Guid

5.哈希表:哈希表变量存储键值对。哈希表可以定义如下

$test = @{ key1= 1; key2= 2; key3= 3}

或者

$test = @{}

6. PSObject:PSobject 变量与哈希表类似,使用键值对结构。它可以定义如下。

$test = [PSCustomObject]@{
Key1 = 'Value1'
Key2 = 'Value2'
}

PowerShell 中的自动变量

这些变量是由 PowerShell 本身创建的。它们用于维护 PowerShell 的状态。用户不会更改这些变量的值,PowerShell 会更改它们以保持准确性。以下是一些自动变量。

Variable

描述

$HOME

包含用户主目录的路径

$HOST

代表 PowerShell 的应用程序

$NULL

空值

$PROFILE

表示当前用户配置文件的完整路径

$STACKTRACE

包含最近错误的堆栈跟踪

$PSCOMMANDPATH

包含运行脚本的路径

$PID

包含当前会话的处理器 ID

$ErrorActionPreference

表示传递错误消息时采取的操作

$PSCulture

代表 Powershell 会话的当前文化

PowerShell 中的所有自动变量都可以通过运行以下命令找到。

代码:

Get-Variable

输出:

[玩转系统] PowerShell 中的变量 | PowerShell 中的自动变量

[玩转系统] PowerShell 中的变量 | PowerShell 中的自动变量

不同类型的变量作用域

作用域只不过是变量的生命外壳。变量仅在指定的范围内有效。

  • $Global:变量在当前会话的整个脚本中可用。
  • $Script: 该变量只能在脚本内部访问,并在脚本执行完成后被丢弃。
  • $Private: 变量仅在函数内有效。
  • $local: 变量仅在会话的当前范围内有效。
  • 与变量关联的 Cmdlet:
  • Clear-Variable:删除变量的值
  • Get-Variable:获取当前会话中存在的变量列表。
  • New-Variable: 用于创建新变量
  • Remove-Variable:删除变量
  • Set-Variable:用于更改变量的值

例子#1

检查上次运行的 cmdlet 是否成功。

代码:

$? is used for the above-said purpose

之前运行的 cmdlet

get-mynae

相应的输出

[玩转系统] PowerShell 中的变量 | PowerShell 中的自动变量

从上面可以明显看出,cmdlet 执行不成功。之后,cmdlet 被执行。

代码

$?

输出:

[玩转系统] PowerShell 中的变量 | PowerShell 中的自动变量

[玩转系统] PowerShell 中的变量 | PowerShell 中的自动变量

False 表示最后一个 cmdlet 不成功,true 表示成功执行。

例子#2

将变量的值存储到 word 或 csv 文件

代码:

Write-Host "variable example"
$test = "First variable"
$test1 = "second variable"
$test2 = "third variable"
$test3 = "fourth variable"
$test | Out-File C:\test.txt -Append
$test1 | Out-File C:\test.txt -Append
$test2 | Out-File C:\test.txt -Append
$test3 | Out-File C:\test.txt -Append

输出:

[玩转系统] PowerShell 中的变量 | PowerShell 中的自动变量

例子#3

设置和获取变量

代码:

Set-Variable -Name "test" -Value "test"
Get-Variable -Name "test"
Set-Variable -Name "test1" -Value "testone"
Get-Variable -Name "test1"
Set-Variable -Name "test2" -Value "testtwo"
Get-Variable -Name "test2"
Write-Host "Get all the user defined variables in the current session"
Get-Variable test* -ValueOnly

输出:

[玩转系统] PowerShell 中的变量 | PowerShell 中的自动变量

结论

因此,这些文章详细介绍了 PowerShell 中的变量。它还解释了与变量关联的数据类型、变量范围以及 PowerShell 中可用的变量类型。为了更深入地了解变量,建议创建示例程序并享受围绕它们工作的乐趣。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯