Qual è l'equivalente per windows di rm -r [nome-direttrice]
?
deltree
se mi ricordo il mio DOS.
Sembra che sia stato aggiornato... questo è quello che vuoi:
Questo rimuove la directory C:\test
, con le indicazioni :
rmdir c:\test /s
Questo fa la stessa cosa, senza messaggi:
rmdir c:\test /s /q
Per quanto riguarda la parte sudo della tua domanda, se hai bisogno di più privilegi, puoi prima aprire una nuova shell come un altro account utente usando il comando runas
, come questo:
runas /user:Administrator cmd
rmdir c:\test /s /q
Se volete eliminare una lunga e complicata struttura di cartelle dal prompt dei comandi che RmDir non toccherà e nemmeno explorer può visualizzare, ho scoperto che robocopy può essere molto efficiente nel rimuovere la struttura. Nell'esempio qui sotto abbiamo una struttura massiccia all'interno della cartella administrator, la struttura è così profonda che niente può rimuoverla. Creiamo una nuova cartella vuota chiamata (stranamente!) "nuova cartella". Poi usiamo 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
In questo caso i percorsi delle cartelle erano così lunghi da non entrare nemmeno nello Screen Buffer della finestra del prompt dei comandi, ma Robocopy attraverserà la struttura e rimuoverà ogni "extra" file e cartelle (cioè tutto ciò che non è nella nuova cartella vuota, che è tutto).
Se avete un percorso davvero molto lungo, (come ho fatto io a causa di un errore del programma java), anche robocopy non ce la fa. È sceso per circa 30 secondi nel mio percorso e poi si è bloccato.
La mia soluzione: se potete spostare l'intero percorso problematico da una cartella all'altra allora potete tagliare via ricorsivamente e ripetutamente delle 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 file, dovete aggiungere altri 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