Ir ao conteúdo
  • Cadastre-se

Outro Arquivo .bat (batch) executavel a cada 15 segundos ou mais.


Posts recomendados

Boa noite meus caros, criei uma conta recentemente neste site :3

Gostaria de saber como eu programo um código para ser executado automaticamente a cada 15 segundos.
  Basicamente criei um arquivo (.bat) para limpeza e otimização do computador e gostaria de ajuda em geral pois ainda estou aprendendo essa linguagem de executáveis.

 

@ECHO OFF
title CleanerproX By Marcos
mode 30,13
color 0c
:menu
cls
echo [1] Limpar memoria
echo [2] Sair
set/p menu=">"
if %menu% equ 1 goto voltar
if %menu% equ 2 exit


:voltar
set a= °
cls
echo.
echo BAT PARA LIMPAR A MEMORIA RAM!
echo.
set n=0

echo.
:limpa
echo.
ECHO -----------PASSANDO.RODO-----------
ECHO.
echo.
echo.
del /s /f /q c:\windows\temp\*.*
rd /s /q c:\windows\temp
md c:\windows\temp
del /s /f /q %temp%\*.*
rd /s /q %temp%
md %temp%
del /s /f /q c:\windows\temp\*.*
del /s /f /q  c:\windows\prefetch\*.*
del /s /f /q  c:\windows\Downloaded Program Files\*.*
del /s /f /q  c:\windows\Installer\*.*
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
cls


este é o codigo que ja criei até agora , ele basicamente limpa as pastas  (temp, prefetch, %temp%, arquivos baixados por programas, e instaladores). além de otimizar a ram do computador. tudo isso com um clique. Também criei uma interface pro "Programa"

Então basicamente o que eu queria fazer é um tipo de Repetidor de comando que funcione a cada 15 Ou menos segundos ; 
Dentro do código eu tenho uma linha de comando, essa:
 

%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks

gostaria de "Separar ela" e fazer com que seja executada a cada 15 ou menos segundos. desse modo otimizando a ram do computador e o deixando mais leve.

.

Também gostaria de personalizar melhor a interface do programinha e colocar mais "Botões" por exemplo um "[3]Ram Programada" pra executar esse código a cada 15 segundos (no caso pra ativar esse comando a cada 15 segundos)

.

Tirando isso me falem mais pastas inuteis do windows para eu poder adicionar na lista de limpeza do bat !

é isso obrigado e tenham uma boua noite ❤️

unknown.png

Link para o comentário
Compartilhar em outros sites

Quando você tem espaços em um caminho você tem que usar aspas por exemplo:


del /s /f /q  "c:\windows\Downloaded Program Files\*.*"

 

Para repetir a cada 15 segundos você poderia usar algo assim:


:Repetir

%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks

echo.

timeout /t 15

goto :Repetir

 

O que você quer que aconteça quando a pessoa escolhe a opção Ram Programada? No caso é só criar outro if com goto para apontar para a opção....

Link para o comentário
Compartilhar em outros sites

No caso ficaria assim ? 
 

@ECHO OFF
title CleanerproX By Marcos
mode 30,13
color 0c
:menu
cls
echo [1] Limpar memoria
echo [2] Sair
echo [3] Ram Programada
set/p menu=">"
if %menu% equ 1 goto voltar
if %menu% equ 2 exit
if %menu% equ 3 goto voltar


:voltar
set a= °
cls
echo.
echo Arquivo para otimazar seu computador !
echo.
set n=0

echo.
:limpa
echo.
ECHO -----------PASSANDO.RODO-----------
ECHO.
echo.
echo.
del /s /f /q c:\windows\temp\*.*
rd /s /q c:\windows\temp
md c:\windows\temp
del /s /f /q %temp%\*.*
rd /s /q %temp%
md %temp%
del /s /f /q c:\windows\temp\*.*
del /s /f /q  c:\windows\prefetch\*.*
del /s /f /q  c:\windows\Downloaded Program Files\*.*
del /s /f /q  c:\windows\Installer\*.*
cls

echo
:Repetir

%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks

echo.

timeout /t 15

goto :Repetir

 

adicionado 4 minutos depois
2 minutos atrás, KingDroid3 disse:

No caso ficaria assim ? 
 


@ECHO OFF
title CleanerproX By Marcos
mode 30,13
color 0c
:menu
cls
echo [1] Limpar memoria
echo [2] Sair
echo [3] Ram Programada
set/p menu=">"
if %menu% equ 1 goto voltar
if %menu% equ 2 exit
if %menu% equ 3 goto voltar


:voltar
set a= °
cls
echo.
echo Arquivo para otimazar seu computador !
echo.
set n=0

echo.
:limpa
echo.
ECHO -----------PASSANDO.RODO-----------
ECHO.
echo.
echo.
del /s /f /q c:\windows\temp\*.*
rd /s /q c:\windows\temp
md c:\windows\temp
del /s /f /q %temp%\*.*
rd /s /q %temp%
md %temp%
del /s /f /q c:\windows\temp\*.*
del /s /f /q  c:\windows\prefetch\*.*
del /s /f /q  c:\windows\Downloaded Program Files\*.*
del /s /f /q  c:\windows\Installer\*.*
cls

echo
:Repetir

%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks

echo.

timeout /t 15

goto :Repetir

 

testei e meio que o [1] limpar memoria vai puxar o :

%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks

então qual if eu precisaria criar para que o [1] não puxasse, apenas o [3]

Link para o comentário
Compartilhar em outros sites

Algo mais ou menos assim:


@ECHO OFF
title CleanerproX By Marcos
chcp 1252 > Nul
set Intervalo=15
mode 30,13
color 0c
:menu
cls
echo [1] Limpar memoria
echo [2] Sair
echo [3] Ram Programada
echo.
set/p menu=">"

if %menu% equ 1 goto :voltar
if %menu% equ 2 exit
if %menu% equ 3 (goto :ram) else (cls& echo Opção inválida& pause& goto :menu)

:ram
cls
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
echo Executando Limpeza da RAM a cada %Intervalo% segundos
echo.
timeout /t %Intervalo%
goto :ram
exit

:voltar
set a= °
cls
echo.
echo BAT PARA LIMPAR A MEMORIA RAM!
echo.
set n=0
echo.
:limpa
echo.
ECHO -----------PASSANDO.RODO-----------
ECHO.
echo.
echo.
timeout /t 3
del /s /f /q c:\windows\temp\*.*
rd /s /q c:\windows\temp
md c:\windows\temp
del /s /f /q "%temp%\*.*"
rd /s /q "%temp%"
md "%temp%"
del /s /f /q c:\windows\temp\*.*
del /s /f /q  c:\windows\prefetch\*.*
del /s /f /q  "c:\windows\Downloaded Program Files\*.*"
del /s /f /q  c:\windows\Installer\*.*
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
cls

Link para o comentário
Compartilhar em outros sites

2 horas atrás, ricardo_br disse:

Algo mais ou menos assim:

 


@ECHO OFF
title CleanerproX By Marcos
chcp 1252 > Nul
set Intervalo=15
mode 30,13
color 0c
:menu
cls
echo [1] Limpar memoria
echo [2] Sair
echo [3] Ram Programada
echo.
set/p menu=">"

if %menu% equ 1 goto :voltar
if %menu% equ 2 exit
if %menu% equ 3 (goto :ram) else (cls& echo Opção inválida& pause& goto :menu)

:ram
cls
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
echo Executando Limpeza da RAM a cada %Intervalo% segundos
echo.
timeout /t %Intervalo%
goto :ram
exit

:voltar
set a= °
cls
echo.
echo BAT PARA LIMPAR A MEMORIA RAM!
echo.
set n=0
echo.
:limpa
echo.
ECHO -----------PASSANDO.RODO-----------
ECHO.
echo.
echo.
timeout /t 3
del /s /f /q c:\windows\temp\*.*
rd /s /q c:\windows\temp
md c:\windows\temp
del /s /f /q "%temp%\*.*"
rd /s /q "%temp%"
md "%temp%"
del /s /f /q c:\windows\temp\*.*
del /s /f /q  c:\windows\prefetch\*.*
del /s /f /q  "c:\windows\Downloaded Program Files\*.*"
del /s /f /q  c:\windows\Installer\*.*
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
cls

 

Realmente muito bom , mais você sabe me dizer se isto realmente libera ram ? no caso o comando:
 

%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks

ele realmente libera a ram do computador ? 

.

Duvida 2 - Como eu crio um comando que fecha as tarefas que nao estão sendo ultilizadas ?

.

Duvida 3 - Você conhece mais pastas do windows que são inuteis e podem ser apagadas ?

valeu por toda a ajuda ae mano 
aguardo retorno :)

Link para o comentário
Compartilhar em outros sites

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!