次の項目は別ページに分割しました。
関連ページ:
PowerShell に関する基本的な情報は次のページにまとめています。
スクリプト
概要
ドキュメント:
使い方
PowerShell プロンプトから、スクリプト (.ps1) を実行する。
> .\Path\to\Script.ps1
コマンドプロンプトから、スクリプト (.ps1) を実行する。
>powershell -File .\Path\to\Script.ps1
参考:
コマンドプロンプトから PowerShell スクリプトを実行する | TECH+
PowerShell の PS1 ファイルの作成と実行 | マイクロソフト系技術情報 Wiki
文法
ドキュメント:
If 文
ドキュメント:
If ステートメント | Microsoft Docs [公式]
参考:
PowerShell でもっといい条件文の書き方 5選 – Qiita
While 文
ドキュメント:
While ステートメント | Microsoft Docs [公式]
Do While 文/Do Until 文
ドキュメント:
Continue / Break
ドキュメント:
Continue | Microsoft Docs [公式]
論理演算 (and / or / xor / not)
- 論理積 (and):
-and - 論理和 (or):
-or - 排他的論理和 (xor):
-xor - 否定 (not):
-notあるいは!
ドキュメント:
論理演算子について | Microsoft Docs [公式]
参考:
PowerShell の if 文で and / or / xor / not を記述する方法 | Windows と暮らす
ドットソース
ドキュメント:
スクリプトスコープとドットソーシング | Microsoft Docs [公式]
ドットソーシング演算子 | Microsoft Docs [公式]
参考:
PowerShell で相対パスで指定したスクリプトをドットソース形式で読み込む | 迷惑堂本舗
コメント
#: 一行コメント、または、行末コメント/#以降がコメントになる<# ... #>: 複数行コメント、または、ブロックコメント/囲われている範囲がコメントになる
ドキュメント:
コメント – PowerShell | Microsoft Learn [公式]
参考:
静的解析
ドキュメント:
PSScriptAnalyzer モジュール | Microsoft Learn [公式]
使用方法 – PSScriptAnalyzer | Microsoft Learn [公式]
規則と推奨事項 – PSScriptAnalyzer | Microsoft Learn [公式]
ルール一覧 – PSScriptAnalyzer | Microsoft Learn [公式]
参考:
How do you suppress PowerShell analyzer rules? – Stack Overflow
空文字を判定する
変数が空文字もしくはヌルであるかを判定するには、[String]::IsNullOrEmpty メソッドを使う。
if ([String]::IsNullOrEmpty($str)) {
Write-Host '$str is null or empty.'
}Code language: PowerShell (powershell)
ドキュメント:
String.IsNullOrEmpty メソッド | Microsoft Docs [公式]
参考:
文字列が空文字や NULL であるかを判定する方法 | バヤシタ
Powershell で文字列が null かどうか判定する方法 | Rainbow Engine
PowerShell で文字列などの変数の Null または空文字を確認するには | YOMON8.NET
PowerShell で変数の Null や空文字を判定する方法 | miajimyu note
ヌルを判定する
ヌルを判定するには -eq 演算子で $null と比較する。
if ($var -eq $null) {
Write-Host '$var is null.'
}Code language: PowerShell (powershell)
ドキュメント:
$null について知りたかったことのすべて | Microsoft Docs [公式]
参考:
PowerShell で文字列などの変数の Null または空文字を確認するには | YOMON8.NET
PowerShell で変数の Null や空文字を判定する方法 | miajimyu note
戻り値を返す
実行に成功した場合は 0 を返す。
exit 0;Code language: PowerShell (powershell)
エラーが発生した場合はエラーコードを返す。
exit 1;Code language: PowerShell (powershell)
ドキュメント:
Exit | Microsoft Docs [Official]
参考:
PowerShell での終了ステータス ($?、$LastExitCode) について確認してみた – Qiita
引数を渡す
$Args[]配列を参照するParamキーワードを使って引数を宣言する
参考:
Powershell で引数を受け取る | マイクロソフ党ブログ
PowerShell スクリプト引数 (Param) の Tips | MURA’s Home Page
About Functions Advanced Parameters | Microsoft Docs [Official]
How to pass command-line arguments to a PowerShell ps1 file – Stack Overflow
引数の解釈
ドキュメント:
about_Parsing | Microsoft Docs [公式]
about_Quoting_Rules | Microsoft Docs [Official]
参考:
PowerShell の引数展開に関する仕様まとめ – Qiita
Powershell is removing comma from program argument – Stack Overflow
Can I make this PowerShell Script accept commas? – Super User
バッチファイルから呼び出す (.bat)
@echo off
PowerShell -File .\Path\to\Script.ps1
pauseCode language: DOS .bat (dos)
参考:
バッチファイルから PowerShell を呼び出す方法 – Qiita
PowerShell を楽に実行してもらうには – Qiita
bat ファイルから ps1 ファイルを実行する方法 | ITコン猿の備忘録
PowerShell をバッチファイルから実行する | ちりつもぶろぐ
実行パスを取得する
参考:
How to get the current directory of the cmdlet being executed – Stack Overflow
実行を一時停止したい
参考:
PowerShell でもコマンドプロンプトの pause のように一時停止する5つの方法 | aki
Pause a Powershell script and resume – Stack Overflow
進捗
ドキュメント:
Write-Progress | Microsoft Learn [公式]
参考:
シンプルかつ実用的なプログレスバーを作成する方法 | ppppe
Write-Progress – 進捗を表すプログレスバーを表示する | 晴耕雨読
VSCode Extension
入手:
PowerShell | Visual Studio Marketplace [Official]
参考:
統合ターミナルを開いた時に PowerShell Extensions が自動起動しないようにする | えやみぐさ
How can you edit what the run button in VSCode does? – Stack Overflow