ver procesos proceso parametros para nro funciona forzado error encontro comandos argumentos windows batch-file cmd

windows - procesos - espacios de ventana de Taskkill en su nombre de título



taskkill/f/pid nro pid (6)

Estoy tratando de ejecutar taskkill en una ventana de consola que tiene espacios en su título. ¿Cómo puedo pasar este título de ventana a taskkill? He probado lo siguiente:

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


El truco es nombrar el proceso cmd y luego eliminarlo llamando al nombre que le ha dado: Lo siguiente es iniciar 6 procesos paralelos y puede eliminar cualquiera de los que desee.

start "cmd001" cmd.exe start "cmd002" cmd.exe start "cmd003" cmd.exe start "cmd004" cmd.exe start "cmd005" cmd.exe start "cmd 006" cmd.exe

:: elimine el proceso que desee, por ejemplo, cmd005

taskkill /F /FI "WINDOWTITLE eq cmd005" /T

:: matar un proceso que tenga un ESPACIO en su nombre, por ejemplo, cmd 006

taskkill /F /FI "WINDOWTITLE eq cmd 006" /T


Estaba iniciando cmd shell windows usando Autoit y la sugerencia sobre el uso de la lista de tareas realmente me ayudó. Ya probé los espacios dobles, pero el comando Run () de AutoIt creó el shell cmd.exe de forma que tasklist / taskkill no pudo ver el título de la ventana.

Si usé un bucle o el WinKill () / WinClose () de AutoIt con el título de la ventana para el indicador de cmd, entonces AutoIt podría cerrar la ventana, pero mis archivos de bat del prompt de cmd solo vieron c: / windows / system32 / cmd como el título de la ventana.

En este caso, pude usar AutoIt para matar la ventana en lugar de hacerlo desde un script por lotes.


He tenido problemas similares, pero descubrí un poco más.

Problema

He estado intentando cerrar una ventana de CMD (ejecutar como administrador) que ha establecido su propio título de ventana. Entonces, ejecute CMD como administrador y escriba:

title CMD with custom title

Después de muchas cosas, el siguiente comando me mostró que configurar el título de la ventana pone un espacio inicial delante del título. (No tengo idea de por qué).

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

Solución

Así que para matar el proceso:

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

  • /F - Usa la fuerza.
  • /T - matar procesos infantiles.

Si te estás golpeando la cabeza de una manera similar, te recomiendo usar la tasklist de tasklist para buscar dentro de las propiedades del proceso para asegurarte de que obtienes los filtros correctos. Este ballache traído a usted por Windows 8.

Nota: si el título contiene comillas, simplemente evite las anidadas:

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


Respuesta tardía (4 años), pero una buena manera de finalizar un proceso cuando se sabe que solo una parte del nombre del proceso está utilizando el antiguo WMIC .
Aquí hay un ejemplo para find y kill un proceso llamado "Administrator: My Window Title" :

WMIC PROCESS WHERE "NAME LIKE ''%Administrator: My Window Title%''" CALL TERMINATE


Supongo que esta tarea se ejecuta en su servidor de Windows. Si el título incluye "Administrador:" no puede cancelar la tarea a través de WindowTitle igual.

Deberías usar esto: Este es mi killer.bat. SEARCH_PARAMETER = QUÉ TÍTULO QUIERES MATAR

@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


taskkill / F / FI "WindowTitle eq Apache 8184"