PowerShell 基本语法

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 语句

if ($age -ge 18) {
    Write-Output "成年人"} else {
    Write-Output "未成年人"}

if-elseif-else

if ($score -ge 90) {
    "优秀"} elseif ($score -ge 60) {
    "及格"} else {
    "不及格"}

六、循环结构

for 循环

for ($i = 1; $i -le 5; $i++) {
    Write-Output "第 $i 次循环"}

foreach 循环

<#
这是多行注释
可用于文档说明
#>0

while 循环

<#
这是多行注释
可用于文档说明
#>1

七、函数定义

PowerShell 允许自定义函数,语法如下:

<#
这是多行注释
可用于文档说明
#>2

也可以使用简洁写法:

<#
这是多行注释
可用于文档说明
#>3

八、错误处理

使用 try {} catch {} 块来处理可能出错的语句:

<#
这是多行注释
可用于文档说明
#>4

九、脚本文件基本格式

PowerShell 脚本文件使用 .ps1 后缀名。可以使用 VS Code 或记事本创建:

<#
这是多行注释
可用于文档说明
#>5

在 PowerShell 中运行:

<#
这是多行注释
可用于文档说明
#>6

注意:如果脚本未能执行,请检查执行策略(Get-ExecutionPolicy),必要时使用 Set-ExecutionPolicy 允许运行脚本。