批处理 - 在运行循环命令时最小化窗口(未启动最小化)
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
另一答案
您可以在运行期间最小化命令提示符,但您还需要两个额外的脚本:windowMode和getCmdPid.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
以上是关于批处理 - 在运行循环命令时最小化窗口(未启动最小化)的主要内容,如果未能解决你的问题,请参考以下文章