(これは2011-02-12に書いた故OCNブログの記事を移植したものです)
特定の拡張子(例えば.dat)のファイルを、下位のフォルダ内のファイルを含めて再帰的に削除したいとき、コマンド プロンプトでは
del *.dat /s
とすればいいんですが、問答無用で即コマンドを実行してしまうのが怖い。
Windows PowerShellでは-WhatIfオプションが存在するので、実際にコマンドを実行しないで、仮想的な実行結果の確認ができるようになっています。
PowerShellで再帰的削除の仮想結果を確認するには、
Get-ChildItem -Include *.dat -Recurse | del -WhatIf
とします。こうすれば、削除処理自体は行なわないで、
WhatIf: 対象 "~.dat" に対して操作 "ファイルの削除" を実行しています。
という確認メッセージが出力されるだけなので、安全性が増します。コマンドのテストをするのにも便利。
実際に削除処理を実行するには、-WhatIfを取り除けばいいだけです。