Esegui un file batch con l’utilità di pianificazione di Windows

Ho un file batch daily.bat, questo è il codice:

cd C:\inetpub\wwwroot\infoweb\factuur\cron c:\PHP\php.exe -f ./cron_pdf.php ftp -s:ftp_upload.txt ftp.site.be 

E ho creato un’attività con l’utilità di pianificazione in Windows 7. Quando eseguo il batch manualmente, tutto va bene, ma quando provo a eseguirlo con l’utilità di pianificazione non succede nulla.

La mia azione è

 'run script' "C:\inetpub\wwwroot\site\x\cron\daily.bat" 

Il controllo dell’account utente è distriggersto e io sono l’amministratore.

Qualche idea sul perché questo non funziona?

Ho affrontato lo stesso problema, ma ho trovato un’altra soluzione senza dover modificare il mio script batch.

L’unica cosa che ho perso è l’opzione “Azione” – “Inizia in (Opzionale)”.

Vai alle proprietà dell’attività -> scheda Azione -> Modifica -> Compila come di seguito:

  1. Azione : avviare un programma
  2. Programma / script : percorso del tuo script di batch, ad esempio C:\Users\beruk\bodo.bat
  3. Aggiungi argomenti (facoltativo) :
  4. Inizia in (facoltativo) : inserisci il percorso completo per la posizione del tuo script batch, ad es. C:\Users\beruk\ (Non mettere le virgolette intorno all’avvio)

Quindi fare clic su OK

Per me funziona. In bocca al lupo!

Nessuno dei metodi sopra ha funzionato. Ho provato in questo modo come detto in un tutorial e ha funzionato.

Azione: avviare un programma

Programma / sceneggiatura: cmd

Aggiungi argomenti:
/c start "" "E:\Django-1.4.1\setup.bat"

Ha funzionato per me su Win7 Pro. Devi avere un account con una password (le password vuote non vanno bene)

Per coloro i cui file bat non funzionano ancora in Windows 8+ Task Scheduler, una cosa che vorrei aggiungere alla risposta di Ghazi – dopo molte sofferenze:

1) In Azioni, scegli “Crea attività di base”, non “Crea attività”

Lo ha fatto per me, oltre alle altre questioni da non dimenticare:

  1. Utilizzare il percorso Inizia nel file batch, anche se è opzionale
  2. usa le virgolette, se necessario, nel tuo Avvio di un programma> programma / script, cioè “C: \ my scripts \ runme.bat” …
  3. MA NON usare le virgolette nel campo Inizia in. (Pazzesco ma vero!)

Questo ha funzionato senza alcuna necessità di triggersre un prompt dei comandi.

(Scusa se il mio rappresentante è troppo basso per aggiungere il mio suggerimento di attività di base ai commenti di Ghazi)

Assicurati che “Start In” non abbia PREVENTIVI.

Funziona ora. Questo è quello che ho fatto. Probabilmente non avrai bisogno di tutti questi passaggi per farlo funzionare, ma per sicurezza provalo tutti:

  • Controllare i parametri dell’account dell’attività pianificata e accertarsi che siano impostati per l’esecuzione indipendentemente dal fatto che qualcuno abbia effettuato l’accesso alla macchina

  • controlla l’esecuzione con la maggior parte dei privilegi / diritti

  • Assicurati di andare prima al percorso completo: cd C: \ inetpub \ wwwroot \ infoweb \ factuur \ cron

  • Non usare virgolette nei file batch (non so perché, ma sembra aiutare)

  • Diventa super amministratore, inserisci “Amministratore utente netto / attivo: sì” nel prompt dei comandi, esci e accedi come super amministratore, quindi UAC è distriggersto

Si è verificato un problema in cui il mio compito non veniva triggersto semplicemente perché era in esecuzione su un laptop senza cavo di alimentazione … Nella scheda Condizioni, per impostazione predefinita viene controllato in modo che un’attività non venga eseguita mentre l’alimentazione CA non è collegata.

Sotto Windows7 Pro, ho trovato che la soluzione di Arun ha funzionato per me: potevo farlo funzionare anche con “nessun utente connesso”, ho scelto di usare i privilegi più elevati.

Dall’esperienza passata, devi avere un account con una password (le password vuote non sono buone) e se il programma non ti chiede la password quando hai finito la procedura guidata, torna indietro e modifica qualcosa finché non lo fa!

Questo è il metodo nel caso in cui non è chiaro che ha funzionato

 Action: start a program Program/script : cmd (doesn't need the .exe bit!) Add arguments: /c start "" "E:\Django-1.4.1\setup.bat" 

L’ho incasinato per diverse ore e ho provato molti suggerimenti diversi.

Alla fine ho potuto farlo funzionare come segue:

Azione: avviare un programma

Programma / Script: C: \ scriptdir \ script.bat

Aggiungi argomenti (facoltativo) script.bat

Inizia in (facoltativo): c: \ scriptdir

eseguire solo quando l’utente ha effettuato l’accesso

eseguire con i massimi privilegi

configurare per: Windows Vista, Windows Server 2008

Assicurati che “Start In” NON si concluda con BACKSLASH.

Se tutto il resto fallisce per te, assicurati che l’utente che stai tentando di eseguire l’attività abbia accesso al file che stai tentando di utilizzare.

Nel mio caso stavo cercando di eseguire un file batch da C: \ Users \ Administrator \ Desktop a cui l’account non poteva accedere. Spostandolo in una posizione neutra in C: \ risolto il problema.

Si prega di verificare quale account utente si utilizza per eseguire la nostra attività. Può accadere che tu esegua il tuo compito con utenti diversi da quelli di default, e questo utente richiede alcuni privilegi extra. Inoltre, può accadere che l’attività venga eseguita ma non si vede alcun effetto perché il file batch attende una risposta da parte dell’utente, quindi si prega di controllare il task manager se si vede il processo in esecuzione. Una volta accaduto, pianifico un batch con l’aggiornamento svn di alcune pagine Web e il processo si blocca perché svn ha chiesto di accettare il certificato del server.

  1. Non utilizzare le virgolette nel file cmd / batch
  2. Assicurati di andare all’inizio del percorso completo in (facoltativo) :
    C: \ Necessary_file \ Reqular_task \ QDE \ cmd_practice \

inserisci la descrizione dell'immagine qui

L’utilizzo del pulsante Esegui nella finestra principale dell’Utilità di pianificazione per testare diverse varianti ha infine trovato le impostazioni corrette. Queste due opzioni devono essere combinate: – Esegui solo quando l’utente è connesso – Esegui con i privilegi più alti. Tutte le altre varianti fallirono. E ‘irritante tutto il tempo perso su questo, ma almeno funziona. Sistema operativo: WINDOWS 8 CORE (BASIC) VERSION

Prova a eseguire l’attività con privilegi elevati.

metti un \ alla fine del percorso in “start in folder” come c: \ temp \

Non so perché, ma a volte funziona per me.