фильтр в tasklist.exe не принимает подстановочные знаки?

ОС :Windows XP, Windows 7 64-битная.

У нас есть довольно здоровенные сценарии cmd, которые используются для некоторых ежедневных процессов сборки. Эти сценарии порождают множество других (оконных )процессов. Существует один управляющий скрипт cmd, небольшой простой скрипт, который запускает основной скрипт cmd. Целью небольшого управляющего сценария является очистка в ситуациях, когда основной сценарий или любой из его дочерних элементов терпят неудачу. Это достигается довольно легко :основной сценарий и все его дочерние элементы имеют заголовки окон, которые начинаются с уникального идентификатора. Когда управляющий сценарий определяет, что основной сценарий и все его дочерние элементы должны быть завершены, он использует список задач для поиска окон любых зависших процессов через:

tasklist.exe /FI "WINDOWTITLE eq UniqueIdentifier *"

Все это прекрасно работало в XP. Теперь введите Windows7 64 -бит. Здесь, если основной сценарий.cmd или любое другое окно оболочки.cmd пытается установить заголовок окна через

title UniqueIdentifier Followed By Descriptive Text

Windows7 64 -бит любезно добавляет другой текст к заголовку (, в частности, «Администратор :» или аналогичный ). На предшествующий текст нельзя полагаться. Итак, теперь мы хотим использовать

tasklist.exe /FI "WINDOWTITLE eq *UniqueIdentifier*"

но ЭТО ОШИБКА с сообщением об ошибке «Фильтр поиска не может быть распознан». Использование нашего уникального идентификатора в качестве сообщения -не работает :команда

tasklist.exe /FI "WINDOWTITLE eq *UniqueIdentifier"

также приводит к тому же сообщению об ошибке. Кажется, что понятие Microsoft «подстановочный знак» в фильтре не выходит за рамки наличия «*» в качестве конечного символа. Ой.

У КОГО-НИБУДЬ ЕСТЬ РАБОТА -В ОКРЕСТНОСТЯХ? Pslist, похоже, не позволяет фильтровать по заголовку окна.

18
задан Wolf 10 February 2017 в 12:40
поделиться