Windows XP专业版
这显示控制台中的输出:
dir | find " free"
这不是:
tasklist | find "Image Name"
:
tasklist | find /C "Image Name"
此 将预期的行写入文件:
tasklist | find "Image Name" > foo.txt
是什么导致的?
答案 0 :(得分:5)
> tasklist | find "Image Name"
Image Name PID Session Name Session# Mem Usage
无法在这里重现。您的第二个命令行确实按预期工作,这样当第四个命令行将该行写入文件时就不会出现混淆。
在您搜索" free"
时,您是否仍然在字符串中有前导空格来搜索上一行?
答案 1 :(得分:3)
如何找到?你试过吗?
C:\test>tasklist | findstr "Image Name"
Image Name PID Session Name Session# Mem Usage
答案 2 :(得分:0)
如果/ C标志显示找到了特定的行,那么'find'返回的字符串可能会以某种方式被剥离(或者作为字符串中的特殊字符)并且只显示字符串的结尾?如果要调整命令行窗口的大小,会发生什么?
这是一个修复:
tasklist | find "3184" | sort
答案 3 :(得分:0)
感谢Stack Overflow,我一会儿就学会了the answer to this question。 (显然我应该评论而不是在这里回答,但我还没有代表。)阅读链接,但总结是tasklist.exe的输出有一些非打印垃圾,通过重定向标准错误修复到NUL:tasklist.exe 2>NUL | find "Image Name"