2015-03-21 2 views
1

Я пытаюсь получить идентификатор процесса текущего текущего процесса. Я дал запрос и отфильтровал конкретный процесс, используя команду wmic. Но я не могу получить идентификатор процесса.Получить определенное слово из вывода командной строки в окнах

Есть ли какой-либо способ получить идентификатор процесса в качестве выхода в одиночку?

мой выход

Вход: wmic process where caption="tomcat6.exe" get commandline,processid | find "GxTomcatInstance"

Выход: "C: \ Program Files \ Apache \ Bin \ tomcat6.exe" // RS // GxTomcatInstance001 5260

Я получаю как processID и командной строки, но мне просто нужен только идентификатор процесса. Есть ли способ достичь этого?

+0

Хммм, ваша команда явно просит GET ** commandline ** и processid, но вы хотите только processid. Интересно, что это за решение? – dbenham

ответ

1

Как правило, для получения вывода команды используйте команду for /f.

Синтаксис немного сложно, особенно, когда wmic получает на борту, но это нужно сделать:

for /f "tokens=3 delims=," %%i in ('wmic process where caption^="tomcat6.exe" get commandline^,processid /format:csv ^|find "GxTomcatInstance" ') do set /a pid=%%i 
0

Вы просите в командной строке.

WMIC процесс, в котором заголовок = "tomcat6.exe" получить командную строку, ProcessId | найти

Смежные вопросы