El proceso de archivo por lotes deja abierto el símbolo del sistema adicional

El proceso de archivo por lotes deja abierto el símbolo del sistema adicional

Tengo este archivo por lotes y crea un archivo por lotes en la carpeta de inicio que abre una URL específica a un sitio web. Mi problema es que cada vez que se ejecuta también deja abierto un símbolo del sistema vacío.

El script por lotes funciona bien y abre la URL del sitio web con el navegador web, pero simplemente deja abierta una ventana CMD adicional que me gustaría que no apareciera. Nota: No estoy preguntando cómo ejecutar una ventana CMD en segundo plano.

Aquí está el 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

¿Alguien podría ayudarme a señalar qué podría cambiar para resolver este problema?

Respuesta1

Podrías usarLLAMARy agregue el /MINinterruptor con elCOMENZARcomando para mantenerlo más oculto y garantizar que la ventana CMD desaparezca cuando se ejecutasegún la forma en que tiene la configuración lógica en el ejemplo anterior.

Hice algunos ajustes rápidos y agregué esta lógica para que tengas un ejemplo exacto de lo que usé y confirmé que funciona mientras explicas que necesitas que funcione.

Guión de ejemplo

@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 adicionales

Respuesta2

Por favor, eche un vistazo al siguiente enlace:

¿Cómo ejecutar un archivo por lotes sin abrir una "ventana de comandos"?

Si no se puede acceder al enlace, una respuesta indica que se debe crear un script vbs que contenga lo siguiente:

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

Donde "your_batch_file.bat" es el nombre de su archivo por lotes.

Guarde lo anterior como un script visual básico, por ejemplo: ejemplo.vbs y ejecútelo.

Respuesta3

He aquí por qué y qué hacer:

de forma predeterminada, START ejecutará el equivalente de CMD /K, que abre una segunda ventana de comando y la deja abierta. En la mayoría de los casos, querrá que se complete el script por lotes y luego simplemente cierre la consola CMD para reanudar el script por lotes inicial. Esto se puede hacer ejecutando explícitamente CMD /C...

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

fuente

información relacionada