Reparar la tarea programada no se ejecutará para el archivo .BAT

Si tiene un archivo .BAT y está tratando de que se ejecute automáticamente usando el Programador de tareas en Windows, es posible que se haya encontrado con el problema en el que simplemente no se ejecuta a menos que ejecute la tarea manualmente.

Creé un archivo por lotes que elimina todo dentro de una carpeta temporal cada vez que se inicia la computadora. Creé una tarea básica en el Programador de tareas y esperaba lo mejor. Desafortunadamente, no pasó nada cuando mi computadora se inició. Después de muchas pruebas y errores, descubrí cómo ejecutar el script.

En este artículo, lo guiaré a través de la configuración y los permisos que necesita ajustar para que su archivo por lotes se ejecute sin intervención manual.

Paso 1: Verifique los permisos de archivo / carpeta

El primer paso para solucionar este problema es asegurarse de que la cuenta que está utilizando para ejecutar la secuencia de comandos en el Programador de tareas tenga permisos de Control total en la carpeta que contiene la secuencia de comandos, la secuencia de comandos en sí y cualquier carpeta / archivo que la secuencia de comandos toque cuando se ejecuta.

Por ejemplo, creé el siguiente script por lotes a continuación:

set folder="C:test"
cd /d %folder%
for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)

Guardé el archivo .BAT en mi carpeta Documentos. El camino es C: Usuarios nombre de usuario Documentos. Fui a C: Users username, hice clic derecho en el Documentos carpeta y haga clic en Propiedades. Luego hice clic en el Seguridad lengüeta.

Como puede ver, la cuenta de usuario Aseem se ha agregado explícitamente y se le ha dado la Control total permiso. Ahora debe hacer lo mismo con la carpeta que contiene el script y con el script en sí. No asuma que si otorga permisos a la carpeta que contiene el script, está listo para comenzar, porque no es así. Por último, establezca permisos en los archivos y carpetas con los que interactuará el script.

En mi caso, tuve que ir a C: prueba, haga clic con el botón derecho en esa carpeta y agregue allí mi cuenta de usuario con permisos de Control total. Es un poco molesto tener que hacer esto, pero es la única forma de ejecutar el script.

Nota: La cuenta que se utiliza para ejecutar el script debe ser parte de la Administradores grupo en la computadora. En mi caso, la cuenta Aseem es una cuenta de administrador y por lo tanto forma parte del grupo de Administradores locales.

Paso 2: verifique la configuración del programador de tareas

Ahora vayamos al Programador de tareas y cambiemos la configuración apropiada allí. Abra el Programador de tareas y busque su tarea en el Tareas activas sección. Deben enumerarse en orden alfabético.

Haga doble clic en él y abrirá la tarea por sí sola en la misma ventana. Para editar la tarea, tendrá que hacer clic derecho sobre ella y elegir Propiedades.

Hay varias pestañas y aquí hay que comprobar y modificar un par de cosas. En primer lugar, en el General pestaña, debe verificar la cuenta de usuario que se está utilizando para ejecutar la tarea. En mi caso, es el Aseem cuenta, a la que le había otorgado permisos anteriormente en el sistema de archivos y que es parte del grupo Administradores en la computadora.

A continuación, debe elegir el Ejecutar si el usuario está conectado o no opción y elige Windows Vista, Windows Server 2008 en el Configurar para caja.

Sobre el Comportamiento pestaña, tienes que seleccionar el script, hacer clic en Editar y luego agregue la ruta a la carpeta que contiene el script en the Empezar en (opcional) caja. Esto puede parecer innecesario, pero no lo es. En mi caso, puse C: Usuarios Aseem Documentos en el cuadro.

Ahora haga clic en Okay para guardar la configuración. Cuando haga esto, puede aparecer un cuadro de diálogo donde debe ingresar la contraseña de la cuenta de usuario que ejecutará la tarea. Esto trae a colación otro requisito. No puede usar una cuenta que no tenga contraseña. La cuenta de usuario debe tener una contraseña para que se ejecute la tarea.

Por último, debe ejecutar la tarea manualmente una vez en el Programador de tareas para asegurarse de que se ejecute. Si funciona bien manualmente después de cambiar todas las configuraciones, entonces debería ejecutarse cuando se supone que debe activarse. En mi caso, se suponía que debía suceder en el inicio y después de que hice los cambios, todo funcionó bien.

Tenga en cuenta que si su secuencia de comandos accede a diferentes computadoras en un dominio cuando se ejecuta, debe intentar usar la cuenta de administrador del dominio para ejecutar la tarea. Esto asegurará que la cuenta tenga suficientes permisos para acceder a las computadoras remotas.

Otro elemento a tener en cuenta es si su script accede a recursos en un recurso compartido de red. Si su secuencia de comandos utiliza letras para acceder a la red, es posible que no se ejecute. Por ejemplo, en lugar de usar F: datos , Deberías usar \ nombre_máquina nombre_compartido datos en el guión. Si aún no puede ejecutar su script, publique un comentario aquí e intentaré ayudarlo. ¡Disfrutar!

Deja un comentario