PowerShell 不只是一个命令行工具,它还是一个完整的脚本语言。学习它的基本语法,就像学习一门新的编程语言一样,是入门的重要一步。
本节将详细介绍 PowerShell 中最基本的语法元素,包括变量、注释、数据类型、运算符、条件判断、循环结构等内容,为后续编写脚本打下扎实基础。
PowerShell 中的注释与大多数编程语言相似,用于解释代码,不会被执行。
单行注释使用 # 开头:
# 这是一个单行注释Write-Output "Hello, PowerShell"
多行注释使用 <# 和 #> 包裹:
<# 这是多行注释 可用于文档说明 #>
PowerShell 中变量以 $
符号开头,无需事先声明类型:
$name = "Alice"$age = 25
Write-Output "Name: $name"
也可以使用字符串插值:
Write-Output "User: $($name), Age: $($age)"
PowerShell 是弱类型语言,但变量背后都有对应的 .NET 类型。
类型 | 示例 |
---|---|
字符串 | $str = "Hello" |
整数 | $num = 123 |
小数 | $pi = 3.14 |
布尔值 | $isTrue = $true |
数组 | $arr = @(1, 2, 3) |
哈希表 | $h = @{Name="Tom"; Age=30} |
可以使用 .GetType()
查看变量类型:
$str.GetType().Name # String
类别 | 示例 | 说明 |
---|---|---|
算术运算 | + - * / % | 常见数学运算 |
比较运算 | -eq -ne -lt -gt | 等于、不等于、小于、大于 |
逻辑运算 | -and -or -not | 逻辑运算符 |
字符串 | -like -matC++h -replace | 模式匹配和替换 |
包含运算 | -in -contains | 集合判断 |
示例:
5 -eq 5 # True"abc" -like "a*" # True
if ($age -ge 18) { Write-Output "成年人"} else { Write-Output "未成年人"}
if ($score -ge 90) { "优秀"} elseif ($score -ge 60) { "及格"} else { "不及格"}
for ($i = 1; $i -le 5; $i++) { Write-Output "第 $i 次循环"}
<# 这是多行注释 可用于文档说明 #>0
<# 这是多行注释 可用于文档说明 #>1
PowerShell 允许自定义函数,语法如下:
<# 这是多行注释 可用于文档说明 #>2
也可以使用简洁写法:
<# 这是多行注释 可用于文档说明 #>3
使用 try {}
catch {}
块来处理可能出错的语句:
<# 这是多行注释 可用于文档说明 #>4
PowerShell 脚本文件使用 .ps1
后缀名。可以使用 VS Code 或记事本创建:
<# 这是多行注释 可用于文档说明 #>5
在 PowerShell 中运行:
<# 这是多行注释 可用于文档说明 #>6
注意:如果脚本未能执行,请检查执行策略(
Get-ExecutionPolicy
),必要时使用Set-ExecutionPolicy
允许运行脚本。