2016-09-05 19 views
0

我试图登录浏览器的内存使用情况为例为Chrome/Firefox的等Tasklist命令总内存的子进程窗口

对于Firefox我可以简单地使用这个小命令行:

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

这将很好地导致一个过程和它的使用。但是,当将这些想法应用到Chrome时,即使您在Chrome上进行了全面启动,您也会获得4个进程。有什么办法来总结结果吗?

对不起,这是一个愚蠢的问题,但这是我第一次尝试创建一个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. ||总和Chrome = 0 ||无法找到发生约6次,所以这是尽可能多的铬进程运行ATM,但无法找到一种方法把它放在代码中...抱歉 – 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