Отфильтрованный список задач, вставленный в find, не показывает вывод консоли? - PullRequest
0 голосов
/ 22 января 2010

Windows XP Pro

Показывает вывод в консоли:

dir | find " free"

Это не так:

tasklist | find "Image Name"

Это делает :

tasklist | find /C "Image Name"

И записывает ожидаемую строку в файл:

tasklist | find "Image Name" > foo.txt

Что вызывает это?

Ответы [ 4 ]

5 голосов
/ 22 января 2010
> tasklist | find "Image Name"
Image Name                     PID Session Name        Session#    Mem Usage

Не могу воспроизвести здесь. Ваша вторая командная строка работает, как и ожидалось, и поэтому не возникает путаницы, когда четвертая записывает эту строку в файл.

Возможно, у вас все еще оставался начальный пробел в строке для поиска по предыдущей строке при поиске " free"?

3 голосов
/ 23 января 2010

как насчет findstr? ты пробовал?

C:\test>tasklist  | findstr "Image Name"
Image Name                   PID Session Name     Session#    Mem Usage
0 голосов
/ 26 августа 2013

Благодаря Stack Overflow я узнал ответ на этот вопрос некоторое время назад. (Очевидно, я должен, вероятно, прокомментировать вместо ответа здесь, но у меня пока нет представителя.) Прочитайте ссылку, но в итоге выводится, что выходные данные tasklist.exe содержат не-печатный мусор, который исправляется путем перенаправления стандартной ошибки. в NUL: tasklist.exe 2>NUL | find "Image Name"

0 голосов
/ 07 ноября 2011

если флаг / C показал, что определенная строка была найдена, возможно, строка, возвращаемая функцией 'find', была каким-то образом удалена (или там, как специальный символ в строке), и отображался только конец строки? Что произойдет, если вы измените размер окна командной строки?
Вот исправление:
tasklist | find "3184" | sort

...