2013-05-28 8 views
4

나는이 윈도우의 배치 명령이 :이 문자열배치 파일 추출 문자열 부분

(spaces) ProcessId = 13764; 

에게 반환

wmic process call create "notepad.exe" | find "ProcessId" 

을 그리고 변수에 단지 PID 번호 (13764)를 저장할 필요가 어떻게 할 수 있을까요?

+0

여기에 내가 같은 것을 사용했습니다 : http://ss64.org/viewtopic.php?pid=5866#p5866 – npocmaka

답변

1
for /F "delims=" %%a in ('wmic process call create "notepad.exe" ^| find "ProcessId"') do (
    for %%b in (%%a) do set value=%%b 
) 
echo %value% 

이 방법은 줄에 마지막 단어을 반환 처음.

0

사용이 : 그것은 단어의 변수 번호로 다른 라인도 사용할 수있다 있도록

echo %strContent:~6, -1% 
+0

이것은 꽤 신뢰할 수 없습니다. PID 번호의 길이가 달라질 수 있습니다. 더 잘게 될 수 있습니다. FOR/F' 또는 두 가지 대체를 사용하십시오. – npocmaka

2
for /f "tokens=2 delims=;= " %%P in ('wmic process call create "notepad.exe" ^| find "ProcessId"') do echo %%P 
0
for /f "tokens=3 delims=;=" %%a in ("(spaces) ProcessId = 13764;") do set value=%%c 
echo %value% 
관련 문제