Ir ao conteúdo
  • Cadastre-se

Bat como fazer uma barra de progesso no .bat (batch) com tempo real


Posts recomendados

os diretórios que vão ser excluídos com os seguintes comandos são:

rd /Q /s c:\$Recycle.bin

del /q/f/s %temp%\*
del /q/f/s C:\Windows\temp

del /q/f/s C:\Windows\SoftwareDistribution

------------------------------------------------------------

c:\windows\SYSTEM32\cleanmgr.exe /dC

shutdown /r 

------------------------------------------------------------

peguei uma interface pro .bat 

e não sei como fazer uma barra de Progresso em tempo real 

então agradeço quem puder ajudar

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

se você quer deletar os arquivos temporários do pc saiba que ainda existe muitas pastas que você não colocou.

se sua vontade for apagar só o básico, como o que mostra o seu código, você pode usar o software Cleano, não precisa instalar igual aqueles mineradores do  Ccleaner e outros  "programas" que só querem lucro com algo simples, é só baixar e executar que ele já faz tudo isso, tem barra de progresso e ainda permite adicionar mais diretórios.

 

Agora se o que você quer é apagar seus rastros existe muitas coisas a mais como logs, logbags, mru, historico do windows, backups, registros, blabla que você vai ter que mexer, se tiver um pouco de habilidade a ferramenta combat v3 pode lhe ajudar a apagar os mais simples.

Se por acaso estiver usando coisas injetáveis e queira esconder, saiba que é fácil abrir e olhar o conteúdo em RAM.

Link para o comentário
Compartilhar em outros sites

@rieidi.lite como lhe informei, o Cleano é um simples executável que não precisa ser instalado, ou seja, ele não levanta junto com o windows e não possui um serviço mapeado que possa ficar ativo para consumir RAM ele muito menos possui  permissão para enviar notificações ou possui algum sistema de autenticação para ser usado para que possam lhe enviar algo de alguma forma. talvez você tenho confundido o Cleano com aquela imundic* chamada Ccleaner.

por sinal apagar essas pastas que você está colocando no seu batch não melhora desempenho, apenas libera espaço, coisa irrisória, menos de 2 GB mesmo deixando de fazer durante 6 meses.. 

Para melhorar performance você deve desabilitar a inicialização de todos os serviços que não são da microsoft, desabilitar a inicialização de programas com o windows,  desabilitar qualquer antivirus não pago pois o windows defender é melhor que qualquer coisa não paga, desabilitar animações do windows e delay de janelas, minimizar o uso do defender para 5% da CPU durante as buscas diárias e colocar o windows update para rodar somente quando o pc estiver ocioso(fora de uso), liberar desempenho maximo de energia, desabilitar cortana e desativar a opção de hibernação, deixando apenas suspenção.

se quiser o tutorial de como fazer isso é só pedir.

 

Link para o comentário
Compartilhar em outros sites

@rieidi.lite entendo, infelizmente não sei como colocar uma barra de progresso em batch, se fosse em python poderia usar o modulo "OS" para os comandos e o modulo "tdqm" para criar a barra.  Talvez o mestre @ricardo_br saiba.

 

mas posso lhe ajudar com alguns comandos batch, aí você usa se gostar de algum:

"CHKDSK /R /F" para localizar e corrigir partes corrompidas do HD

 

"sfc /scannow" para reparar arquivos do sistema do Windows

 

"Dism /Online /Cleanup-Image /RestoreHealth" para reparar a imagem do sistema online.

 

o comando "wmic diskdrive get status" para verifica se há alguma falha no disco.

 

o comando "wmic /namespace:\root\wmi path MSStorageDriver_FailurePredictStatus" verifica se o disco rígido pode começar a falhar. Verifique o "predictfailure", se for "false" então está tudo ok.

 

defrag "disco", esse comando inicia a desfragmentação do disco, por exemplo defrag c:, só use isso se for HDD e não SSD.

 

desabilitar cortana: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "AllowCortana" /t REG_DWORD /d 0 /f

 

 

desabilitar onedrive: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OneDrive" /v "DisableFileSyncNGSC" /t REG_DWORD /d 1 /f

 

 

10.desabilitar indexação de disco: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "AllowIndexingEncryptedStores" /t REG_DWORD /d 0 /f

 

 

11.desabilitar o acompanhamento de atividade: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v "AllowTelemetry" /t REG_DWORD /d 0 /f

 

 

12.desabilitar animações de transição: reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v UserPreferencesMask /t REG_BINARY /d 00000000000000000000000000000040 /f

 

 

13.remover marca da'gua: (isso é violação de licença então não faça isso em empresa!) reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Personalization" /v NoLockScreen /t REG_DWORD /d 1 /f

 

 

desativar efeito de desfoque da tela de login: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System" /v "EnableAcrylicBackground" /t REG_DWORD /d 0 /f

 

 

desativar tela de boas vindas: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI" /v "Background" /t REG_DWORD /d 0 /f

 

 

desativar o uso de informações de localização: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location" /v "Value" /t REG_DWORD /d 0 /f

 

limpar entradas de log do windows:
wevtutil el

 

Esse comando usa o PowerShell para obter uma lista de programas que iniciam automaticamente com o sistema, filtrando-os por editor (publisher) e desabilitando aqueles que não são do Microsoft:

 

powershell -Command "Get-StartupProgram | Where-Object {$_.Publisher -ne 'Microsoft Corporation'} | Disable-StartupProgram"

Link para o comentário
Compartilhar em outros sites

Aqui tem um exemplo de uma barra de progresso:

https://pastebin.com/raw/zn7QF5aN

 

spUU5Rp.gif

 

Esse exemplo não é em tempo real, para ser em tempo real você teria que fazer alguns cálculos ou analises por exemplo: rd /Q /s c:\$Recycle.bin, quanto % do processo todo esse passo representa e após a conclusão do comando adicionar o equivalente na barra de progresso ou \ e mostrando a porcentagem ex: 10 % etc...

 

Para fazer isso de forma simples sendo que são 5 tarefas: lixeira, pasta temp do usuário, pasta temp do windows e softwaredistribution, rodar o cleanmanger você poderia adicionar 20% para cada passo que vai sendo concluído e ao final ter 100%. Uma forma mais complexa seria contar a quantidade de arquivos que vai ser excluída em cada passo e calcular uma porcentagem mais precisa afinal se tiver 5 arquivos na lixeira e 7000 na pasta temp obviamente obviamente vai demorar mais apagar os arquivos da pasta temp...

 

Usando esse exemplo:

Lixeira = 300 arquivos

Pasta Temp do usuário = 450 arquivos

Pasta Temp do Windows = 50 arquivos

SoftwareDistribution = 150 arquivos

Cleanmanager = 210

 

100 % = 300 + 450 + 50 + 150 + 210 = 1160

Lixeira = (300 * 100) / 1160 = 25,86 %

Pasta Temp do usuário = (450 * 100) / 1160 = 38,79 %

Pasta Temp do Windows= (50 * 100) / 1160 = 4,31 %

SoftwareDistribution = (150 * 100) / 1160 =  12,93 %

Cleanmanager = (210 * 100) / 1160 = 18,10 %

 

* Os resultados foram arredondados para 2 casas decimais...

 

Ai você só tem que saber quantos caracteres vai colocar para representar cada valor, digamos que 50 sinais de igual representam 100% da barra de progresso

[==================================================]

50 = total

Lixeira = (50 * 25,86) / 100 = 12,93 = 13 Caracteres

[=============                                                                                 ]

Pasta temp do usuário = (50 * 38,79) / 100 = 19,39 = 19  + 13 = 33 caracteres

[=================================                                     ]

Pasta temp do Windows = (50 * 4,31) / 100 = 2,16 = 2 + 33 = 35 caracteres

[===================================                                ]

SoftwareDistribution = (50 * 12,93) / 100 =  6,47 = 6 + 35 = 41 caracteres

[=========================================                   ]                                           

Cleanmanager = (50 * 18,10) / 100 = 9,05 = 9 + 41 = 50 caracteres

[==================================================]

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!