Como apagar recursivamente o directório da linha de comandos no windows?
Qual é o equivalente do windows ao rm -r [directory-name]
?
Qual é o equivalente do windows ao rm -r [directory-name]
?
. deltree
se me lembro do meu DOS
Parece que foi actualizado… isto é o que você quer:
RMDIR /S
**
Isto remove o directório C:\test
, com prompts :
rmdir c:\test /s
Isto faz o mesmo, sem prompts :
rmdir c:\test /s /q
Em relação à parte sudo da sua pergunta, se precisar de mais privilégios, pode primeiro abrir uma nova shell como outra conta de utilizador usando o comando runas
, como este:
runas /user:Administrator cmd
rmdir c:\test /s /q
Se você quiser apagar uma estrutura de pastas longa e complicada do prompt de comando que o RmDir não toca e nem mesmo o explorador pode exibir, eu descobri que o robocopy pode ser muito eficiente na remoção da estrutura. No exemplo abaixo temos uma estrutura massiva dentro do administrador de pastas, a estrutura é tão profunda que nada a pode remover. Nós criamos uma nova pasta vazia chamada (estranhamente!) “nova pasta”. Depois usamos o comando robocopy, dizendo-lhe que a pasta de origem é “nova pasta” e a pasta de destino é “D:\Administrator” com o parâmetro /MIR o que significa que irá purgar qualquer coisa que não esteja na pasta de origem.
robocopy "D:\new folder" D:\Administrator /MIR
Neste caso os caminhos das pastas eram tão longos que nem caberiam na janela de comandos Screen Buffer, mas o Robocopy irá atravessar a estrutura e remover quaisquer ficheiros e pastas “extra” (ou seja, qualquer coisa que não esteja na nova pasta vazia, que é tudo).
Pode fazer o seguinte no PowerShell, se estiver no Windows Vista+ :
rm C:\path\to\delete -r -f[orce]
Para mim, o que funciona é
del /s dir
Pode adicionar /q
para desactivar a confirmação. Nunca consegui que o rmdir
funcionasse (em XP)
Se você tem um caminho realmente longo, (como eu fiz por causa do erro do programa java), até mesmo o robocopy não pode fazer isso. Desceu durante cerca de 30 segundos para o meu caminho e depois pendurou.
A minha solução: se conseguir mover todo o caminho do problema de uma pasta para outra então pode cortar recursivamente e repetidamente algumas escadas de directório do topo.
Este Batch joga pingpong entre os dois directórios leer e leer2 e corta 8 ‘bibliotecas’ de cada vez. Se o seu caminho contém ficheiros, tem de adicionar mais comandos para os apagar.
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
Do CMD Basta correr RD /s C:\path\to\delete Hit Y para o prompt
/s garante que todos os subdirectórios são apagados também.
Reference Run help RD a partir da linha de comando
Isto irá apagar “a minha pasta” sem aviso prévio:
rd /s /q "C:\Users\gourav.g\AppData\Roaming\my folder"