2014-02-18 4 views
0

Я изучаю!Как использовать оператор перенаправления трубопровода?

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

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

Полный код (Не волнуйтесь, это очень маленький):

@echo off 
title malhunt e-alpha 
echo starting... 
if exist dlls.txt del dlls.txt 
echo done verifying. 
echo grabbing dlls... 
for /f %%a in ('tasklist /m') do echo %%a >>dlls.txt 
type dlls.txt 
echo dll grabbing done 
pause 
for /f %%b in (dlls.txt) do findstr wow.dll, dlls.txt 
pause 

Простой достаточно, линия

findstr wow.dll, dlls.txt|echo * 

так что теперь я могу сказать, что эта проблема возникает на echo * Как как вы делаете echo Создаете вывод findstr?

ПРИМЕЧАНИЕ

Запятой в конце wow.dll является намеренным, потому что tasklist /m любит оставлять запятые перед динамическими библиотеками. Я знаю, что, вероятно, нет wow.dll в списке задач, но для дальнейшего использования, как я могу создать перенаправление трубопровода?

ответ

0
  • Включение запятой для поиска в dll завершится неудачей, если dll является последней в списке модулей, загружаемых в процесс.

  • Вы не можете трубить в команду echo. Echo не потребляет данные из трубы или перенаправления.

  • Вам не нужно трубы в echo команду, findstr /c:" wow.dll" dlls.txt покажет результат на консоли

+0

ли это показать результат, если такой строки не найден? – EpicTonic

+0

@EpicTonic, no. Я думаю, что мы обсуждаем ваше решение вместо вашей проблемы. Что тебе нужно? знать, что DLL загружена? знать, что DLL не загружена? узнать, какой модуль загружен? ... Какой результат вы ищете? –

+0

Чтобы узнать, загружена ли определенная DLL, скажем, известные вредоносные DLL – EpicTonic

Смежные вопросы