方法三看起来最好,符合你的要求。
上面的几个回答都是基于方法一的,应该也是不错的。
方法二是借助vbs实现隐藏进程的。
如果还需要扩展一下思路,可以试试借助vbs来切换活动进程,虽然没有完全最小化,但也会缩小到任务栏,不知是否符合你的要求。可以用active来实现,也可sendkey 来实现。
我看“方法三”好,不然也只能另开一最小化窗口运行
@if "%~1"=="y" goto begin
start /min cmd /c "%~f0" y&exit
:begin
@echo off
pause
@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",2)(window.close)&&exit
:begin
@echo off
if not defined s set s= && start /min "" %0& exit
echo 123
pause
exit