Подтвердить что ты не робот

Окна задач в имени заголовка

Я пытаюсь запустить taskkill в окне консоли, в котором есть пробелы в названии. Как передать этот заголовок окна в taskkill. Я пробовал следующее:

taskkill /fi "WINDOWTITLE eq Administrator: My Window Title"
4b9b3361

Ответ 1

У меня были подобные проблемы, но я узнал немного больше.

Проблема

Я пытаюсь закрыть окно CMD (запуститься как администратор), которое установило свой собственный заголовок окна. Итак, запустите CMD как администратор и введите:

title CMD with custom title

После долгих раздумий, следующая команда показала мне, что установка названия окна ставит ведущее пространство перед заголовком! (Не знаю, почему.)

c:\>tasklist /V /FI "WindowTitle eq Administrator*"

Image Name  PID Session Name Session# Mem Usage Status  User Name       CPU Time Window Title
========== ==== ============ ======== ========= ======= =============== ======== =====================================
cmd.exe    4304 Console             1   2,492 K Running MACHINE\My Name  0:00:00 Administrator:  CMD with custom title
                                                                                               🡹
(scroll 🡺)                                                                               extra space

Решение

Итак, чтобы убить процесс:

taskkill /F /FI "WindowTitle eq  Administrator:  CMD with custom title" /T
                                               🡹
                                             bingo
  • /F - используйте силу.
  • /T - убить дочерние процессы.

Если вы стучите головой аналогичным образом, я рекомендую использовать tasklist для того, чтобы просунуть внутри свойств процесса, чтобы убедиться, что вы правильно используете фильтры. Этот баллаш принес вам Windows 8.

Примечание. Если заголовок содержит кавычки, просто избегайте вложенных:

title "CMD with custom title"

taskkill /F /FI "WindowTitle eq  Administrator:  \"CMD with custom title\"" /T

Ответ 2

Я предполагаю, что эта задача выполняется на вашем сервере Windows. Если заголовок включает "Администратор:", вы не можете убить задачу с помощью WindowTitle.

Вы должны использовать это: Это мой killer.bat. SEARCH_PARAMETER = ЧТО НАЗВАНИЕ ВЫ УБЫТЬ УБИЙСТВО

@echo off
            for /f "tokens=2 delims=," %%a in ('
tasklist /fi "imagename eq cmd.exe" /v /fo:csv /nh 
^| findstr /r /c:".*SEARCH_PARAMETER[^,]*$" ') do taskkill /pid %%a

Ответ 3

taskkill/F/FI "WindowTitle eq Apache 8184"

Ответ 4

Я запускал окна командной оболочки cmd с помощью AutoIt, и подсказку об использовании списка задач действительно помогли. Я уже пробовал двойные пробелы, но команда AutoIt Run() создала оболочку cmd.exe таким образом, что tasklist/taskkill не мог видеть заголовок окна.

Если я использовал цикл или AutoIt WinKill()/WinClose() с заголовком окна для подсказки cmd, то сам AutoIt мог закрыть окно, но мои файлы bat bat-команд smd видели только c:\windows\system32\cmd как название окна.

В этом случае я смог использовать AutoIt, чтобы убить окно, а не из пакета script.