ONE CMD 명령으로 하나의 앱을 제외하고 열려 있는 모든 Windows를 닫는 방법,

ONE CMD 명령으로 하나의 앱을 제외하고 열려 있는 모든 Windows를 닫는 방법,

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" 

관련 정보