powershell 如何关闭所有窗口

8gsdolmq  于 2023-05-29  发布在  Shell
关注(0)|答案(2)|浏览(255)

我想关闭所有打开的窗口。这将不会最小化窗口,但脚本将关闭所有窗口,即使它是最小化的。有没有办法在批处理程序或powershell中做到这一点?

flmtquvp

flmtquvp1#

在powershell中使用:

Get-Process | Where-Object {$_.MainWindowTitle -ne ""} | stop-process
  • 注意:这个关闭powershell consoleise太,不能结束他的工作!
(get-process | ? { $_.mainwindowtitle -ne "" -and $_.processname -ne "powershell" } )| stop-process

这样只有powershell窗口仍然是活的,但你的脚本中的最后一个命令可以是

stop-process powershell

注意:这不影响托盘图标最小化的过程.
编辑:
要关闭xp上的“控制面板”,请尝试以下操作:

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

关闭所有explorer.exe窗口:

(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}
k3bvogb1

k3bvogb12#

今天我也在寻找这个,然后写了一个autoit最小脚本,发送99次键:Alt F4
1.安装autoit 3 www.autoitscript.com/site/autoit/downloads/
1.简短版本:文件“end.au3”

$loop=99
 While $loop
   $loop=$loop-1
   Send("!{F4}")    ; // send Keyboard Alt + F4 = close Window in Windows
 WEnd

1.在Autoit编辑器中使用菜单>工具>转到或使用F5运行它
1.长版本:在与“end.au3”相同的文件夹中创建一个“end.exe”文件并放在桌面上。

#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

相关问题