cmd / powershell:最小化桌面上的所有窗口(当前命令提示符(控制台)除外)或某些特定窗口除外

时间:2014-01-12 13:34:08

标签: windows batch-file powershell cmd command-prompt

好吧,我知道如何使用PowerShell方法最小化桌面上所有打开的窗口--MinimizeAll():

powershell -command "& { $x = New-Object -ComObject Shell.Application; $x.minimizeall() }"

问题是:这个方法最小化了包括当前cmd-console在内的一切,在我的情况下,用户始终可以看到它。

现在,要解决此问题,我使用外部nircmd.exe工具,我的.bat文件的这一部分如下所示:

:: change current command prompt window title
title my-cmd-console

:: minimize all open windows on the desktop with powershell command
powershell -command "& { $x = New-Object -ComObject Shell.Application; $x.minimizeall()  }"

:: bring console back to the front with nircmd.exe command 'win activate [filter window by title]' 
nircmd.exe win activate title "my-cmd-console" 

我对这段代码不喜欢的是屏幕上有很多“闪烁”:开始时,控制台出现在桌面上,然后它被所有其他窗口最小化,然后它被带回桌面再来一次。

所以,问题是:如何使控制台出现在桌面前面并“锁定”,以便在达到命令行EXIT之前它永远不会消失。

P.S。 不确定,但也许有一个替代解决方案'尽量减少除特定窗口之外的所有问题',而无需使用外部nircmd.exe工具。任何想法?

1 个答案:

答案 0 :(得分:4)

最小化除活动窗口之外的所有窗口(切换命令):

nircmd sendkeypress rwin+home