
ONE CMD Command quiere cerrar todas las ventanas abiertas pero no cerró una ventana en particular.
Busqué en superuser.com y obtuve este maravilloso comando de PetSerAl
powershell -command "(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}; Get-Process | Where-Object {$_.MainWindowTitle -ne \"\"} | stop-process"
Este comando anterior cierra todas las ventanas abiertas, pero necesito cerrar todas las ventanas excepto una.
Gracias
Respuesta1
Podrías usar la misma sintaxis en tu comando. Si lo miras, dice algo como "cerrar todos los procesos excepto donde el título está vacío".
Por lo tanto, podría simplemente agregar y condicionar Y para decir que no se cierre donde el título está vacío Y el título es el del proceso que desea mantener abierto. En caso de que el título no sea fijo y cambie (como por ejemplo las ventanas de un editot, cambia con el nombre del archivo abierto en ese momento) puedes cambiar la propiedad marcada, en lugar de MainWindowTitle puedes buscar ProcessName
algo como esto usando el título de la ventana:
powershell -command "(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}; Get-Process | Where-Object {($_.MainWindowTitle -ne \"\") -and ($_.MainWindowTitle -ne \"titleOfAppToKeepOpen\")} | stop-process"
algo como esto usando el nombre del proceso:
powershell -command "(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}; Get-Process | Where-Object {($_.MainWindowTitle -ne \"\") -and ($_.ProcessName -ne \"processToKeepOpen\")} | stop-process"