PowerShell:
读取命令行参数

How to: (如何操作:)

下面的示例显示了如何在 PowerShell 中访问命令行参数。

# myscript.ps1

# 打印所有命令行参数
Write-Host "所有参数:$args"

# 打印第一个参数
Write-Host "第一个参数:$args[0]"

运行 .\myscript.ps1 arg1 arg2 arg3 后的输出:

所有参数arg1 arg2 arg3
第一个参数arg1

Deep Dive (深入了解)

在早期的 shell 编程中,命令行参数就被用来影响脚本的行为。PowerShell 在这方面继承了许多传统的 Shell 特性。除了使用 $args,你还可以利用 param 声明来定义形式参数,这可以提供更明确的参数处理方式,例如:

# myscript.ps1

param (
  [String]$name,
  [Int]$age
)

Write-Host "姓名:$name"
Write-Host "年龄:$age"

从 PowerShell 2.0 开始,还可以使用高级功能,比如 [CmdletBinding()]param 块来创建更复杂的脚本参数声明。

See Also (另请参阅)