O comando rmdir é usado para remover diretórios vazios. Se você tentar remover um diretório não vazio com este comando, você encontrará o erro Rmdir Directory Not Empty.

Esse é o comportamento pretendido, mas alguns usuários relataram casos em que enfrentaram esse erro apesar usando rmdir em um diretório vazio. Isso acontece devido a motivos como erros do sistema de arquivos ou links simbólicos quebrados.

Detalhamos várias maneiras de resolver ou contornar esse erro nos sistemas Linux e Windows nas seções abaixo.

Corrigir erro de diretório Rmdir não vazio no Linux

A correção mais fácil é usar o comando rm em vez de rmdir. Se esta solução alternativa não lhe agradar, ou o comando rm também não funcionar, o resto das soluções serão úteis.

Use o comando rm

A sintaxe base para o comando rm é rm . O sinalizador -d remove o diretório se estiver vazio. Mas no caso de diretórios não vazios, você pode usar o sinalizador -r para excluir recursivamente o diretório especificado e seu conteúdo.

Por exemplo, aqui está um exemplo básico:
rm-r diretório
Para forçar exclua um diretório, adicione o sinalizador-f como:
rm-rf diretórioSe o caminho ou nome do diretório contiver espaços, use aspas “” como tal:
rm-rf “diretório” Adicione sudo para resolver quaisquer problemas de permissão como:
sudo rm-rf directory

Finalmente, certifique-se de não usar sudo rm-rf/pois isso faria com que o conteúdo do diretório raiz, ou seja, todo sistema de arquivos montado, fosse excluído.

Excluir via GUI

Quando as coisas não funcionam na GUI , voltamos para a linha de comando. Por mais incomum que isso possa parecer, as coisas são o oposto neste caso. Vários usuários relataram que a exclusão da pasta por meio do Navegador de arquivos funcionou para eles. Vale a pena tentar isso antes de conferir as outras soluções.

Verificar sistema de arquivos

Erros no sistema de arquivos são um motivo comum para exclusão de arquivos e problemas semelhantes. Como tal, usar o utilitário fsck (Verificação de consistência do sistema de arquivos) pode ser útil. Aqui estão as etapas necessárias para isso:

Use o comando df-h e observe o sistema de arquivos no qual você deseja executar o fsck. Vamos usar/dev/sda4 como exemplo. Use o comando sudo umount/dev/sda4 para desmontá-lo. Se for um sistema de arquivos raiz, você precisará inicializar a partir de um live CD para poder desmontá-lo. Em seguida, use sudo fsck/dev/sda4 e aceite os prompts para aprovar as ações de reparo.
Após a conclusão do reparo, use o comando sudo mount/dev/sda4 para remontar o dispositivo e verifique se o problema for resolvido agora.

Excluir do servidor de arquivos

Houve casos em que o diretório não pôde ser excluído porque fazia parte de um sistema de arquivos montado com CIFS (Samba). Como havia um arquivo que era um link simbólico quebrado, não o mencionei.

No CIFS, você não seria capaz de ver isso e, portanto, poderia estar assumindo erroneamente que o diretório está vazio. Nesses casos, você precisaria excluir o arquivo diretamente do servidor de arquivos.

Correções de nó

Os usuários relataram casos em que o diretório foi aberto em um aplicativo node.js ou em que um node server estava acessando periodicamente os arquivos no diretório, fazendo com que os meta-arquivos menores existissem dentro do diretório constantemente.

Em tais casos, desligar o aplicativo ou servidor que está acessando o diretório no momento resolveria o problema.

Corrigir diretório Rmdir não vazio no Windows

Embora o aplicativo seja um pouco diferente, a ideia por trás da correção desse erro no Windows é muito semelhante aos métodos listados para Linux.

Resolva problemas comuns

Primeiro, certifique-se de que nenhum processo esteja acessando o diretório. Além disso, verifique se você não está tentando excluir o diretório em que está atualmente, pois isso também geraria esse erro. Nesses casos, mude para um diretório diferente antes de tentar isso.

Usar o utilitário CHKDSK para resolver qualquer problema do sistema de arquivos corrigiu esse erro para vários erros. Você pode fazer o mesmo com o comando chkdsk /f/r/x.

Contornar o erro

O sinalizador /s do Rmdir tem como objetivo permitir que você exclua o diretório especificado e todos os subdiretórios e arquivos. Você pode tentar algumas coisas nos casos em que isso não funcionar como pretendido.

Você pode excluir o conteúdo do diretório antes de excluir o próprio diretório como tal:

del/f/s/q directory 1>nul rmdir/s/q directory

Alternativamente, você também pode tentar repetir a operação conforme mostrado abaixo. Supondo que não haja problemas de permissão, você poderá excluir o diretório:

rmdir/s/q c:\directory
se existir c:\directory rmdir/s/q c:\directory

Categories: IT Info