É difícil fazer o cálculo manualmente.
Você pode usar tasklist
para obter o uso da memória.
Exemplo:
> tasklist /fi "imagename eq opera*"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
opera.exe 5444 Console 1 78840 K
opera_crashreporter.exe 8404 Console 1 6308 K
opera.exe 8936 Console 1 66708 K
opera.exe 7804 Console 1 70344 K
opera.exe 2304 Console 1 28200 K
opera.exe 4612 Console 1 73640 K
opera.exe 8460 Console 1 41168 K
O arquivo de lote a seguir fará a soma para você e exibirá o resultado a cada 60 segundos.
test.cmd:
@echo off
setlocal enabledelayedexpansion
:start
set _mem=0
for /f "skip=3 usebackq tokens=5" %%i in ('tasklist /fi "imagename eq opera*"') do (
set /a _mem += %%i
)
echo Total Memory = !_mem! K
rem wait 60 seconds
timeout 60 /nobreak
goto :start
endlocal
Exemplo:
> test
Total Memory = 365464K
Waiting for 0 seconds, press CTRL+C to quit ...
Total Memory = 365216K
Waiting for 51 seconds, press CTRL+C to quit ...
^CTerminate batch job (Y/N)? y
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD
- Uma lista categorizada de comandos do Windows CMD
- para / f - Comando Loop contra os resultados de outro comando.
- definir - Exibir, definir ou remover variáveis de ambiente do CMD. As alterações feitas com o SET permanecerão apenas pela duração da sessão atual do CMD.