O processo de arquivo em lote deixa o prompt de comando extra aberto

O processo de arquivo em lote deixa o prompt de comando extra aberto

Eu tenho esse arquivo em lote e ele cria um arquivo em lote na pasta de inicialização que abre uma URL específica para um site. Meu problema é que sempre que é executado ele também deixa um prompt de comando vazio aberto.

O script em lote funciona bem e abre o URL do site com o navegador da web, mas apenas deixa aberta uma janela CMD adicional que eu gostaria que não ocorresse. Nota: não estou perguntando como executar uma janela CMD em segundo plano.

Aqui está o código:

@echo off

cd C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

echo @echo off > startup.bat

echo start (link) >> startup.bat

start startup.bat

Alguém poderia ajudar a apontar o que eu poderia mudar para resolver esse problema?

Responder1

Você poderia usarCHAMARe adicione o /MINswitch com oCOMEÇARcomando para mantê-lo mais oculto e garantir que a janela CMD desapareça durante a execuçãoda maneira como você configurou a lógica no exemplo acima.

Fiz alguns ajustes rápidos e adicionei essa lógica para você ter um exemplo exato do que usei e confirmei que funciona conforme você explica que precisa que funcione.

Exemplo de script

@echo off

CD /D C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

echo @echo off > startup.bat
echo START /MIN "" "https://google.com">> startup.bat
echo EXIT /B>> startup.bat

CALL startup.bat
EXIT /B

Recursos adicionais

Responder2

Por favor, dê uma olhada no link abaixo:

Como executar um arquivo em lote sem abrir uma “janela de comando”?

Se o link estiver inacessível, uma resposta afirma criar um script vbs que contenha o seguinte:

CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True

Onde "your_batch_file.bat" é o nome do seu arquivo em lote.

Salve o script acima como um script visual básico, por exemplo: example.vbs e execute-o.

Responder3

aqui está o porquê e o que fazer:

por padrão, START executará o equivalente a CMD /K, que abre uma segunda janela de comando e a deixa aberta. Na maioria dos casos, você desejará que o script em lote seja concluído e, em seguida, feche o console do CMD para retomar o script em lote inicial. Isso pode ser feito executando explicitamente CMD /C ...

Echo Starting
START /wait "demo" CMD /c demoscript.cmd
Echo Done

fonte

informação relacionada