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を使用してスクリプトの実行を許可します。