基础语法(Basic Syntax)
- 命名规范:动词-名词(Get-Process、Set-Content),统一易发现
- 参数书写:-ParameterName Value,支持短名与位置参数;支持 splatting(@params)
- 区分大小写:默认不区分(Case-insensitive)
- 注释:
- 行注释:# ...
- 区块注释:<# ... #>
- 变量:以 $ 开头($name),类型按需自动推断
- 语句与块:{} 表示脚本块,if/elseif/else、switch、for/foreach/while/do{}while 等
- 模块加载:Import-Module;自动模块加载由模块清单与命令发现机制完成
- 错误类型:Terminating 与 Non-terminating;$ErrorActionPreference 控制行为
示例:参数展开 Splatting 与管道配合
powershell
$params = @{ Path='C:\temp\log.txt'; Value='hello'; Encoding='utf8' }
Set-Content @params
Get-Content $params.Path | Measure-Object -Line -Character脚本结构建议:
- 顶部注释写明用途、参数、示例
- 使用 [CmdletBinding()] 与 Param() 定义高级函数参数与管道绑定
- 合理使用 Write-Verbose/Write-Debug/Write-Information 输出可控日志