批处理 - 在运行循环命令时最小化窗口(未启动最小化)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理 - 在运行循环命令时最小化窗口(未启动最小化)相关的知识,希望对你有一定的参考价值。

我想知道是否有办法在运行某个命令后最小化批处理窗口。我已经知道开始/分钟以及最小化启动窗口的技巧但是当它运行循环或超时时呢?

让我们说:

echo Hello!
timeout /t 100
:COMMAND TO MINIMIZE WINDOW WHILE TIMEOUT IS RUNNING

现在我正在调用bat文件中的autoit脚本,以便在命令运行时隐藏窗口:

WinSetState($application_name, "", @SW_HIDE) 

但我正在寻找一个可以直接在.bat文件中编码的纯批/ powershell / vbs解决方案。

感谢您的时间!

答案

使用PowerShell的调用选项,不执行任何命令或脚本。

@echo off & setlocal

echo Hello!
powershell -window minimized -command ""
timeout /t 100
powershell -window normal -command ""

如果您愿意,还可以使用FWIW,-window hidden

另一答案

这样做。但是,您需要在超时之前运行最小化,因为它是批处理的。一旦窗口最小化,现在将发生超时。此示例将在ping期间保留窗口,以便您可以看到它最小化。

echo Hello!
ping 127.0.0.1
if not DEFINED IS_MINIMIZED set IS_MINIMIZED=1 && start "" /min "%~dpnx0" %* && exit
timeout /t 100
exit
另一答案

您可以在运行期间最小化命令提示符,但您还需要两个额外的脚本:windowModegetCmdPid.bat

@echo off
echo Hello!
call getCmdPid >nul
call windowMode -pid %errorlevel% -mode minimized

timeout /t 100
call getCmdPid >nul
call windowMode -pid %errorlevel% -mode normal

以上是关于批处理 - 在运行循环命令时最小化窗口(未启动最小化)的主要内容,如果未能解决你的问题,请参考以下文章

allegro窗口最小化打不开

如何启动 Outlook 处于最小化状态

如何最小化运行批处理文件

start

怎样删除运行里面的命令

【即用】amnesiac 的 Everything 热键