■PowerShellスクリプトの作成
次の内容をcloseOtherWindows.ps1ファイルとして保存します。
function closeOtherWindow($ss){
$force = $ss[$ss.length-1] -eq 'force'
$noTargets = @("cmd", "explorer", "sidebar")
if($force){
for($i=0; $i -lt $ss.Length-1; $i++){
$noTargets += $ss[$i]
}
}else{
$noTargets += $ss
}
$process = Get-Process *
if(!!$process){
foreach($p in $process){
if($p.MainWindowHandle -ne 0){
$pname = $p.ProcessName
if(!($noTargets -contains $p.name)){
if($force){
Write-Host "本当にWindowを閉じます: $pname"
$p.CloseMainWindow()
}else{
Write-Host "Windowを閉じます: $pname"
}
}
}
}
}
}
closeOtherWindow $args
■スクリプトを実行する
- コマンドプロンプトを管理者モードで起動します
- Chromeやfirefox以外のプロセスを終了させる場合、次のように起動します
プロセスは1個以上指定できます
- PowerShell .\closeOtherWindows.ps1 chrome firefox
- 「Windowを閉じます: プロセス名」が出力されるので、どのプロセスを終了することになるか判ります
- 終了するプロセスに問題がなければ、引数の最後にforceを追加して再度実行します
- PowerShell .\closeOtherWindows.ps1 chrome firefox force
■補足
- 終了できないウィンドウもあります。
- ウィンドウとして表示していないプロセスは終了させません
- cmd、sidebarとexplorerのプロセスは終了させません
0 件のコメント:
コメントを投稿