PowerShell-Basissyntax
PowerShell ist nicht nur ein Kommandozeilenwerkzeug; es ist auch eine vollständige Skriptsprache. Das Erlernen der grundlegenden Syntax ist ein wichtiger erster Schritt, genau wie beim Erlernen einer neuen Programmiersprache.
In diesem Abschnitt werden die grundlegendsten Syntaxelemente in PowerShell ausführlich vorgestellt, darunter Variablen, Kommentare, Datentypen, Operatoren, bedingte Anweisungen, Schleifenstrukturen und mehr, wodurch eine solide Grundlage für das spätere Schreiben von Skripten gelegt wird.
1. Kommentare
Kommentare in PowerShell ähneln denen in den meisten Programmiersprachen. Sie dienen der Erklärung von Code und werden nicht ausgeführt.
Einzeilige Kommentare verwenden#am Anfang:
# 这是一个单行注释 Write-Output "Hello, PowerShell"
Mehrzeilige Kommentare werden mit<#und#>umschlossen:
<# This is a multi-line comment Can be used for documentation #>
2. Variablen
Variablen definieren
In PowerShell beginnen Variablen mit dem$$-Symbol, ohne den Typ vorher deklarieren zu müssen:
$name = "Alice" $age = 25
Variablen verwenden
Write-Output "Name: $name"
Du kannst auch Zeichenfolgeninterpolation verwenden:
Write-Output "User: $($name), Age: $($age)"
3. Datentypen
PowerShell ist eine schwach typisierte Sprache, aber jede Variable hat im Hintergrund einen entsprechenden .NET-Typ.
| Type | Beispiel |
|---|---|
| String | $str = "Hello" |
| Integer | $num = 123 |
| Decimal | $pi = 3.14 |
| Boolean | $isTrue = $true |
| Array | $arr = @(1, 2, 3) |
| Hash-Tabelle | $h = @{Name="Tom"; Age=30} |
Sie können.GetType()um den Variablentyp anzuzeigen:
$str.GetType().Name # String
4. Operatoren
| Kategorie | Beispiel | Beschreibung |
|---|---|---|
| Arithmetische Operationen | + - * / % |
Gängige mathematische Operationen |
| Vergleichsoperationen | -eq -ne -lt -gt |
Gleich, ungleich, kleiner als, größer als |
| Logische Operationen | -and -or -not |
Logische Operatoren |
| String | -like -match -replace |
Musterabgleich und Ersetzung |
| Enthalten-Operationen | -in -contains |
Sammlungsprüfungen |
Beispiel:
5 -eq 5 # True "abc" -like "a*" # True
5. Bedingte Anweisungen
if-Anweisung
if ($age -ge 18) {
Write-Output "成年人"
} else {
Write-Output "未成年人"
}
if-elseif-else
if ($score -ge 90) {
"优秀"
} elseif ($score -ge 60) {
"及格"
} else {
"不及格"
}
6. Schleifenstrukturen
for-Schleife
for ($i = 1; $i -le 5; $i++) {
Write-Output "第 $i 次循环"
}
foreach-Schleife
$colors = @("Red", "Green", "Blue")
foreach ($color in $colors) {
Write-Output "颜色:$color"
}
while-Schleife
$count = 0
while ($count -lt 3) {
Write-Output $count
$count++
}
7. Funktionsdefinitionen
PowerShell ermöglicht es Ihnen, benutzerdefinierte Funktionen zu definieren, mit folgender Syntax:
function Say-Hello {
param([string]$name)
Write-Output "Hello, $name!"
}
Say-Hello -name "PowerShell"
Sie können auch eine kürzere Syntax verwenden:
function Square($x) { return $x * $x }
Square 5 # 输出 25
8. Fehlerbehandlung
Verwenden Sie dietry {} catch {}Block zur Behandlung von Anweisungen, die Fehler verursachen können:
try {
Get-Item "C:\NotExist.txt"
} catch {
Write-Output "找不到文件"
}
9. Grundlegendes Skriptdateiformat
PowerShell-Skriptdateien verwenden die.ps1.ps1-Erweiterung. Sie können sie mit VS Code oder Notepad erstellen:
# hello.ps1 $name = "World" Write-Output "Hello, $name"
Führen Sie es in PowerShell aus:
.\hello.ps1
Andere ErweiterungenHinweis: Wenn das Skript nicht ausgeführt werden kann, überprüfen Sie die Ausführungsrichtlinie (
Get-ExecutionPolicy). Falls erforderlich, verwenden SieSet-ExecutionPolicyum Skripts ausführen zu können.