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

Hinweis: 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.

Andere Erweiterungen