Come posso forzare l'esecuzione di un processo .bat pianificato in primo piano?


2

Ho un semplice .bat che esegue uno script PHP ogni giorno alla stessa ora.

@echo ON
php C:\path\to\script.php argument
pause

Funziona bene quando faccio doppio clic sul file .bat. E ho impostato un'attività pianificata per eseguirla ogni giorno, ma viene eseguita in background. Nessuna finestra della riga di comando ovunque. Vedo che è davvero in esecuzione.

Mi piacerebbe davvero poter monitorare questo lavoro mentre è in esecuzione.

Come posso forzare l'esecuzione in una finestra della riga di comando in primo piano?

Ambiente Windows 7.

Risposte:


3

Quando pianifichi l'attività, se la imposti come utente che accederà in quel momento, dovrebbe essere eseguita in primo piano. C'è anche una casella di controllo "Nascosto" nella scheda generale. Assicurarsi che sia deselezionato.


3

In realtà ho trovato questa risposta su StackOverflow.

Nelle proprietà dell'attività pianificata, nella scheda "Azioni", scegli la tua azione e fai clic su Modifica.

Nel campo programma / script, cambialo in cmd.

Nel campo aggiungi argomenti, cambialo in `/ k" C: \ path \ to \ job.bat ".

Questo ha funzionato per me.


0

Il comando schtasks è abbastanza particolare nel modo in cui tratta gli utenti e lo sfondo / primo piano. Preferisco di gran lunga creare e gestire attività pianificate dalla riga di comando (molto meno fastidi rispetto alla GUI e posso adattare le cose esattamente a mio piacimento molto rapidamente in questo modo), ma primo piano / sfondo è un problema specifico. Per mostrare come funziona con esempi:

La seguente attività verrà eseguita ogni 30 minuti (ma solo in background! L'uso di / ru e / rp impone che ciò accada):

schtasks / create / sc minute / mo 30 / tn "Note" / tr notepad.exe / ru / rp

Tuttavia, se si esegue il comando seguente, verrà eseguito in primo piano con le proprie credenziali (quindi, se si desidera monitorare il lavoro, sarà possibile farlo come segue):

schtasks / create / sc minute / mo 30 / tn "Note" / tr notepad.exe

È strano la prima volta che l'ho visto, ma una volta che conosci la regola, è semplice. Come dici tu, stranamente nella GUI, devi impostare username / password come l'utente corrente affinché funzioni in primo piano, il che sembra opposto.

Alcuni altri esempi:

schtasks / create / sc minute / mo 30 / tn "Note" / tr "php C: argomento \ path \ to \ script.php"

schtasks / create / sc minute / mo 30 / tn "Note" / tr "start / min C: \ Users \ John \ MyPHPscript.bat"

quindi inserisci l'argomento MyPHPscript.bat: php C: \ path \ to \ script.php

Per visualizzare correttamente l'attività specifica (mostrando anche la riga di comando utilizzata):

schtasks / query / tn "Note" / v / fo list

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.