Windows 如何使用管道重定向操作符?

Windows 如何使用管道重定向操作符?,windows,batch-file,dll,command-line,cmd,Windows,Batch File,Dll,Command Line,Cmd,我在学习 唯一的问题是,我似乎无法让管道重定向操作符工作。这似乎是个愚蠢的问题 众所周知,管道操作符检索第一个命令的输出作为另一个命令的输入。我该如何做管道操作员应该做的事情 完整代码(别担心,它非常小): 这句话很简单 findstr wow.dll, dlls.txt|echo * 现在,我可以看出问题发生在echo*如何准确地生成echo创建findstr输入的输出 注释 wow.dll末尾的逗号是故意的,因为tasklist/m喜欢在动态链接库之前留下逗号。我知道任务列表上可能没有wo

我在学习

唯一的问题是,我似乎无法让管道重定向操作符工作。这似乎是个愚蠢的问题

众所周知,管道操作符检索第一个命令的输出作为另一个命令的输入。我该如何做管道操作员应该做的事情

完整代码(别担心,它非常小):

这句话很简单

findstr wow.dll, dlls.txt|echo *
现在,我可以看出问题发生在
echo*
如何准确地生成
echo
创建
findstr
输入的输出

注释

wow.dll
末尾的逗号是故意的,因为
tasklist/m
喜欢在动态链接库之前留下逗号。我知道任务列表上可能没有
wow.dll
,但为了将来参考,我如何创建管道重定向?

  • 如果dll是加载到进程中的模块列表中的最后一个,则使用逗号搜索dll将失败

  • 您不能通过管道进入
    echo
    命令。Echo不使用来自管道或重定向的数据

  • 您不需要通过管道进入
    echo
    命令,
    findstr/c:“wow.dll”dlls.txt
    将在控制台上显示结果


如果没有找到这样的字符串,它会显示结果吗?@EpicTonic,不会。我想我们讨论的是你的解决方案,而不是你的问题。你需要什么?要知道dll已加载?要知道dll未加载?要知道加载了哪个模块。。。您正在搜索什么输出?要知道某个DLL是否已加载,请说“已知恶意”DLLs@EpicTonic,
tasklist/m wow.dll | find/i“wow.dll”>nul&&echo found | | echo not found
这将通过管道将tasklist to find命令的输出传输到输出中,以测试输出中是否包含dll名称(稍后将其丢弃)。如果find命令(find)中没有errorlevel,则执行
&&
之后的代码。如果存在错误级别,则执行
|
之后的代码。我明白了。试试看,汤姆鲁
findstr wow.dll, dlls.txt|echo *