La tarea programada de reparación no se ejecutará para el archivo .BAT


Si tiene un archivo .BAT e intenta ejecutarlo automáticamente mediante el Programador de tareas en Windows, es posible que haya encontrado el problema donde 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 se inicia la computadora. Creé una tarea básica en el Programador de tareas y esperaba lo mejor. Lamentablemente, no pasó nada cuando mi computadora se reinició. Después de muchos intentos de prueba y error, descubrí cómo hacer que se ejecute el script.

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

Paso 1: Verificar permisos de archivos / carpetas

El primer paso para solucionar este problema es asegurarse de que la cuenta que está utilizando ejecute el script en el Programador de tareas tiene permisos de Control total en la carpeta que contiene el script, el propio script y cualquier carpeta / archivo que el script toca 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. La ruta es C: \ Users \ username \ Documents. Fui a C: \ Users \ username, hice clic con el botón derecho en la carpeta Documentosy hice clic en Propiedades. Luego hice clic en la pestaña Seguridad.

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

En mi caso, tuve que ir a C: \ test, hacer clic con el botón derecho en esa carpeta y agregue mi cuenta de usuario allí con permisos de Control total. Es algo 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 del grupo local Administradoresen 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: compruebe la configuración del Programador de tareas

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

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

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

A continuación, debe elegir la opción Ejecutar si el usuario está conectado o noy elegir Windows Vista, Windows Servidor 2008en el cuadro Configurar para.

En las Accionestab, debe seleccionar el script, hacer clic en Editary luego agregar la ruta a la carpeta que contiene el script en el cuadro e Iniciar en (opcional). Esto puede parecer innecesario, pero no lo es. En mi caso, puse C: \ Users \ Aseem \ Documents \en el recuadro.

Ahora haga clic en Aceptarpara guardar la configuración. Cuando hace 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 puede usar una cuenta que no tiene 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 funcione Si se ejecuta correctamente manualmente después de haber cambiado todas las configuraciones, entonces debería ejecutarse cuando se supone que debe activarse. En mi caso, se suponía que ocurriría al inicio y después de hacer los cambios, todo funcionó bien.

Tenga en cuenta que si su script es Al acceder 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 permisos suficientes para acceder a las computadoras remotas.

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

Abrir Pagina Web con un BAT en un Tiempo Determinado

Artículos Relacionados:


13.09.2017