约 2219 字

约 11 分钟

#命令与参数

#命令的组成

PowerShell 中的命令通常由命令名、参数和参数值组成:

命令名 -参数名 参数值 -开关参数

例如:

> Get-ChildItem -Path C:\Windows -File -Recurse
  • Get-ChildItem - 命令名
  • -Path C:\Windows - 命名参数及其值
  • -File - 开关参数,只表示开启或关闭
  • -Recurse - 开关参数

#参数类型

PowerShell 的参数主要有以下几种形式:

形式示例说明
命名参数-Path C:\Windows参数名后跟参数值
位置参数Get-ChildItem C:\Windows省略参数名,按位置传入
开关参数-Recurse不需要值,出现即为真
数组参数-Name a,b,c使用逗号分隔多个值
布尔参数-Force:$true显式传入布尔值

#参数的写法

参数名不区分大小写,且通常支持无歧义的前缀简写:

> Get-ChildItem -Recurse
> Get-ChildItem -Rec

以下写法是等价的:

> Get-ChildItem -Path C:\Windows -Recurse
> Get-ChildItem C:\Windows -Recurse

#传递数组和多个值

当参数接受数组时,可以使用逗号分隔:

> Get-ChildItem -Path C:\Windows,C:\Program Files

也可以先定义数组再传入:

> $paths = @("C:\Windows", "C:\Program Files")
> Get-ChildItem -Path $paths

#开关参数

开关参数不需要值。如果要显式关闭,可以使用 :$false:

> Get-ChildItem -Recurse
> Get-ChildItem -Recurse:$false

#常见参数

PowerShell 的 cmdlet 通常支持一组 通用参数:

参数说明
-Verbose输出详细过程信息
-Debug输出调试信息
-ErrorAction指定发生错误时的行为
-ErrorVariable将错误保存到指定变量
-WarningAction指定警告的处理方式
-WarningVariable将警告保存到指定变量
-OutVariable将输出保存到指定变量
-PipelineVariable将当前管道对象保存到指定变量

例如:

> Get-ChildItem -Path C:\NotExist -ErrorAction SilentlyContinue
> Get-ChildItem -Path C:\Windows -Verbose

#停止解析符号

--% 表示其后的内容不再由 PowerShell 解析,而是原样传给外部程序:

> some.exe --% --option "value with spaces"

#获取参数信息

使用 Get-Help 查看命令支持的全部参数:

> Get-Help Get-ChildItem -Parameter *

详见 Get-Help 帮助手册。

#推荐阅读

更新: 2026/11/2

作者: planc

创建: 2026/11/2