Reputation: 963
rm
is to remove item, but what is the parameter -rf
do or signify?
Whenever I typed help -rf it printed the entire list of available commands in powershell. What happens if you type rm -rf
in powershell? From reading around I've gathered that it will delete everything on the drive? I'm not sure?
Also, is rm -rf
same as rm -rf /
?
Upvotes: 96
Views: 142578
Reputation: 1958
This is the one-liner that behaves like rm -rf
. It first checks for the existence of the path and then tries removing it.
if (Test-Path ./your_path) { rm -r -force ./your_path}
Upvotes: 7
Reputation: 29579
PowerShell isn't UNIX. rm -rf
is UNIX shell code, not PowerShell scripting.
rm
(short for Remove-Item
) on PowerShell.rm
on UNIX.See the difference?
On UNIX, rm -rf
alone is invalid. You told it what to do via rm
for remove with the attributes r
for recursive and f
for force, but you didn't tell it what that action should be done on. rm -rf /path/to/delete/
means rm
(remove) with attributes r
(recursive) and f
(force) on the directory /path/to/remove/
and its sub-directories.
The correct, equivalent command on PowerShell would be:
rm C:\path\to\delete -r -fo
Note that -f
in PowerShell is ambiguous for -Filter
and -Force
and thus -fo
needs to be used.
Upvotes: 172
Reputation: 22840
You have to use:
Remove-Item C:\tmp -Recurse -Force
or (short)
rm C:\tmp -Recurse -Force
Upvotes: 50