我将如何编写批处理脚本来最小化所有 cmd windows 或最小化具有给定名称的 window?

How would I write a batch script to either minimise all cmd windows or minimise a window with a given name?

我试图最小化的 windows 已经 运行 所以 start /min 不是一个选项。

这可以通过 vbscript 混合来完成。

@echo off

set "lookFor=Calculator"

for /f "tokens=2 delims=," %%A in ('tasklist /nh /fo csv /fi "WINDOWTITLE eq %lookfor%"') do set "pid=%%~A"

>"%TEMP%\_edit.vbs" (
  echo/Set oShell = CreateObject("WScript.Shell"^)
  echo/oShell.AppActivate %pid%
  echo/WScript.Sleep 500
  echo/oShell.SendKeys "%% (n)" ' minimize (Alt+SpaceBar,n^)
)

start /B cmd /C "CScript //nologo //E:vbs "%TEMP%\_edit.vbs" & rem del /F /Q "%TEMP%\_edit.vbs" 2>NUL"

exit/B