PowerShellで"rm -rf"的なコマンドのエイリアスを作った

(English article is here.)

Bashでは、rm -rfでファイルやディレクトリを削除します。PowerShellの場合でもこれぐらいのタイプ数で同様の処理をしたいので、rmrfというエイリアス(正確には関数)を作りました。

経緯

削除したいファイルやディレクトリをtargetとします。このとき、PowerShellでは、次のコマンドでtargetを削除できます。

Remove-Item -Recurse -Force target

Tab補完を使ったとしても、これでは長いので、できるだけ短くすると、

rm -r -fo target

となります。しかし、これでもまだrm -r -form -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を削除できるようになりました。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.