2016-09-05 7 views
0

Я пытаюсь войти использование памяти браузеров для Exemple для Chrome/Firefox и т.д.Tasklist общей объем памяти конкретного предпоса с подпроцессами окнами

Для Firefox можно просто использовать эту маленькую командную строку:

tasklist /fo csv /fi "imagename eq firefox.exe" > DumpResults.csv 

И это будет приятно с помощью одного процесса и его использования. Но при применении этой последовательности мыслей к Chrome вы получите около 4 процессов, даже когда вы сделали чистый запуск Chrome. Есть ли способ суммировать результаты?

Извините за глупый вопрос, но это моя первая попытка создать файл bat.

ответ

1
@echo off 
set sum=0 
for /f "tokens=5 delims=," %%x in ('tasklist /fo csv /nh /fi "imagename eq chrome.exe"') do (
    for /f "tokens=1-4 delims=.K " %%a in (%%x) do set /a sum+=%%a%%b%%c%%d 
) 
echo Sum Chrome = %sum% 

Возможно, вам нужно адаптировать разделители к локальным настройкам. Выход на моем компьютере, как:

C:\Users> tasklist /fo csv /nh /fi "imagename eq chrome.exe" 
"chrome.exe","7744","Console","1","86.388 K" 
"chrome.exe","7784","Console","1","1.312 K" 
"chrome.exe","7920","Console","1","50.188 K" 
... 
+0

Я получил тот же результат, но сценарий возвращает || Система не может найти файл 92. || Сумма Хром = 0 || Невозможно найти происходит примерно в 6 раз, так что в нем работает хром-процессы, но они не могут найти способ поместить это в код ... извините – Akorna

+0

просто скопировал мой код сверху в новый batfile. Прекрасно работает для меня. Вы что-то изменили? Попробуйте '... %% a in (" %% ~ x ") ...' – Stephan

+0

Это исправило это для меня, хотя я этого не понимаю, спасибо большое! Я собираюсь понемногу узнать, что ты дал мне! :) – Akorna

3

Альтернативой ...

@Echo Off 
Set "sum=0" 
For /F "Tokens=6-7 Delims=., " %%a In (
    'TaskList /NH /FI "ImageName Eq chrome.exe"') Do Set/A sum+=%%a%%b 
Set sum 
Pause 

... предотвращает с помощью двух петель

+0

Чистое решение :) Спасибо! – Akorna