'How to create a new alias in Windows Powershell for deleting multiple folders?

I want to create an alias in Windows PowerShell to delete multiple folders from the command line.

To remove more than one item I call:

Remove-Item '.\Documents\*\Bin\' ,'.\Documents\*\Inter\' -Force -Recurse

I have tried to create the alias like this:

New-Alias -Name 'Clean-RCD' Remove-Item '.\Documents\*\Bin\' ,'.\Documents\*\Inter\' -Force -Recurse

Output: New-Alias: A positional parameter cannot be found that accepts argument 'System.Object[]'.

Any idea how to define this alias correctly?



Solution 1:[1]

Unlike in bash, aliases in PowerShell are strict 1-to-1 command name mappings - no extra parameter arguments allowed.

You'll want to create a function instead:

function Clean-RCD {
  Remove-Item -Path '~\Documents\*\Bin', '~\Documents\*\Inter\' -Force -Recurse
}

Use of ~ (which resolves to your home folder) over . is intentional - this way it'll still work if you've navigated to a different path

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Mathias R. Jessen