LoginSignup
7
5

More than 3 years have passed since last update.

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

Last updated at Posted at 2018-03-29
(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 -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を削除できるようになりました。

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5