我将如何编写批处理脚本来最小化所有 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
我试图最小化的 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