excluir todas as pastas com tmp no nome usando o arquivo de lote

2

Já tentei pesquisar no Google, mas sempre pareço obter resultados relacionados a arquivos .tmp, o que não é de nenhuma utilidade.

Eu tenho apenas uma compreensão básica dos arquivos em lote, mas acho que preciso de algo assim:

rmdir "D:\*.tmp"

A atualização do Windows parece estar despejando todas as suas pastas .tmp em nossa unidade D, já que ela tem mais espaço livre. Tudo bem, mas não apaga depois.

Eu estou olhando para escrever um arquivo em lotes, que irá percorrer e excluir qualquer pasta que tenha .tmp no final.

    
por James Edmonds 01.05.2012 / 13:37

3 respostas

4

Jogue este liner em um arquivo bat:

FOR /D /R c:\FOLDERLOCATION %%X IN (*.tmp) DO RMDIR /S /Q "%%X"

  • / D - para o diretório
  • / R - Recursivo

Isso removerá as pastas que terminam em tmp e qualquer coisa abaixo dela. Se você quiser se divertir, pode executá-lo assim:

@echo off
set dir="c:\FOLDERLOCATION\"
FOR /D /R %dir% %%X IN (*.tmp) DO RMDIR /S /Q "%%X"
pause
exit
    
por 01.05.2012 / 15:47
1

Se você adicionar /S ao final dessa linha, acredito que excluirá todas as pastas e subpastas especificadas que correspondem à sua pesquisa com curinga. Se você puder confirmar que funciona, você pode jogá-lo no Bloco de Notas e salvá-lo como um arquivo .bat . Infelizmente, eu sou da velha escola e não sei como fazer o caminho do Powershell. : o (

    
por 01.05.2012 / 15:14
0

Eu melhorei a resposta do @ RomeNYRR - obrigado @RomeNYRR!

O comando agora ecoa as pastas excluídas e oculta as mensagens de erro "elemento não encontrado":

for /d /r . %X in (*.tmp) do @rmdir /s /q "%X" 2> nul && @echo Deleted %X

Ótimo se você precisar limpar o seu compilador ...;)

for /d /r . %X in (bin obj) do @rmdir /s /q "%X" 2> nul && @echo Deleted %X
    
por 22.08.2018 / 16:25