PowerShell - 特殊变量



PowerShell 特殊变量存储有关 PowerShell 的信息。这些变量也称为自动变量。以下是自动变量的列表:

运算符 描述
$$ 表示会话接收到的最后一行中的最后一个标记。
$? 表示上次操作的执行状态。如果上次操作成功,则包含 TRUE;如果失败,则包含 FALSE。
$^ 表示会话接收到的最后一行中的第一个标记。
$_ 与 $PSItem 相同。包含管道对象中的当前对象。您可以在对管道中的每个对象或选定对象执行操作的命令中使用此变量。
$ARGS 表示传递给函数、脚本或脚本块的未声明参数和/或参数值的数组。
$CONSOLEFILENAME 表示会话中最近使用的控制台文件 (.psc1) 的路径。
$ERROR 表示表示最近错误的错误对象的数组。
$EVENT 表示表示正在处理的事件的 PSEventArgs 对象。
$EVENTARGS 表示表示正在处理的事件的派生自 EventArgs 的第一个事件参数的对象。
$EVENTSUBSCRIBER 表示表示正在处理的事件的事件订阅者的 PSEventSubscriber 对象。
$EXECUTIONCONTEXT 表示表示 PowerShell 主机的执行上下文的 EngineIntrinsics 对象。
$FALSE 表示 FALSE。您可以使用此变量在命令和脚本中表示 FALSE,而不是使用字符串“false”。
$FOREACH 表示 ForEach 循环的枚举器(而不是结果值)。您可以在 $ForEach 变量的值上使用枚举器的属性和方法。
$HOME 表示用户主目录的完整路径。
$HOST 表示表示 PowerShell 的当前主机应用程序的对象。
$INPUT 表示枚举传递给函数的所有输入的枚举器。
$LASTEXITCODE 表示最后运行的基于 Windows 的程序的退出代码。
$MATCHES $Matches 变量与 -match 和 -notmatch 运算符一起使用。
$MYINVOCATION $MyInvocation 仅针对脚本、函数和脚本块填充。$MyInvocation 自动变量的 PSScriptRoot 和 PSCommandPath 属性包含有关调用者或调用脚本的信息,而不是当前脚本的信息。
$NESTEDPROMPTLEVEL 表示当前提示级别。
$NULL $null 是一个自动变量,包含 NULL 或空值。您可以使用此变量在命令和脚本中表示不存在或未定义的值。
$PID 表示托管当前 PowerShell 会话的进程的进程标识符 (PID)。
$PROFILE 表示当前用户和当前主机应用程序的 PowerShell 配置文件的完整路径。
$PSCMDLET 表示表示正在运行的 cmdlet 或高级函数的对象。
$PSCOMMANDPATH 表示正在运行的脚本的完整路径和文件名。
$PSCULTURE 表示操作系统中当前使用的区域性名称。
$PSDEBUGCONTEXT 在调试期间,此变量包含有关调试环境的信息。否则,它包含 NULL 值。
$PSHOME 表示 PowerShell 安装目录的完整路径。
$PSITEM 与 $_ 相同。包含管道对象中的当前对象。
$PSSCRIPTROOT 表示正在运行脚本的目录。
$PSSENDERINFO 表示有关启动 PSSession 的用户的信息,包括用户身份和源计算机的时区。
$PSUICULTURE 表示操作系统中当前使用的用户界面 (UI) 区域性名称。
$PSVERSIONTABLE 表示一个只读哈希表,显示有关当前会话中正在运行的 PowerShell 版本的详细信息。
$SENDER 表示生成此事件的对象。
$SHELLID 表示当前 shell 的标识符。
$STACKTRACE 表示最近错误的堆栈跟踪。
$THIS 在定义脚本属性或脚本方法的脚本块中,$This 变量引用正在扩展的对象。
$TRUE 表示 TRUE。您可以使用此变量在命令和脚本中表示 TRUE。
广告