
ONE CMD 명령은 열려 있는 모든 창을 닫으려고 하지만 특정 창을 닫지 않았습니다.
superuser.com에서 검색했는데 PetSerAl로부터 멋진 명령을 받았습니다.
powershell -command "(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}; Get-Process | Where-Object {$_.MainWindowTitle -ne \"\"} | stop-process"
열려 있는 모든 창을 닫는 위의 명령은 하나의 창을 제외한 모든 창을 닫아야 합니다.
감사합니다
답변1
명령 자체에서도 동일한 구문을 사용할 수 있습니다. 확인해 보면 "제목이 비어있는 부분을 제외한 모든 프로세스를 닫습니다"라고 뜹니다.
따라서 제목이 비어 있고 제목이 열린 상태로 유지하려는 프로세스 중 하나인 곳을 닫지 말라고 간단히 광고하고 AND 조건을 지정할 수 있습니다. 제목이 고정되지 않고 변경되는 경우(예: 편집 창의 경우 해당 순간에 열린 파일 이름으로 변경됨) MainWindowTitle 대신 ProcessName을 확인할 수 있는 속성을 확인하여 변경할 수 있습니다.
창 제목을 사용하면 다음과 같습니다.
powershell -command "(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}; Get-Process | Where-Object {($_.MainWindowTitle -ne \"\") -and ($_.MainWindowTitle -ne \"titleOfAppToKeepOpen\")} | stop-process"
프로세스 이름을 사용하면 다음과 같습니다.
powershell -command "(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}; Get-Process | Where-Object {($_.MainWindowTitle -ne \"\") -and ($_.ProcessName -ne \"processToKeepOpen\")} | stop-process"