11

I would like to close all open windows. This will not minimize the windows but the script will close all windows even if it is minimized. Is there a way to do this in a batch program or powershell?

Luke101
  • 63,072
  • 85
  • 231
  • 359

2 Answers2

15

use this in powershell:

Get-Process | Where-Object {$_.MainWindowTitle -ne ""} | stop-process

-note: this close powershell console or ise too and can't end his job!

(get-process | ? { $_.mainwindowtitle -ne "" -and $_.processname -ne "powershell" } )| stop-process

this way only powershell windows is still alive but the last command in your script can be

stop-process powershell

note: this no affect tray icon minimized process.

EDIT:

to close 'control panel' on xp try this:

(New-Object -comObject Shell.Application).Windows() | where-object {$_.LocationName -eq "Control Panel"} | foreach-object {$_.quit()}

to close all explorer.exe windows:

(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}
CB.
  • 58,865
  • 9
  • 159
  • 159
  • Wow..this works. However it does not close the "control panel" window. Do you know how to close windows like those? – Luke101 Mar 15 '12 at 19:44
  • on windows 7 close 'control panel' too, in which o.s. are you trying? – CB. Mar 15 '12 at 19:52
  • I am using windows xp..any luck with this – Luke101 Mar 15 '12 at 19:53
  • The command "stop-process powershell" gives an error: "Stop-Process : Cannot bind parameter 'InputObject'. Cannot convert the "powershell" value of type "System.String" to type "System.Diagnostics.Process"." – Communisty Sep 19 '22 at 07:50
0

Today I was looking for that too and then wrote an autoit minimal script, send 99 times Keys: Alt F4

  1. install autoit3 www.autoitscript.com/site/autoit/downloads/

  2. short version: file "end.au3"

     $loop=99
     While $loop
       $loop=$loop-1
       Send("!{F4}")    ; // send Keyboard Alt + F4 = close Window in Windows
     WEnd
    
  3. run it in Autoit Editor with menu > tools > go or run it with F5

  4. long version: make, in same folder as "end.au3" , a "end.exe" file and put on deskt..

     #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
     #AutoIt3Wrapper_Outfile=end.exe
     #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    
     ToolTip('au3    close all    EXIT ', 0, 0)  ;// litle box top left
    
     $loop=99
     While $loop
       $loop=$loop-1
       Send("!{F4}")    ;// send Keyboard Alt + F4 = close Window in Windows
     WEnd
    
     Exit
    
And
  • 73
  • 2
  • 7