2010-08-23 19:29:30 +0000 2010-08-23 19:29:30 +0000
246
246

Come cancellare ricorsivamente la directory dalla riga di comando in windows?

Qual è l'equivalente di windows di rm -r [directory-name]?

Risposte (7)

362
362
362
2010-08-23 19:30:07 +0000

deltree se ricordo il mio DOS.


Sembra che sia stato aggiornato… questo è quello che vuoi:

Questo rimuove la directory C:\test, con i prompt :

rmdir c:\test /s
``` ```
rmdir c:\test /s /q

Questo fa lo stesso, senza prompt :

runas /user:Administrator cmd
rmdir c:\test /s /q
``` &001 


Per quanto riguarda la parte sudo della vostra domanda, se avete bisogno di più priviligi, potete prima aprire una nuova shell come un altro account utente usando il comando `runas`, come questo: 


&001
57
57
57
2012-08-09 23:13:47 +0000

Se si vuole cancellare una lunga e complicata struttura di cartelle dal prompt dei comandi che RmDir non toccherà e che nemmeno Explorer può visualizzare, ho trovato che robocopy può essere molto efficiente nel rimuovere la struttura. Nell'esempio qui sotto abbiamo una struttura massiccia all'interno dell'amministratore delle cartelle, la struttura è così profonda che nulla può rimuoverla. Creiamo una nuova cartella vuota chiamata (stranamente!) “nuova cartella”. Utilizziamo quindi il comando robocopy, dicendogli che la cartella sorgente è “nuova cartella” e la cartella di destinazione è “D:\Administrator” con il parametro /MIR che significa che eliminerà tutto ciò che non è nella cartella sorgente.

robocopy "D:\new folder" D:\Administrator /MIR
``` &001 


In questo caso i percorsi delle cartelle sono così lunghi che non entrerebbero nemmeno nella finestra del prompt dei comandi Screen Buffer, ma Robocopy attraverserà la struttura e rimuoverà qualsiasi file e cartella "extra" (cioè tutto ciò che non è nella nuova cartella vuota, che è tutto).
11
11
11
2015-08-22 16:51:47 +0000

Potete fare quanto segue in PowerShell, se siete su Windows Vista+ :

rm C:\path\to\delete -r -f[orce]
6
6
6
2014-05-17 07:42:13 +0000

Per me, ciò che funziona è

del /s dir
``` &001 


È possibile aggiungere `/q` per disabilitare la conferma. Non sono mai riuscito a far funzionare `rmdir` (su XP)
2
2
2
2014-03-05 08:37:13 +0000

Se si ha un percorso davvero molto lungo, (come ho fatto io a causa di un errore del programma java), anche robocopy non può farlo. È sceso per circa 30sec nel mio percorso e poi è rimasto appeso.

La mia soluzione: se si può spostare l'intero percorso del problema da una cartella all'altra, allora si possono tagliare via ricorsivamente e ripetutamente alcune scale di directory dall'alto.

Questo Batch gioca a pingpong tra le due directory leer e leer2 e taglia via 8 ‘librerie’ ogni volta. Se il vostro percorso contiene dei file, dovete aggiungere ulteriori comandi per cancellarli.

recurdel.cmd
:loop
move c:\leer\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer2
rd /S /Q c:\leer\libraries
move c:\leer2\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer
rd /S /Q c:\leer2\libraries
GOTO loop
2
2
2
2016-01-22 06:44:36 +0000

Da CMD Basta eseguire RD /s C:\ \ percorso \cancellare Hit Y al prompt

/s assicura che anche tutte le sottodirectory siano cancellate.

Riferimento Esegui aiuto RD dalla riga di comando

0
0
0
2018-07-04 07:09:54 +0000

Questo cancellerà “la mia cartella” senza richiedere:

rd /s /q "C:\Users\gourav.g\AppData\Roaming\my folder"