2012-05-04 7 views
12

ho fatto un po 'di ricerca e io non sono ancora sicuro esattamente quello che fa. So che rm è rimuovere l'elemento, ma non ho trovato alcuna documentazione su -rf. Ogni volta che ho digitato help -rf ha stampato l'intero elenco di comandi disponibili in PowerShell. Cosa succede se digiti rm -rf in powershell? Dalla lettura in giro ho capito che cancellerà tutto sul disco? Non ne sono sicuro?PowerShell comando: rm -rf

Inoltre, è rm -rf stessa rm -rf/

risposta

14

PowerShell non è UNIX. rm -rf è codice shell UNIX, non script di PowerShell.

  • Questa è la documentazione per rm (abbreviazione di Remove-Item) on PowerShell.
  • Questa è la documentazione per rmon UNIX.

Vedi la differenza?

Su UNIX, rm -rf da sola non è valido. Hai detto che cosa fare tramite rm per rimuovere con gli attributi r per ricorsiva e f per forza, ma non hai detto che quello che l'azione dovrebbe essere fatto su. rm -rf /path/to/delete/ significa rm (rimuovere) con gli attributi r (ricorsivo) e f (vigore) sulla directory /path/to/remove/ e le sue sottodirectory.

la correttezza, comando equivalente PowerShell sarebbe:

rm C:\path\to\delete -r -fo 

noti che -f in PowerShell è ambigua per -Filter e -Force e quindi -fo deve essere utilizzato.

+0

Grazie! Questo ha senso perché non ho potuto trovare documenti su -rf. –

+0

Nessun problema. Sono contento di poterti aiutare. –

+1

Per completezza, l'equivalente di PowerShell sarebbe 'rm \ -r -f'. È possibile abbreviare i nomi dei parametri in PowerShell, ma non è possibile impilarli. – JasonMArcher

21

Devi usare:

Remove-Item C:\tmp -Recurse -Force 

o (breve)

rm C:\tmp -Recurse -Force 
+0

Quindi .. waht fa rm -rf/does in powershell? –

+0

rm -rf/non funziona in PowerShell, è un comando * nix. –

+0

Gotcha, non l'hai specificato all'inizio, quindi non ero sicuro. –