PowerShell 基本構文

PowerShell は単なるコマンドラインツールではなく、完全なスクリプト言語でもあります。その基本構文を学ぶことは、新しいプログラミング言語を学ぶのと同じように、入門の重要な一歩です。

このセクションでは、PowerShell の最も基本的な構文要素(変数、コメント、データ型、演算子、条件分岐、ループ構造など)を詳しく説明し、後のスクリプト作成のための確かな基礎を築きます。


一、コメント

PowerShell のコメントは、ほとんどのプログラミング言語と同様に、コードを説明するために使用され、実行されません。

1行コメントは#で始まります:

# 这是一个单行注释
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 -match -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 ループ

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

while ループ

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

七、関数定義

PowerShell では関数をカスタマイズできます。構文は次のとおりです:

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

Say-Hello -name "PowerShell"

簡潔な書き方も使用できます:

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

八、エラー処理

次のブロックtry {} catch {}を使用して、エラーが発生する可能性のある文を処理します:

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

九、スクリプトファイルの基本形式

PowerShell スクリプトファイルは.ps1拡張子を使用します。VS Code またはメモ帳で作成できます:

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

PowerShell で実行します:

.\hello.ps1

注意:スクリプトが実行できない場合は、実行ポリシー(Get-ExecutionPolicy)を確認してください。必要に応じて、Set-ExecutionPolicyを使用してスクリプトの実行を許可します。

その他の関連記事