Почему я не могу использовать подстановочные знаки в функции / фильтре TASKLIST / FI "WINDOWTITLE"? - PullRequest
2 голосов
/ 07 февраля 2012

первый пост.

Я пишу командный файл, чтобы проверить заголовок окна открытых окон, закрыть их и снова открыть, если они не соответствуют тому, что я хочу. (основная причина - автоматический перезапуск браузера, если «страница не может быть загружена»).

Моя проблема здесь ...

tasklist /FI "WINDOWTITLE eq Kingdoms of Camelot on Facebook - Mozilla Firefox"2>NUL | find /I /N "firefox.exe"2>NUL
    if "%ERRORLEVEL%"=="0" goto runningfire
    if "%ERRORLEVEL%"=="1" goto notrunningfire

Это проверяет открытые окна и сравнивает их заголовок с "Kingdoms of Camelot на Facebook - Mozilla Firefox". Это прекрасно работает, ДО !!! !!! 1008 *

Основным раздражением для меня является то, что всякий раз, когда вы получаете уведомление на Facebook / запрос / сообщение о дружбе, оно меняет строку заголовка на (1) Kingdoms ..... и тогда скрипт не работает.

Я потратил AGES на это, главным образом потому, что я ОЧЕНЬ много новичок в этом, и я очень мало знаю о пакетных файлах и сценариях.

Так что мой вопрос такой ...

Можно ли эффективно добавлять символы подстановки в начале требований к названию ... (обратите внимание на * перед заголовком)

tasklist /FI "WINDOWTITLE eq *Kingdoms of Camelot on Facebook - Mozilla Firefox"2>NUL | find /I /N "firefox.exe"2>NUL | find /I "[6]"2>NUL
    if "%ERRORLEVEL%"=="0" goto runningfire
    if "%ERRORLEVEL%"=="1" goto notrunningfire

Это было очевидное решение, но оно не работает вообще, возвращает ОШИБКУ: фильтр поиска не может быть распознан.

Я тоже пробовал 3 ??? представлять (1) и (2) и т. д., но они также не будут работать ....

Есть идеи? Пожалуйста, наведите его на полный и полный нуб.

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

Почему бы вам не попробовать

tasklist /fi "imagename eq firefox.exe" /v | find /i "Kingdoms of Camelot on Facebook - Mozilla Firefox" 2>NUL
if ....

Я использую тот же подход, чтобы получить pid процессов, которые имеют одинаковый префикс заголовка окна, и это работает.

PS: Из того, что я тестировал для команды списка задач, он не распознает подстановочный синтаксис

0 голосов
/ 11 мая 2013

Это работает.Чтобы использовать его в командном файле, добавьте каретку (^):

tasklist /fi "imagename eq firefox.exe" /v ^| find /i "Kingdoms of Camelot on Facebook - Mozilla Firefox" 2>NUL
...