Eu uso o Windows.
Quero excluir todos os arquivos e pastas em uma pasta por chamada de sistema.
Posso chamar assim:
>rd /s /q c:\destination
>md c:\destination
Você conhece uma maneira mais fácil?
windows
batch-file
ufukgun
fonte
fonte
Respostas:
Não, eu não conheço nenhum.
Se você deseja reter o diretório original por algum motivo (ACLs etc.) e, em vez disso, deseja realmente esvaziá-lo, você pode fazer o seguinte:
Isso primeiro remove todos os arquivos do diretório e, em seguida, remove recursivamente todos os diretórios aninhados, mas no geral mantendo o diretório de nível superior como está (exceto por seu conteúdo).
Observe que, em um arquivo em lote, você precisa dobrar o
%
dentro dofor
loop:fonte
destination
pelo caminho, possivelmente usando aspas em torno de tudo, se necessário.del c:\destination\*.* /s /q
trabalhou para mim. Espero que funcione para você também.fonte
del *.*
del "../../server/front-end\*.*"
Acho que a maneira mais fácil de fazer isso é:
O último "\" no caminho é a parte importante.
fonte
mkdir C:\FolderToNotToDelete
foi o suficiente para mim :)Sim! Use o PowerShell:
fonte
Se os nomes das subpastas contiverem espaços, será necessário colocá-los entre aspas de escape. O exemplo a seguir mostra isso para comandos usados em um arquivo em lote.
fonte
Para excluir o arquivo:
Para excluir uma pasta com todos os arquivos nela:
Excluir todos os arquivos de uma pasta específica (não excluir a própria pasta) é um pouco complicado.
del /s *.*
não pode excluir pastas, mas remove arquivos de todas as subpastas. Portanto, são necessários dois comandos:Você pode criar um script para excluir o que quiser (pasta ou arquivo) como este
mydel.bat
:Alguns exemplos de uso:
fonte
Uma opção fácil de uma linha é criar um diretório vazio em algum lugar do seu sistema de arquivos e, em seguida, usar
ROBOCOPY
( http://technet.microsoft.com/en-us/library/cc733145.aspx ) com a/MIR
opção para remover todos os arquivos e subpastas. Por padrão, o robocopy não copia a segurança, portanto, as ACLs em sua pasta raiz devem permanecer intactas.Também é provável que você queira definir um valor para a opção de repetição
/r
, porque o número padrão de tentativas é 1 milhão.fonte
Eu tinha uma pasta de índice com 33 pastas que precisavam de todos os arquivos e subpastas removidos delas. Abri uma linha de comando na pasta de índice e usei estes comandos:
Eu os separei em duas linhas (pressione Enter após a primeira linha e, quando solicitado, adicione a segunda linha) porque, se inserido em uma única linha, pode não funcionar. Este comando irá apagar cada diretório e então criar um novo que está vazio, removendo assim todos os arquivos e subpastas no diretório original.
fonte
Navegue até o diretório pai
Line1 pushd "Diretório pai"
Exclua as subpastas
Linha2 rd / s / q. 2> nul
/superuser/173859/how-can-i-delete-all-files-subfolders-in-a-given-folder-via-the-command-prompt
fonte
pushd
tem que usarpopd
também. Infelizmente,popd
não funciona quando você exclui o diretório. Então, você tem que fazer emcd
vez depushd
.São necessários 2 passos simples. [/ q significa silencioso, / f significa forçado, / s significa subdir]
Esvazie o diretório para remover
Remova o diretório
fonte
tente fazer isso, isso irá pesquisar toda MinhaPasta no diretório raiz e excluir todas as pastas chamadas MinhaPasta
fonte
Este comando exclui todos os arquivos e pastas da navegação atual em sua linha de comando.
fonte