Você pode tentar start /MAX yourscript.bat para iniciar seu script em um cmd maximizado (até o Windows 7)
Editar (por Rik):
Eu criei um pequeno exemplo que mostra como você pode fazer tudo em um arquivo em lote. (sem um lançador separado):
@echo off
if not "%1" == "max" start /MAX cmd /c %0 max & exit/b
:: here comes the rest of your batch-file
echo "test"
pause
Haverá um ligeiro tremeluzir do arquivo em lote original (que será encerrado imediatamente) antes de iniciar a versão maximizada.
Explicação simples:
Se o lote não for chamado com o parâmetro max , chamaremos a si mesmo novamente ( %0 ), desta vez maximizado com a ajuda de start /max e com o parâmetro max e dessa forma a segunda vez que o chamará, irá pular a instrução if e continuar com seus comandos.
Divisão:
-
if not "%1" == "max"executa o próximo comando somente se%1não for "max".%1significa o primeiro parâmetro dado ao arquivo em lote. Portanto,my_batch.bat maxterámaxna variável%1. Se não iniciarmos o lote com o parâmetromax, precisamos executar essa linha. -
start /MAXinicia o comando depois dele, de forma maximizada. -
cmd /cexecutecmd.exee/csignifica sair depois. -
%código%. O
%0 maxsignifica seu próprio nome de arquivo em lote e aqui%0é seu primeiro parâmetro. Isso significa que precisamos pular esse primeiromax-line ou então seremos pegos em um loop:) -
if: O& exit/bsignifica executar o próximo comando simultâneo ao anterior. Isso significa que executamos o&e, enquanto isso, saímos do lote atual.
Isso também significa que não podemos chamar esta versão com nenhum outro parâmetro além de start /max your batchfile . Se seus arquivos em lote precisarem de um parâmetro para iniciar, você precisará fazer um pouco mais de mágica (como max ing o% 1 após o teste).
Se for esse o caso, informe-nos.