2016-06-20 3 views
0

Не знаю, где я неправильно, но я хочу, окончательный вывод только показать любые строки шляпы не содержат C: \ Windows \ System или C: \ Windows \ system32Для контура конечной продукции

@echo off 
for /f "tokens=2" %%n in ('sc query state^= all ^| findstr SERVICE_NAME') do (
    for /f "delims=: tokens=1*" %%r in (
    'sc qc "%%~n" ^| findstr BINARY_PATH_NAME' 
) do (
    echo %%~s ^| findstr /V "C:\Windows\system32 C:\Windows\System32" 
) 
) 

Результат просто перечисляет все команды в цикле, но не предоставляет мой последний список сервисов.

ответ

1

Попробуйте изменить

echo %%~s ^| findstr /V "C:\Windows\system32 C:\Windows\System32" 

к

echo %%~s | findstr /V /I "c:\windows\system32" 

Другими словами, добавить флаг регистронезависимое, и удалите экранирование символа трубы. Это работает для меня, если я сохраню его как файл .cmd.

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