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
Otras extensionesNota: 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.