本文へ移動
AIプラスチャンネル生成AIの使い方・資料選び・回答の確かめ方。

AIが提案したPowerShellを実行する前に|削除・上書き・対象パスの確認

情報確認日:2026年10月14日

AIが提案したPowerShellは、実行前に「何を変えるか」「どのファイルに作用するか」を確認してください。削除・上書き・移動を含む場合は、対象の絶対パスと範囲を先に確認し、控えを残します。WhatIfは対応するコマンドでのみ使える試行用の指定で、全スクリプトを安全化する万能スイッチではありません。

一行の目的を、言葉で説明してもらう

「整理します」「直します」という説明だけでは、削除が含まれるか分かりません。AIへ、各行が読み取り、作成、変更、移動、削除のどれかを示すよう依頼します。

PowerShellではRemove-Itemが項目を削除します。Microsoftの公式ヘルプは、ファイル・フォルダー以外にレジストリなども対象となり得るとしています。ファイル整理のつもりで別の種類の項目を扱っていないか、対象を読む必要があります。

見る場所 確認する内容
コマンド名 読むのか、書くのか、消すのか
パス どのドライブ・フォルダーか
*などの指定 何件の対象に広がるか
再帰の指定 下のフォルダーも含むか
出力・保存先 元ファイルへ上書きするか

知らない名前があれば、実行して確かめる前にヘルプを開きます。別のプログラムを起動する行や、ネットから取得した処理を実行する行が含まれる場合も、その中身を別に確認します。

対象のパスを、実際の場所へ戻して確認

相対パスは、現在の作業フォルダーに左右されます。dataという指定が、どの場所のdataなのかを確かめてください。名前が同じ別フォルダーを誤って対象にしないためです。

変数でパスを作るスクリプトでは、計算後の絶対パスを表示してもらいます。削除前には、完成したパスが、作業対象として指定したフォルダー内に収まるかを確認します。

ファイル名の一部を*で置き換える指定は、複数のファイルに合う場合があります。正規表現や抽出条件を使って対象を選ぶ処理も、実際に選ばれた一覧を読みます。「古いファイル」の判定をAIの説明だけで済ませないでください。

LiteralPathとPathも、役割が違う

MicrosoftのRemove-Item説明では、Pathはワイルドカードを使えますが、LiteralPathは指定したパスをそのまま扱います。角括弧などを含むファイル名では、名前の文字をパターンとして扱うかが問題になります。

一件の特定ファイルを扱いたい場合は、その名前をそのまま指定する方式を検討します。ただしLiteralPathへ変えれば、間違った場所の削除を防げるという意味ではありません。パス自体の確認は必要です。

AIが別のシェルへ渡すコマンドを生成した場合は、引用符や記号の解釈も変わります。PowerShellで確認した名前が別のシェルで同じように扱われるとは限らないので、複雑な渡し方は担当者へ確認します。

WhatIfは、対応をヘルプで確かめる

Microsoftの共通パラメーター説明は、WhatIfを処理の実行に代えて、作用を示す機能として説明しています。

ただし、この指定を受け付けるコマンドで使う必要があります。スクリプト中の全ての命令に自動で同じ効果が及ぶとは限りません。外部プログラムや独自関数まで、WhatIfで必ず試行になると考えないでください。

次のコードは削除を実行せず、Remove-ItemのWhatIf説明を表示するための例です。

Get-Help Remove-Item -Parameter WhatIf

Get-Helpの公式案内では、Parameterで指定したパラメーターの説明、Examplesで例、Fullで詳細を表示できます。手元のヘルプが不足している場合は、同じコマンドのオンライン公式説明も確認します。

本番の前は、控えと少数の対象で試す

実行する処理を理解した後で、必要な元ファイルを別の場所へコピーし、戻せる状態を確認します。移動や削除の前に作る控えは、対象フォルダーごと誤って処理されない場所へ置きます。

小さな作業用フォルダーと少数のファイルで、名前、保存内容、対象件数を確認します。結果が合った場合も、実際の全対象の一覧を読む段階は省かないでください。

管理者としての実行を求められた場合は、なぜ必要なのかを確認します。権限不足という表示だけで、整理作業のために広い管理権限へ切り替える必要があるとは限りません。

AIへ返す確認用の依頼

まだ実行しないでください。
各行の目的、変更・削除される対象、計算後の絶対パスを説明してください。
対象一覧を読むだけの段階と、実際に変更する段階を分けてください。
WhatIfが使える行と、使えない行を公式ヘルプで確認してください。

これは編集部作成の依頼例です。実行後に「成功」と出ても、対象件数と成果物の内容を元の目的と照合します。読み取れない処理が残る場合は、コマンド、PowerShellの版、対象範囲を担当者に示して確認してから進めてください。

参照資料

あわせて読みたい記事

執筆・検証:カネさん(政経プラスチャンネル運営)+ ChatGPT

ほかの記事を探す
ホームで目的から探す →
タイトルとURLをコピーしました