viernes, 24 de septiembre de 2010

Tareas en Windows Server 2008 (BAT)



No sé si les ha pasado que colocan una tarea programada, la cual ejecuta un archivo BAT, que este asu vez, genera archivos, ya sea un log, un zip u otro, y aparentemente el bat se ejecuta sin problemas pero cuando consultamos si el archivo que genera el bat existe... sorpresa!!!, no existe, jamás fue generado.

Eso es lo que pasa en el S.O. Windows server 2008 R2, sin embargo descubri la forma de programarlos y que trabajen como debe ser.

Les mostraré como deben colocar una tarea programada en el sistema operativo Microsoft Windows 2008 server R2 que ejecuta un queridisimo y muchas veces necesario archivo de ejecucion por lotes (BAT).


Teniendo el archivo BAT listo. (En este ejemplo el archivo bat despliega un "dir" y el resultado almacena en un arhivo de texto dentro de la misma ruta donde esta el bat)

Paso 1.- Abrir el programador de tareas de Windows.

Paso 2.- Crear nueva tarea.




Paso 3.- En la pestaña "General" colocar el nombre y descripcion de la tarea programada y en la parte inferior escoger la opcion "Ejecutar tanto si un usuario inicio sesion como si no" y palomear "Ejecutar con los mas altos privilegios" y por ultimo en "Configurar para" escoger "Windows server 2003, Windows XP o Windows 2000", este ultimo es muy importante para que funcione correctamente nuestro BAT.





Paso 4.- En la pestaña "Desencadenadores" escoger el momento en que uno busca se ejecute la tarea, ya sea una hora especifica en un dia especifico, un fecha diaria, por semana, por mes, al iniciar windows, etc.







Paso 5.- En la pestaña "Acciones" elegir "nueva.." y en esa nueva ventana, seleccionar el BAT que queremos que se ejecute y en donde dice "Iniciar en (opcional)" se coloca la ruta donde esta nuestro BAT , es muy importante que se ponga la ruta, porque aunque dice (opcional) no lo es, ya que si no la colocamos, el bat jamas se ejecuta correctamente.







Paso 6.- En la pestaña "Condiciones" deseleccionaremos todo.





Paso 7.- En la pestaña "Configuración" tambien deseleccionaremos todo, este y el anterior paso son opcionales, queda a disposicion del usuario configurar estas dos pestañas.





Paso 8.- Aceptar. Aqui le pedira el usuario y contraseña que usara la tarea para ejecutarse. Debe ser un usuario con privilegios para ejecutar un archivo de ejecucion por lotes.





Y esos son los pasos a seguir.

Ahora podemos ver que ya nos aparece esta tarea.





Si nos vamos a la ruta donde esta el bat, podemos ver que es el unico archivo que existe.

Procedemos a ejecutar la tarea y nos volvemos a fijar en la ruta del archivo bat.

Y efectivamente, nuestro archivo bat genero un archivo txt, que si lo revisamos contiene el listado de este mismo directorio

Nuestra tarea programada ya fue probada y si funciona.

Saludos.

Espero sus comentarios. Cualquier duda o aclaracion seran contestadas.

64 comentarios:

  1. k hongo malandro, k bien inviertes tu tiempo (no como yo jajaja), buen post sigue asi, hay cuando tenga dudas ya se a kien acudir... sale cuidat....adios...
    P.D dic mi hna k cuando le encarguen tarea se la explicas aki en el blog jajajajaja y más jajaja

    ResponderEliminar
  2. Muchas gracias,fue de gran ayuda!

    ResponderEliminar
  3. Excelente, tenia el mismo problema, muchas gracias.

    ResponderEliminar
  4. Muchisimas gracias, fue para mi una excelente ayuda. ;)

    ResponderEliminar
  5. hola en el paso 3 dices que hay que elegir:
    "Windows server 2003, Windows XP o Windows 2000",
    pero a mi solo me aparece la opción de windows vista o windows 2008 server, ¿como lo hago??
    muchas gracias y un saludo!!
    mi correo es jaime.delgado@mejoradadelcampo.org

    ResponderEliminar
  6. Muchas gracias!! excelente Ayuda, sobre todo el parámetro opcional, nunca me hubiera imaginado

    ResponderEliminar
  7. Muchas gracias me ayuda bastante a realizar un export de una base Oracle diariamente, pero observo algo, ojala me puedas ayudar, la tarea termina de hacer lo que solicito, pero en el programador sigue apareciendo en ejecucion.

    ResponderEliminar
  8. Gracias estimado.....me fue de gran ayuda.

    ResponderEliminar
  9. malandre! cómo agradecértelo hermano! me has sacado de un gran apuro, tu ayuda ha sido mucho más que valiosa. Gracias por dedicar de tu tiempo para hacernos aprender algo nuevo. Un abrazo viejo!

    ResponderEliminar
  10. Gracias por la ayuda ese campo opcional es mentira si necesita completar si no no funciona

    Gracias

    ResponderEliminar
  11. Me uno a las felicitaciones y agradecimientos, saludos

    ResponderEliminar
  12. Hola me encuentro con este mismo problema y lo único que no puedo hacer es el paso 3 por que no me aparece la opción que comentas. Te agradecería tu ayuda mi correo es ivan.fustero@gmail.com
    Muchas gracias.

    ResponderEliminar
    Respuestas
    1. Crea nueva tarea y no lo hagas sobre una creada.

      Salud

      Eliminar
    2. ya kedonflas digo fofonflas
      :D

      Eliminar
    3. jeje, kedonflas dijo fofonflas, jajaja muy buena no la habia oido antes

      Eliminar
  13. Perfecto.
    Aporte es genial y bien documentado.

    Gracias desde la comunidad universal.

    ResponderEliminar
  14. de Mucha ayuda.......

    muchas gracias por la informacion

    ResponderEliminar
  15. excelente... habia tenido problemas con eso. Gracias

    ResponderEliminar
  16. Excelente, solo me faltaba el detalle de "iniciar en ruta opcional", graciassssss

    ResponderEliminar
  17. Cómo se abre el Programador de TAreas en Windows 2008 ?

    Existe algún comando que lo abra?

    ResponderEliminar
  18. muchas gracias amigo!!!
    eso de "opcional" me sirvió mucho

    ResponderEliminar
  19. Excelente aporte, fuckin windows mañoso!! XD saludos!

    ResponderEliminar
  20. Muchas gracias por el aporte..tengo el problema que no se ejecuta es archivo .bat si tengo al opcion "Ejecutar tanto si un usuario inicio sesion como si no". con la otra opcion la tarea corre normalmente y ejecuta efectivamente el .bat...alguien me puede decir que esta pasando?? soy administrador del equipo

    ResponderEliminar
  21. Hola muchas gracias por el aporte, lo probaré ya que no he podido hacer que se ejecute la maldita tarea.

    ResponderEliminar
  22. excelente maestro!!!! me sacaste de un gran apuro!!!!
    sobre todo con la ruta opcional....
    muchas gracias!

    ResponderEliminar
  23. Excelente tu aporte! La solucion funciona perfectamente.
    Muchas gracias!!!

    ResponderEliminar
  24. Buenos días a todos, por favor alguien me podría responder como hago para hacer aparece la opción que nombras en la 3 porque a mi no me aparece. desde ya muchas gracias. Mi correo es amthuke@gmail.com. Saludos

    ResponderEliminar
  25. Cierto, el algunos casos no aparece, yo escogí la otra opción que decía Windows server 2008 R2 ingrese la ruta del paso 5 y funciono. Saludos

    ResponderEliminar
  26. Hola programe 5 tareas que ejecutan un archivo .exe, la sprograma para que lo hiciera cada 1 minuto por forma indefinida, veo que cada vez que se ejecutan se abre la ventana cdm por un instante, por que sucede esto? como se pueden correr ocultas? saludos

    ResponderEliminar
  27. Llevaba mucho tiempo con este problema hasta que leí tu tutorial. Por fín se me ejecutan los .bat en w2008r2!!!.
    Muchísimas gracias por tu aporte

    ResponderEliminar
  28. Muy bueno. Gracias por el post. Se ha solucionado el problema que tenía.

    ResponderEliminar
  29. BUENA TU RECOMENDACION FUNCINA PERFECTO

    ResponderEliminar
  30. Muchas gracias, me fue de gran ayuda (comentario opcional, como las opciones de Microsoft)...jajajajja

    ResponderEliminar
  31. Excelente aporte amigo, yo estaba creando una tarea programada para correr un batch pero no elegía compatibilidad de con XP, Gracias por tu aporte

    ResponderEliminar
  32. Excelente! Me sirvio mucho, gracias!!

    ResponderEliminar
  33. Muchas gracias, los resultados fueron excelentes.

    ResponderEliminar
  34. oye una pregunta y se puede hacer este procedimiento para un ejecutable .exe
    el asunto es que hice una aplicacion windows forms que se ejecuta en windows server, la aplicacion se ejecuta cada hora y debe de hacer un tarea especifica. el problema es que no lo hace, lo he probado en winxp win7 y win8 pero en ningun server se ejecuta
    Gracias

    ResponderEliminar
  35. Muchas gracias es la solucion que estaba buscando y muy bien explicados, disculpa como podrias hacer esto por medio de linea de comandos usandos schtasks ya que si genero ahi la tarea me marca el mismo error, saludos

    ResponderEliminar
  36. hola oie tengo que dejar una aplicacion programada solo que esta en una unidad de red, ejecuta el .bat pero no ejecuta la aplicacion dentro del .bat , ayuda por favor

    ResponderEliminar
  37. Exelente Aporte, me saco de un gran aprieto. Muchas gracias !!!

    ResponderEliminar
  38. Muchas gracias, justo lo que andaba buscando!

    ResponderEliminar
  39. Bueno es perfecto, aunque no es esencial lo de poner en Windows server 2003, Windows XP o Windows 2000. Lo prinicpal es lo de la ruta del bat. Aunque no se vea ejecutar el cmd como en antiguas versiones del server, el bat se ejecutará sin problemas.

    ResponderEliminar
  40. gracias , me sirvió para un problema con Windows server 2012,la tarea no se ejecutaba por que el iniciar en es opcional y no lo es

    ResponderEliminar
  41. Gran ayuda .. muchos gracias ! hasta ahora sirve tu publicacion. nuevamente GRACIAS

    ResponderEliminar
  42. muchas gracias me ayudó bastante :D

    ResponderEliminar

Si necesitan ayuda Favor de incluir su direccion de correo electronico. Gracias!