2014-11-05 5 views
0

Windows 7 .bat 파일을 사용하여 특정 작업에 대한 I/O 읽기 수를 변수에 넣고 싶습니다.tasklist의 지정된 작업에서 bat 파일 변수로 읽는 방법

tasklist.exe를 사용해 보았지만 메모리 사용량 만 표시하고 I/O 읽기가 표시 되더라도 출력을 배치 파일 변수로 리디렉션하는 방법을 모르겠습니다.

기본적으로 나는 나중에 배트 파일에서 사용할 수있는 % var % 변수에 특정 작업 (모듈 이름)에 대한 I/O 읽기를 배치 할 명령 프롬프트에서 bat 파일을 실행하려고합니다.

여기에 일, 월, 년을 변수로 입력 할 수있는 방법이 있습니다.

For /f "tokens=1-4 delims=/ " %%a in ("%DATE%") do (
    SET DAY=%%a 
    SET YYYY=%%d 
    SET MM=%%b 
    SET DD=%%c 
) 

나는 %의 TASKDATA의 %를 필요로 할 것 I/O를 포함 (% 날짜 %가 대신) 그래서 읽고 나는 그것을 꺼내와 같은 다른 변수에 할당 할 수 있습니다 : SET IOREADS = %% d를

bat 파일에서 windows 명령을 사용하여이 작업을 수행 할 수 있습니까?

답변

1

나는 나중에 다른 사람 도움이 경우 게시, 답을 알아낼 : WMIC 출력이 유니 코드에 있음을

@echo off 
wmic process where name="mstsc.exe" get readoperationcount /format:csv>tempuni.txt 
type tempuni.txt>temp.txt 
del tempuni.txt 
setLocal EnableDelayedExpansion 
for /f "skip=2 tokens=2 delims=, " %%a in (temp.txt) do (
    set /a N+=1 
    set v%N%=%%a 
) 
del temp.txt 
set IOREADS=%v2% 
echo I/O Reads = %IOREADS% 

주 나는 "유형"ASCII로 변환하는 다른 파일에 파일에 있습니다 . 그런 다음 파일 내용을 분석하여 ioread 카운트를 얻습니다.이 경우 mstsc.exe 프로세스가 필요합니다.