/
/

Ejecutar un archivo BAT en segundo plano con el Programador de tareas en Windows 11

por Team Ninja
Run BAT file in the Background Using Task Scheduler in Windows 11 blog banner image

Resumen instantáneo

Este post ofrece una lista completa de comandos CMD básicos y una inmersión profunda en los comandos de Windows, con más de 70 comandos cmd esenciales tanto para principiantes como para usuarios avanzados. Explica comandos prácticos del símbolo del sistema para la gestión de archivos, la navegación por directorios, la solución de problemas de red, las operaciones de disco y la automatización con ejemplos reales para mejorar la productividad. Tanto si estás aprendiendo los comandos básicos de cmd como si ya dominas las herramientas avanzadas de la CLI de Windows, esta guía te ayudará a utilizar el Símbolo del sistema de forma más eficaz.

Si has visto un parpadeo rápido en pantalla cuando se ejecuta un archivo BAT programado, significa que se está abriendo el Símbolo del sistema para ejecutarlo, algo molesto y que interrumpe el trabajo. En esta guía te ayudamos a ejecutar tu archivo BAT en segundo plano de forma silenciosa con el Programador de tareas, para que tus tareas automatizadas se completen sin interrupciones.

Te recomendamos revisar ⚠️ Aspectos a tener en cuenta antes de continuar.

¿Quieres profundizar en el tema? Mira nuestro vídeo: Ejecutar un archivo BAT en segundo plano con el Programador de tareas en Windows 11.

📌Ve directamente a las estrategias de implementación recomendadas:

Haz clic para elegir un método💻
Mejor para usuarios individuales
💻💻💻
Mejor para empresas
Configurar el Programador de tareas para ejecutar un archivo BAT en segundo plano✓✓
Métodos alternativos para ejecutar un archivo BAT en segundo plano de forma silenciosa
Usar VBScript para ocultar la ventana de CMD✓✓
Usar PowerShell (.ps1) para ocultar la ejecución del BAT✓
Procedimientos complementarios para evitar que se robe el foco al ejecutar un archivo BAT
Modificar el Registro de Windows para evitar que se robe el foco✓✓
Ajustar la directiva de grupo para limitar los cambios de foco por avisos✓

Configurar el Programador de tareas para ejecutar un archivo BAT en segundo plano

Este método usa la configuración nativa de Windows 11 para ejecutar tu archivo BAT como un proceso en segundo plano, sin ventanas emergentes molestas.

📌Caso de uso: perfecto para tareas administrativas rutinarias, como la limpieza de registros y las copias de seguridad, donde lo más importante es que todo ocurra en silencio.

📌Requisitos previos: asegúrate de usar el SO Windows 11, contar con permisos de administrador, tener tu archivo por lotes ya creado y conocer lo básico de la herramienta.

  1. Abre el Programador de tareas:
    • Abre el cuadro de diálogo Ejecutar (Win + R), escribe taskschd.msc y pulsa Intro.
      • También puedes buscar Programador de tareas en la barra de tareas.

Abrir el Programador de tareas

  1. Crea una tarea:
    • Haz clic derecho en Biblioteca del Programador de tareas y selecciona Crear tarea (no Crear tarea básica). También puedes seleccionarlo en el panel Acciones.

Crear una tarea

  1. Introduce lo siguiente en la pestaña General (ajustes críticos):
    • Nombre: por ejemplo, Silent BAT Runner”
    • Marca Ejecutar tanto si el usuario inició sesión como si no (así la tarea se ejecutará en segundo plano del sistema).
    • Marca Ejecutar con los privilegios más altos (si se requiere acceso de administrador).
    • Marca Oculto.
    • En el menú desplegable Configurar para, selecciona Windows 11.

Ventana de la pestaña General con los ajustes críticos

  1. Introduce lo siguiente en la pestaña Desencadenadores:
    • Selecciona Nuevo y establece la programación (por ejemplo, a diario a las 2:00).

Pestaña Desencadenadores

  1. Introduce lo siguiente en la pestaña Acciones:
    • Selecciona Nuevo y establece la acción en Iniciar un programa.
    • En Programa o script: pega la ruta completa de tu archivo BAT.

Pestaña Acciones

  1. Guarda y autoriza:
    • Haz clic en Aceptar e introduce tu contraseña cuando se te solicite.

💡Nota: aún puede aparecer un parpadeo breve del Símbolo del sistema. Para que sea totalmente silencioso, sigue los procedimientos complementarios que se indican más abajo.

Métodos alternativos para ejecutar un archivo BAT en segundo plano de forma silenciosa

Si prefieres eliminar por completo ese parpadeo de una fracción de segundo del Símbolo del sistema cuando un archivo BAT se ejecuta en segundo plano, aquí tienes dos procedimientos para silenciarlo del todo.

Opción 1: usar VBScript para ocultar la ventana de CMD

VBScript actúa como un envoltorio silencioso y ejecuta tu archivo BAT sin dejar ningún rastro visual.

📌Caso de uso: es ideal para ejecutar el archivo BAT en kioscos, sistemas de presentación o estaciones de trabajo de usuarios, donde es fundamental que no haya ninguna interrupción visual.

  1. Crea un archivo .vbs:
    • Abre el Bloc de notas (búscalo en la barra de tareas) e introduce este script:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run Chr(34) & "C:\Path\To\Your\BatchFile.bat" & Chr(34), 0
Set WshShell = Nothing

    • Sustituye la ruta del script (C:\Path\To\Your\BatchFile.bat) por la ubicación de tu archivo BAT.
    • Guárdalo como Runner.vbs (comprueba que la extensión sea .vbs y no .txt).
  1. Programa el VBScript:
    • En el Programador de tareas, crea otra tarea e introduce los mismos datos en las pestañas General y Desencadenadores que en el procedimiento principal anterior.
    • En la pestaña Acciones, introduce lo siguiente:
      • Acción: Iniciar un programa
      • Programa: wscript.exe
      • Argumentos: ruta de tu archivo VBScript

Programar el VBScript

Este procedimiento ejecuta tu archivo BAT en silencio porque el indicador 0 del script oculta por completo la ventana que parpadea. El VBScript lo ejecuta de forma invisible mediante Windows Script Host.

Opción 2: usar PowerShell (.ps1) para ocultar la ejecución del BAT

PowerShell ofrece un control moderno y flexible de la visibilidad de los procesos con un solo comando.

📌Caso de uso: este procedimiento es excelente para entornos donde PowerShell ya es la herramienta habitual, o para scripts que necesitan lógica adicional antes de ejecutar el BAT.

  1. Crea un archivo .ps1:
    • Abre el Bloc de notas (búscalo en la barra de tareas) e introduce este script:

Start-Process "C:\Path\To\Your\BatchFile.bat" -WindowStyle Hidden

    • Actualiza la ruta con la ubicación de tu archivo BAT.
    • Guárdalo como StealthRunner.ps1.
  1. Programa el script de PowerShell en el Programador de tareas:
    • En el Programador de tareas, crea otra tarea e introduce los mismos datos en las pestañas General y Desencadenadores que en el procedimiento principal anterior.
    • En la pestaña Acciones, introduce lo siguiente:
      • Acción: Iniciar un programa
      • Programa: powershell.exe
      • Argumentos: introduce este script:

-ExecutionPolicy Bypass -File "C:\Path\To\StealthRunner.ps1"

El método de PowerShell incluye el parámetro -WindowStyle Hidden, que suprime la consola a nivel de kernel.

Procedimientos complementarios para evitar que se robe el foco al ejecutar un archivo BAT

Algunos ajustes complementarios pueden reducir aún más las interrupciones al ejecutar archivos BAT y otras tareas en segundo plano en Windows 11.

Opción 1: modificar el Registro de Windows para evitar que se robe el foco

Este método retrasa los cambios de foco entre aplicaciones, con lo que se reduce el impacto de cualquier parpadeo de ventana residual.

📌Caso de uso: este procedimiento es ideal cuando un usuario o una organización quiere evitar cualquier interrupción del foco provocada por una tarea.

⚠️ Advertencia: editar el Registro de forma incorrecta puede provocar una grave inestabilidad del sistema. Haz siempre una copia de seguridad del Registro o crea un punto de restauración del sistema antes de continuar. Consulta la sección ⚠️ Aspectos a tener en cuenta para saber más.

  1. Abre el Editor del Registro:
    • Abre el cuadro de diálogo Ejecutar (Win + R), escribe regedit y pulsa Intro.

Abrir el Editor del Registro

  1. Ve a la clave de la dirección:
    • Navega o pega esta ruta: HKEY_CURRENT_USER\Control Panel\Desktop

Ir a la clave de la direccion en el Registro

  1. Crea o modifica el DWORD:
    • Haz doble clic en el DWORD Foregroundlocktimeout.
      • Si no existe, haz clic derecho en el panel derecho y selecciona Nuevo > Valor de DWORD (32 bits).
      • Asígnale el nombre Foregroundlocktimeout.

Crear o modificar el DWORD

  1. Establece los datos del valor:
    • Asigna al DWORD el valor 200000 en decimal.

Establecer los datos del valor

  1. Aplica los cambios:
    • Reinicia el dispositivo o ejecuta esto en el Símbolo del sistema:

taskkill /f /im explorer.exe && start explorer.exe

Esto no evita que aparezca la ventana de CMD, a diferencia de los métodos de la sección anterior, pero sí impide que se robe el foco si alguna ventana llega a parpadear.

Opción 2: ajustar la directiva de grupo para limitar los cambios de foco por avisos

Esta directiva suprime las advertencias de seguridad que podrían interrumpir el trabajo al ejecutar scripts.

📌Caso de uso: entornos empresariales en los que los scripts descargados muestran ventanas de Advertencia de seguridad de Abrir archivo durante la ejecución de la tarea.

💡Nota: este método solo está disponible en las ediciones Windows 11 Pro, Enterprise y Education. Si usas la edición Home, te recomendamos el método del Editor del Registro.

  1. Abre el Editor de directivas de grupo:
    • Abre el cuadro de diálogo Ejecutar (Win + R), escribe gpedit.msc y pulsa Intro.
  2. Ve a la directiva:
    • Sigue esta ruta: Configuración de usuario > Plantillas administrativas > Componentes de Windows > Administrador de archivos adjuntos
  3. Activa la directiva clave:
    • Haz doble clic en No conservar información de zona en los archivos adjuntos.
    • Selecciona Habilitada y haz clic en Aceptar.
  4. Aplica los cambios:
    • Reinicia el dispositivo o ejecuta gpupdate /force en el Símbolo del sistema.

Cómo comprobar que el archivo BAT se ejecuta en segundo plano

Confirma que tu archivo por lotes se ejecuta en silencio y sin fallos tras la configuración con estas comprobaciones rápidas.

  1. Lanza la tarea manualmente:
    • En el Programador de tareas, haz clic derecho en la tarea que has creado y selecciona Ejecutar.
    • Observa la pantalla para ver si el Símbolo del sistema parpadea o roba el foco.
  2. Revisa el historial del Programador de tareas:
    • En la Biblioteca del Programador de tareas, haz clic derecho en tu tarea.
    • Selecciona Propiedades, ve a la pestaña Historial y comprueba el ID de evento:
      • 100: significa que la tarea se completó.
      • 101: significa que la tarea no se pudo iniciar.
      • 201: significa que la acción no se pudo ejecutar.
  3. Valida los registros y la salida:
    • Comprueba la ubicación del registro o de la salida de tu archivo BAT (por ejemplo, C:\Logs\output.txt).
    • Si no hay registros, añade esto temporalmente a tu archivo BAT:

echo %date% %time%: Task ran >> C:\Verify\log.txt

⚠️ Aspectos a tener en cuenta

En esta sección se destacan los posibles problemas que debes tener presentes mientras sigues esta guía.

RiesgosPosibles consecuenciasCómo revertirlo
1. Configuración incorrecta de «Ejecutar tanto si el usuario inició sesión como si no» o desencadenadores mal configuradosLa tarea falla sin avisar o el archivo BAT no se ejecutaVuelve a abrir la tarea y comprueba la configuración.

O haz una prueba con un registro echo en el archivo BAT

2. El antivirus bloquea wscript.exe o hay errores de sintaxis en el archivo VBSEl script se detiene sin avisar o no hay registros de errorAñade wscript.exe a la lista de permitidos del antivirus

O depura el VBS con cscript Runner .vbs

3. Las directivas de ejecución bloquean el script o las rutas con espacios no están entre comillasPowerShell se cierra con un error de directivaEjecuta Set-ExecutionPolicy RemoteSigned

O pon las rutas entre comillas: "C:\My Scripts\file.bat"

4. Cometer errores en el Registro, como erratas o editar la clave equivocadaInestabilidad del sistema; el Explorador se bloqueaRestaura la copia de seguridad del registro o elimina el DWORD erróneo y reinicia.

Mira Cómo hacer una copia de seguridad del Registro de Windows y restaurarlo para saber más.

5. Desactivar los avisos de seguridad en todo el sistemaLos scripts maliciosos se ejecutan sin advertenciasVuelve a poner la directiva de grupo en Deshabilitada/No configurada o ejecuta gpupdate /force.

Consideraciones clave para ejecutar archivos BAT en segundo plano

Aplica estas buenas prácticas para conseguir una ejecución silenciosa fiable y segura.

Gestión de permisos

Asegúrate de que tu archivo BAT (y los archivos de script VBS/PS1 complementarios) tengan permisos de lectura y ejecución para que la tarea se ejecute con la cuenta de usuario y se registre la ejecución en el sistema. Así las tareas se ejecutarán sin errores.

💡Consejo: puedes ejecutar icacls "C:\Your\BatchFile.bat" en el Símbolo del sistema para comprobar si el archivo tiene los privilegios necesarios.

Protocolo de pruebas por fases

Prueba siempre el procedimiento en un entorno controlado antes de implementarlo en el dispositivo del usuario. Así podrás comprobar si se puede llevar a cabo sin errores, como problemas de compatibilidad o errores de sintaxis, en ese entorno, y evitarás posibles inestabilidades del sistema.

Ajustes de modificación del sistema

Como ya se ha mencionado, antes de editar el Registro o la directiva de grupo, crea un punto de restauración, exporta las claves del registro y haz una copia de seguridad de las configuraciones de las tareas para proteger tu sistema.

Ejecuta archivos BAT en silencio en Windows 11 y trabaja sin interrupciones

Optimiza las ejecuciones en segundo plano de tu sistema con el Programador de tareas de Windows 11 y elimina los molestos parpadeos de CMD. Usa los métodos de esta guía para que tus tareas se ejecuten sin interrupciones. Cambia la forma en la que se ejecutan tus copias de seguridad, limpiezas o scripts en segundo plano: con potencia y de forma invisible.

Temas relacionados

Guía de inicio rápido

NinjaOne permite ejecutar archivos BAT en segundo plano mediante su función de automatizaciones programadas. Estos son los puntos clave:

  • Puedes crear automatizaciones programadas que ejecuten scripts o aplicaciones en los dispositivos incluidos en una política.
  • Las automatizaciones programadas se pueden configurar para ejecutarse:
    • A demanda
    • Según una programación (diaria, semanal, mensual)
    • Al iniciar el sistema
    • Al iniciar sesión el usuario

Para ejecutar un archivo BAT en segundo plano:

  1. Ve a Administration > Policies
  2. Selecciona Agent Policy
  3. Haz clic en Scheduled Automations
  4. Haz clic en «Add a Scheduled Automation»
  5. Configura:
    • Nombre y descripción de la automatización
    • Programación (diaria, semanal, etc.)
    • Selecciona tu archivo BAT en la Automation Library
    • Elige ejecutarlo como System, como el usuario actual o con credenciales específicas

Notas importantes:

  • Si el inicio rápido está activado, puede impedir que las tareas programadas se ejecuten al iniciar el sistema
  • Puedes añadir varios scripts o aplicaciones, que se ejecutarán en orden
  • Puedes configurar notificaciones o tickets para cuando se ejecute la automatización

Quizá también te interese…

¿Listo para simplificar los aspectos más complejos de las TI?