La tarea programada no se corrige para el archivo .BAT

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

Creé un archivo por lotes que elimina todo lo que está dentro de una carpeta temporal cada vez que la computadora se inicia. Creé una tarea básica en el Programador de tareas y esperaba lo mejor. Desafortunadamente, nada sucedió cuando mi computadora arrancó. 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: Revisar 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í misma 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 \ nombre de usuario, hice clic derecho en el Documentos carpeta, y haga clic en Propiedades. Entonces hice clic en el Seguridad lengüeta.

Como puedes ver, la cuenta de usuario. Aseem ha sido explícitamente añadido y dado el Control total permiso. Ahora tiene que hacer lo mismo para la carpeta que contiene el script y para el script en sí. No asuma simplemente que si otorga permisos a la carpeta que contiene el script, estará listo, porque no lo está. Por último, establezca permisos en cualquier archivo y carpeta con el que el script interactúe.

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

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

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

Ahora vamos al Programador de tareas y cambiemos las configuraciones apropiadas allí. Abra el Programador de tareas y busque su tarea en el Tareas activas sección. Deben ser enumerados en orden alfabético.

Haga doble clic en él y se abrirá la tarea en la misma ventana. Para editar la tarea, deberás hacer clic derecho sobre ella y elegir Propiedades.

Hay varias pestañas y hay que revisar y cambiar algunas cosas aquí. 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 había dado permiso anteriormente en el sistema de archivos y que forma parte del grupo de administradores en la computadora.

A continuación, tienes que elegir la Ejecutar si el usuario ha iniciado sesión o no opción y elegir Windows Vista, Windows Server 2008 en el Configurar para caja.

Sobre el Comportamiento pestaña, usted tiene que seleccionar el script, haga clic en Editar y luego agregue la ruta a la carpeta que contiene el script en the Comenzar en (opcional) caja. Esto puede parecer innecesario, pero no lo es. En mi caso, pongo en C: \ Users \ Aseem \ Documents \ en el cuadro.

Ahora haga clic en DE ACUERDO 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 otro requisito. No puedes usar una cuenta que no tenga una contraseña. La cuenta de usuario debe tener una contraseña para que la tarea se ejecute.

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

Tenga en cuenta que si su script está accediendo a diferentes computadoras en un dominio cuando se ejecuta, debe intentar usar la cuenta de administrador de 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 los recursos en un recurso compartido de red. Si su script está usando letras para acceder a la red, es posible que no se ejecute. Por ejemplo, en lugar de usar F: \ datos \, Deberías usar \ machinename \ share_name \ data \ en el guion. Si aún no puede ejecutar su script, publique un comentario aquí e intentaré ayudar. ¡Disfrutar!