mcpField
P
powershell-windows

powershell-windows

github.com/vudovn開発8.2k361 回インストール9 週間前に更新
リポジトリ

powershell-windows について

スクリプト作成者向けのWindows PowerShellパターン集で、構文規則とよくある問題をまとめています。演算子の括弧、ASCIIのみの記述、null確認、エラー処理、パス、配列、JSONを扱います。

主な機能

  1. 01論理演算子の括弧ルール
  2. 02ASCIIのみで記述する指針
  3. 03null確認と文字列補間の形式
  4. 04エラー処理とパスの実践
  5. 05配列とJSONの操作

活用シーン

  1. 01PowerShellの構文エラーの回避
  2. 02null値を扱うスクリプトの作成
  3. 03スクリプトのエラー処理方法の選択
  4. 04ネストしたJSONの読み書き

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vudovn/ag-kit --skill powershell-windows

インストール後、Claude Code で/powershell-windowsを入力して読み込まれたか確認します。

詳細

PowerShell Windows のパターン

Windows PowerShell で重要なパターンと落とし穴です。


1. 演算子の構文ルール

重要:括弧が必須です
❌ 誤り✅ 正しい
if (Test-Path "a" -or Test-Path "b")if ((Test-Path "a") -or (Test-Path "b"))
if (Get-Item $x -and $y -eq 5)if ((Get-Item $x) -and ($y -eq 5))

ルール: 論理演算子を使用する場合、各コマンドレット呼び出しを括弧で囲む必要があります。


2. Unicode/絵文字の制限

重要:スクリプトで Unicode を使わないでください
目的❌ 使用しない✅ 使用する
成功✅ ✓[OK] [+]
エラー❌ ✗ 🔴[!] [X]
警告⚠️ 🟡[*] [WARN]
情報ℹ️ 🔵[i] [INFO]
進捗⏳[...]

ルール: PowerShell スクリプトでは ASCII 文字のみを使用してください。


3. Null チェックのパターン

アクセスする前に必ず確認してください
❌ 誤り✅ 正しい
$array.Count -gt 0$array -and $array.Count -gt 0
$text.Lengthif ($text) { $text.Length }

4. 文字列の補間

複雑な式
❌ 誤り✅ 正しい
"Value: $($obj.prop.sub)"まず変数に格納する

パターン:

$value = $obj.prop.sub
Write-Output "Value: $value"

5. エラー処理

ErrorActionPreference
値用途
Stop開発時(すぐに失敗させる)
Continue本番用スクリプト
SilentlyContinueエラーが予想される場合
Try/Catch パターン
  • try ブロック内で return しないでください
  • クリーンアップには finally を使用してください
  • try/catch の後で return してください

6. ファイルパス

Windows のパスルール
パターン用途
リテラルパスC:\Users\User\file.txt
変数パスJoin-Path $env:USERPROFILE "file.txt"
相対パスJoin-Path $ScriptDir "data"

ルール: クロスプラットフォームで安全に使えるよう、Join-Path を使用してください。


7. 配列の操作

正しいパターン
操作構文
空の配列$array = @()
項目を追加$array += $item
ArrayList に追加$list.Add($item) | Out-Null

8. JSON 操作

重要:Depth パラメーター
❌ 誤り✅ 正しい
ConvertTo-JsonConvertTo-Json -Depth 10

ルール: ネストされたオブジェクトでは、必ず -Depth を指定してください。

ファイル操作
操作パターン
読み込みGet-Content "file.json" -Raw | ConvertFrom-Json
書き込み$data | ConvertTo-Json -Depth 10 | Out-File "file.json" -Encoding UTF8

9. よくあるエラー

エラーメッセージ原因修正方法
"parameter 'or'"括弧が不足しているコマンドレットを () で囲む
"Unexpected token"Unicode 文字ASCII のみを使用する
"Cannot find property"Null オブジェクト先に Null を確認する
"Cannot convert"型の不一致.ToString() を使用する

10. スクリプトのテンプレート

# Strict mode
Set-StrictMode -Version Latest
$ErrorActionPreference = "Continue"

# Paths
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path

# Main
try {
    # Logic here
    Write-Output "[OK] Done"
    exit 0
}
catch {
    Write-Warning "Error: $_"
    exit 1
}

覚えておいてください: PowerShell には独自の構文ルールがあります。括弧、ASCII 文字のみの使用、Null チェックは必須です。

コメント