Tengo un archivo por lotes daily.bat, este es el código:
cd C:\inetpub\wwwroot\infoweb\factuur\cron
c:\PHP\php.exe -f ./cron_pdf.php
ftp -s:ftp_upload.txt ftp.site.be
Y creé una tarea con el programador de tareas en Windows 7. Cuando ejecuto el lote manualmente, todo funciona bien, pero cuando trato de ejecutarlo con el programador de tareas no sucede nada.
Mi accion es
'run script' "C:\inetpub\wwwroot\site\x\cron\daily.bat"
UAC está apagado y yo soy administrador.
¿Alguna idea de por qué esto no funciona?
Respuestas:
Me enfrenté al mismo problema, pero encontré otra solución sin tener que modificar mi script por lotes.
Lo único que me perdí está en la configuración de 'Acción' - opción "Iniciar en (Opcional)".
Vaya a las propiedades de la tarea -> pestaña Acción -> Editar -> Rellene como se muestra a continuación:
C:\Users\beruk\bodo.bat
C:\Users\beruk\
(no ponga comillas alrededor de Iniciar en)Luego haga clic en Aceptar
Esto funciona para mi. ¡Buena suerte!
fuente
Start In
conjunto de parámetros, mi archivo por lotes programado no se ejecutaría en absoluto. (Windows 7)Start in
es la razón principal por la que funcionó para mí.Ninguno de los métodos anteriores funcionó. Lo intenté de esta manera como lo dije en un tutorial y funcionó.
Acción:
Programa / script:
Añadir argumentos:
Trabajó para mí en Win7 Pro. Debe tener una cuenta con una contraseña (las contraseñas en blanco no son buenas)
fuente
Para aquellos cuyos archivos bat todavía no funcionan en el Programador de tareas de Windows 8+, una cosa que me gustaría agregar a la respuesta de Ghazi, después de mucho sufrimiento:
1) En Acciones, elija "Crear tarea BÁSICA ", no "Crear tarea"
Eso lo hizo por mí, además de los otros temas que no hay que olvidar:
Esto funcionó sin necesidad de activar un símbolo del sistema.
(Lo siento, mi representante es demasiado bajo para agregar mi consejo de Tarea básica a los comentarios de Ghazi)
fuente
Asegúrese de que "Iniciar en" NO TIENE COTIZACIONES.
fuente
Está trabajando ahora. Esto es lo que hice. Probablemente no necesitará todos estos pasos para que funcione, pero solo para asegurarse de probarlos todos:
Verifique los parámetros de la cuenta de su tarea programada y asegúrese de que estén configurados para ejecutarse independientemente de que alguien haya iniciado sesión en la máquina
comprobar ejecutar con la mayoría de los privilegios / derechos
Asegúrese de ir primero a la ruta completa: cd C: \ inetpub \ wwwroot \ infoweb \ factuur \ cron
No use comillas dobles en sus archivos por lotes (no sé por qué pero parece ayudar)
Sea súper administrador, ingrese 'Administrador de usuario neto / activo: sí' en el símbolo del sistema, cierre la sesión e inicie sesión como súper administrador, por lo que UAC está apagado
fuente
Asegúrese de que "Iniciar en" NO termine con una RETROALIMENTACIÓN.
fuente
Tuve un problema en el que mi tarea no se disparaba simplemente porque se estaba ejecutando en una computadora portátil sin un cable de alimentación ... En la pestaña de condiciones, de forma predeterminada se verifica para que una tarea no se ejecute mientras la alimentación de CA no está conectada.
fuente
Bajo Windows7 Pro, descubrí que la solución de Arun funcionó para mí: podía hacer que esto funcionara incluso con "ningún usuario conectado", elegí usar los privilegios más altos.
Según la experiencia anterior, debe tener una cuenta con una contraseña (las contraseñas en blanco no son buenas), y si el programa no le solicita la contraseña cuando termine el asistente, ¡vuelva y edite algo hasta que lo haga!
Este es el método en caso de que no esté claro qué funcionó
fuente
Me metí con esto durante varias horas y probé muchas sugerencias diferentes.
Finalmente lo puse a trabajar haciendo lo siguiente:
fuente
Si todo el resto falla aquí, asegúrese de que el usuario que está intentando ejecutar la tarea tenga acceso al archivo que está tratando de usar.
En mi caso, estaba tratando de ejecutar un archivo por lotes desde C: \ Users \ Administrator \ Desktop al que la cuenta no podía acceder. Moverlo a una ubicación neutral en C: \ resolvió el problema.
fuente
Verifique qué cuenta de usuario utiliza para ejecutar nuestra tarea. Puede suceder que ejecute su tarea con un usuario diferente que su usuario predeterminado, y este usuario requiere algunos privilegios adicionales. También puede suceder que la tarea se ejecute, pero no puede ver ningún efecto porque el archivo por lotes espera alguna respuesta del usuario, así que verifique el administrador de tareas si ve que su proceso se está ejecutando. Una vez que sucede, programo un lote con svn update de alguna página web y el proceso se bloquea porque svn solicitó aceptar el certificado del servidor.
fuente
C: \ Archivo_necesario \ Reqular_task \ QDE \ cmd_practice \
fuente
Publico la respuesta a esta pregunta aquí y aquí .
fuente
El uso del botón Ejecutar en la ventana principal del Programador de tareas para probar varias variaciones finalmente encontró la configuración correcta. Estas dos opciones deben combinarse: - Ejecutar solo cuando el usuario ha iniciado sesión - Ejecutar con los privilegios más altos. Todas las otras variaciones fallaron. Es exasperante todo el tiempo perdido en esto, pero al menos funciona. OS: VERSIÓN DE WINDOWS 8 CORE (BÁSICA)
fuente
Intente ejecutar la tarea con altos privilegios.
ponga un \ al final de la ruta en "iniciar en carpeta" como c: \ temp \
No sé por qué, pero esto a veces me funciona.
fuente
Acción:
Start a Program
Programa / script:
C:\Windows\System32\cmd.exe
Añadir argumentos:
/k start "" "E:\scripts\example.bat"
Agregue
exit
al final de su archivo por lotes.La ventana cmd no se mostrará si selecciona
Run whether user is logged in or not
. Debe seleccionarRun only when user is logged on
para ver la ventana en acción.fuente