Sintaxis básica de PowerShell

PowerShell no es solo una herramienta de línea de comandos, también es un lenguaje de script completo. Aprender su sintaxis básica, al igual que aprender un nuevo lenguaje de programación, es un paso importante para iniciarse.

Esta sección detallará los elementos de sintaxis más básicos de PowerShell, incluyendo variables, comentarios, tipos de datos, operadores, condicionales, estructuras de bucle, etc., sentando una base sólida para la escritura posterior de scripts.


1. Comentarios

Los comentarios en PowerShell son similares a los de la mayoría de los lenguajes de programación; se utilizan para explicar el código y no se ejecutan.

Los comentarios de una sola línea se escriben#al inicio:

# 这是一个单行注释
Write-Output "Hello, PowerShell"

Los comentarios de varias líneas se utilizan<#y#>para envolver:

<#
Este es un comentario multilínea
Se puede utilizar para documentación
#>

2. Variables

Definir variables

En PowerShell, las variables comienzan con el$símbolo $ al inicio:sin necesidad de declarar el tipo previamente:

$name = "Alice"
$age = 25

Usar variables

Write-Output "Name: $name"

También se puede usar interpolación de cadenas:

Write-Output "User: $($name), Age: $($age)"

3. Tipos de datos

PowerShell es un lenguaje de tipado débil, pero cada variable tiene un tipo .NET correspondiente en segundo plano.

Tipo Ejemplo
String $str = "Hello"
Entero $num = 123
Decimal $pi = 3.14
Booleano $isTrue = $true
Array $arr = @(1, 2, 3)
Hashtable $h = @{Name="Tom"; Age=30}

Se puede utilizar.GetType()para ver el tipo de la variable:

$str.GetType().Name   # String

4. Operadores

Categoría Ejemplo Descripción
Operaciones aritméticas + - * / % Operaciones matemáticas comunes
Operaciones de comparación -eq -ne -lt -gt Igual, no igual, menor que, mayor que
Operaciones lógicas -and -or -not Operadores lógicos
String -like -match -replace Coincidencia de patrones y reemplazo
Operaciones de contención -in -contains Comprobación de colecciones

Ejemplo:

5 -eq 5       # True
"abc" -like "a*"  # True

5. Condicionales

Sentencia if

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

if-elseif-else

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

6. Estructuras de bucle

Bucle for

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

Bucle foreach

$colors = @("Red", "Green", "Blue")
foreach ($color in $colors) {
    Write-Output "颜色:$color"
}

Bucle while

$count = 0
while ($count -lt 3) {
    Write-Output $count
    $count++
}

7. Definición de funciones

PowerShell permite definir funciones personalizadas, la sintaxis es la siguiente:

function Say-Hello {
    param([string]$name)
    Write-Output "Hello, $name!"
}

Say-Hello -name "PowerShell"

También se puede usar una sintaxis más compacta:

function Square($x) { return $x * $x }
Square 5  # 输出 25

8. Manejo de errores

Utilicetry {} catch {}bloque para manejar sentencias que pueden fallar:

try {
    Get-Item "C:\NotExist.txt"
} catch {
    Write-Output "找不到文件"
}

9. Formato básico de archivos de script

Los archivos de script de PowerShell utilizan.ps1extensión. Se pueden crear con VS Code o el Bloc de notas:

# hello.ps1
$name = "World"
Write-Output "Hello, $name"

Ejecutar en PowerShell:

.\hello.ps1

Nota: si el script no se ejecuta, verifique la política de ejecución (Get-ExecutionPolicy), si es necesario useSet-ExecutionPolicypara permitir la ejecución de scripts.

Otras extensiones