批处理文件以最大化当前窗口

Joh*_*lon 5 windows batch-file

我构建了一个批处理程序,我目前正在调整该程序以使其更具可读性/用户友好性。

我希望我的.bat文件自动设置为在.bat文件本身中最大化。

我在START /MAX网上阅读了有关内容,但这只会打开一个命令提示符窗口的新实例。我不想有两个.bat文件只是为了最大化一个。

我知道最大化的 Windows 键是ALT+ SPACEthen X。我有一个想法,也许我可以使用某种SendKeys批处理脚本来自动化它?我没有运气在网上找到信息。

无论如何,是否可以将其编程为在同一.bat实例中最大化?

ani*_*ane 2

我在想这个方法:

@echo off
set mytitle=%random%
title %mytitle%
echo WScript.sleep 1000 > %temp%\max-me.vbs
echo WScript.CreateObject("WScript.Shell").AppActivate "%mytitle%" >> %temp%\max-me.vbs
echo WScript.CreateObject("WScript.Shell").SendKeys "%% n" >> %temp%\max-me.vbs
cscript %temp%\max-me.vbs >nul
echo further code goes here...
pause
Run Code Online (Sandbox Code Playgroud)

但是,由于某种原因,sendkeys 似乎不适用于 cmd 窗口。下面的机制有效,但是您会丢失现有窗口及其退出状态。

@echo off
if not defined iammaximized (
    set iammaximized=1
    start /max "" "%0" "%*"
    exit
)
echo further code goes here...
pause
Run Code Online (Sandbox Code Playgroud)