(An English translation is available here.)
Bashでは、rm -rf
でファイルやディレクトリを削除します。PowerShellの場合でもこれぐらいのタイプ数で同様の処理をしたいので、rmrf
というエイリアス(正確には関数)を作りました。
経緯
削除したいファイルやディレクトリをtarget
とします。このとき、PowerShellでは、次のコマンドでtarget
を削除できます。
Remove-Item -Recurse -Force target
Tab補完を使ったとしても、これでは長いので、できるだけ短くすると、
rm -r -fo target
となります。しかし、これでもまだrm -r -fo
はrm -rf
に比べて若干タイプしにくいです。
いっそのことエイリアスを作ることにしました。
作り方
PowerShellのprofileを作成する必要があります。profileの作成方法については、次の記事に解説がありますので、参考にしてください。
PowerShellの$profileに設定しておくと便利な定義 - Qiita
次のような内容のprofileを作成します。
Microsoft.PowerShell_profile.ps1
function rmrf {
<#
.DESCRIPTION
Deletes the specified file or directory.
.PARAMETER target
Target file or directory to be deleted.
.NOTES
This is an equivalent command of "rm -rf" in Unix-like systems.
#>
Param(
[Parameter(Mandatory=$true)]
[string]$Target
)
Remove-Item -Recurse -Force $Target
}
Gistはこちら。
結果
rmrf target
これだけで、target
を削除できるようになりました。