Wat is het windows equivalent van rm -r [directory-naam]
?
herinner.deltree
als ik me mijn DOS
Het lijkt erop dat het is bijgewerkt... dit is wat je wilt:
Dit verwijdert de directory C:test
, met prompts :
rmdir c:\test /s
Dit doet hetzelfde, zonder prompts :
rmdir c:\test /s /q
Wat betreft het sudo gedeelte van je vraag, als je meer priviliges nodig hebt, kan je eerst een nieuwe shell openen als een andere gebruikersaccount met het runas
commando, zoals dit:
runas /user:Administrator cmd
rmdir c:\test /s /q
Als je een lange en ingewikkelde mappenstructuur wilt verwijderen vanaf de opdrachtprompt die RmDir niet zal aanraken en zelfs explorer niet kan weergeven, heb ik ontdekt dat robocopy zeer efficiënt kan zijn in het verwijderen van de structuur. In het voorbeeld hieronder hebben we een enorme structuur in de map administrator, de structuur is zo diep dat niets het kan verwijderen. We maken een nieuwe lege map aan genaamd (vreemd genoeg!) "new folder". We gebruiken dan het robocopy commando, en vertellen het dat de bron folder "new folder" is en de doel folder "D:\Administrator" met de /MIR parameter wat betekend dat het alles zal verwijderen wat niet in de bron folder zit.
robocopy "D:\new folder" D:\Administrator /MIR
In dit geval waren de map paden zo lang dat ze niet eens in de Screen Buffer van de opdrachtprompt pasten, maar Robocopy doorkruist de structuur en verwijdert alle "extra" bestanden en mappen (d.w.z. alles wat niet in de nieuwe lege map zit, en dat is alles).
Als je een heel erg lang pad hebt, (zoals ik had vanwege een java programma fout), kan zelfs robocopy het niet doen. Het daalde voor ongeveer 30sec in mijn pad en hing toen.
Mijn oplossing: als je het hele probleem pad kunt verplaatsen van de ene map naar de andere, dan kun je recursief wegsnijden en herhaaldelijk een aantal map trappen vanaf de top.
Deze Batch speelt pingpong tussen de twee mappen leer en leer2 en snijdt telkens 8 'libraries' elke keer. Als je pad bestanden bevat, moet je nog meer commando's toevoegen om ze te wissen.
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