2015-03-29 7 views
1

Я пытаюсь написать одну строку CMD команду, которая:Построить CMD команду для извлечения PID из TaskList и использовать условие на результат

  • выполнить tasklist с PID фильтра
  • итерацию по выходу
    • сделать что-то, если PID нашли
    • сделать что-то еще, если PID не был найден

Так я прочитал How to extract a specific field from output of tasklist on the windows command line и использовал этот answer построить эту команду:

for /f "tokens=2 delims=," %F in ('tasklist /nh /fi "PID eq 5284" /fo csv') do if %F NEQ "5284" (@echo no) else (@echo yes) 

я не получил ожидаемого результата. Скорее всего, синтаксис был неправильным.

+2

Команда цикла выполняется только в том случае, если существует PID 5284. Попробуйте это: '(for/f" tokens = 2 delims =, "% F in ('tasklist/nh/fo csv/fi" PID eq 5284 "') do @echo yes) || @echo no'. – eryksun

+0

@eryksun Это здорово. отправьте ответ, и я соглашусь. 10x – idanshmu

ответ

0

Просто проводка ответа Ответил eryksun:

(для/ф "токенов = 2 delims =" % F в ('Tasklist/пНо/Ф.О. CSV/ц "PID эк 5284"') do @echo yes) || @echo no