0

视窗 XP 专业版

这在控制台中显示输出:

dir | find " free"

这不会:

tasklist | find "Image Name"

这样

tasklist | find /C "Image Name"

确实将预期的行写入文件:

tasklist | find "Image Name" > foo.txt

是什么原因造成的?

4

4 回答 4

6
> tasklist | find "Image Name"
Image Name                     PID Session Name        Session#    Mem Usage

在这里无法重现。您的第二个命令行确实按预期工作,这样当第四个命令行将该行写入文件时不会出现混淆。

当您搜索 时,您是否仍有字符串中的前导空格要从上一行搜索" free"

于 2010-01-22T18:40:16.643 回答
3

findstr 呢?你有没有尝试过?

C:\test>tasklist  | findstr "Image Name"
Image Name                   PID Session Name     Session#    Mem Usage
于 2010-01-23T00:13:27.787 回答
0

多亏了 Stack Overflow,我不久前才知道了这个问题的答案。(显然我应该在这里评论而不是回答,但我还没有代表。)阅读链接,但总结是 tasklist.exe 的输出有一些通过重定向标准错误修复的非打印垃圾到 NUL:tasklist.exe 2>NUL | find "Image Name"

于 2013-08-26T15:54:49.137 回答
0

如果 /C 标志显示找到了特定的行,那么“find”返回的字符串可能以某种方式被剥离(或者作为字符串中的特殊字符)并且只显示字符串的结尾?如果你调整命令行窗口的大小会发生什么?
这是一个修复:
tasklist | find "3184" | sort

于 2011-11-07T11:53:56.917 回答