상위 10 개의 메모리를 소비하는 프로세스를 얻으려고하고 있는데이 코드에서 대답으로 제공된 Question 코드를 사용하고 있습니다. 그것은 다른 메모리 크기를 소모하는 프로세스의 여러 항목을 원하지 않는다는 점을 제외하고는 잘 작동하며 메모리 소비량이 다르기 때문에 정렬 할 수 없습니다. 코드는 다음과 같습니다 대신 기존 코드의 출력동일한 프로세스 이름을 가진 항목을 제거하는 방법이 있습니까?
96931840:iexplore.exe
82161664:explorer.exe
42319872:svchost.exe
31469568:dwm.exe
25690112:SearchIndexer.exe
17002496:taskhostex.exe
11007590:VCExpress.exe
8033894:avp.exe
7190528 :Skype.exe
7000416 :SkypeBrowserHost.exe
:
@echo off
setlocal EnableDelayedExpansion
(for /F "skip=1 tokens=1,2" %%a in ('wmic process get name^,workingsetsize') do (
set "size= %%b"
echo !size:~-10!:%%a
)) > wmicc.txt
set i=0
for /F "skip=1 delims=" %%a in ('sort /R wmicc.txt') do (
echo %%a
set /A i+=1
if !i! equ 25 goto :end
)
:end
내가 같은 출력을 얻을 수
96931840:iexplore.exe
82161664:explorer.exe
42319872:svchost.exe
33656832:svchost.exe
31469568:dwm.exe
26943488:iexplore.exe
25690112:SearchIndexer.exe
18550784:svchost.exe
17002496:taskhostex.exe
16343040:svchost.exe
당신에게 확신합니다, 당신은 단지 크기를 추가하는 대신 배수를 무시하고 싶어? – Stephan
@Stephan 예, 물론입니다. 나는 프로세스 이름에 더 관심이 있고 추가 된 크기는 나를 위해 너무 중요하지 않다. – San852
질문에 게시 한 데이터에는 숫자와 이름을 구분하는 공백이 표시됩니다. 이미지에 게시 한 데이터에는 콜론이 표시됩니다. 표시된대로 데이터에 콜론이 있으면 tokens = 1 * "%% p"를 for/f로 변경하십시오. tokens = 1 * delims = : "%% p" – Magoo