2013-11-27 23 views
9

Mi piacerebbe avere la finestra della console mantenuta aperta quando si esegue un'attività pianificata che esegue un file batch. Se eseguo manualmente il significato del file batch, la finestra rimane aperta ma tramite l'utilità di pianificazione non si apre ma è possibile vedere che l'attività è ancora in esecuzione. Metto una pausa alla fine per fare questo.mantenere la finestra della riga di comando aperta quando si esegue l'operazione pianificata eseguendo il file batch

@echo off 
TITLE PROCESS_MGR 
tasklist /FI "IMAGENAME eq JOESMO.exe" | find /I "JOESMO.exe">nul &&(echo PROCESS 
JOESMO.exe IS ALREADY RUNNING! 
echo %DATE% 
echo %TIME% 
pause 
) || (
echo JOESMO PROCESS IS NOT RUNNING 
cmd /c start "JOESMO.exe" "C:\Users\xxxx\Documents\ 
Visual Studio 2010\Projects\Projects2013\JOESMO.exe" 
pause) 

Ho trovato questo suggerimento cmd/k myscript.bat ma avendo la creazione dell'attività in Utilità di pianificazione per Windows Server 2008 non sono sicuro dove applicare questo. Ho aggiunto/k alla casella Aggiungi argomenti nell'azione di modifica nell'attività.

risposta

18

Nella finestra di dialogo Operazioni pianificate, poco prima del nome del file batch è andare a correre (è etichettato Program/script Ora avete qualcosa come:.

myscript.bat 

Change a

cmd 

Aggiungere quanto segue alla voce ** Aggiungi argomenti (facoltativo):

/k "C:\My Batch File Folder\MyScript.bat" 

Teste d sul mio sistema (Win7 64-bit), e ha funzionato perfettamente. Sto guardando la finestra di comando aperta che ha creato mentre scrivo questo testo. :-)

+0

grazie per la risposta. L'ho fatto e mi sono chiesto se volevo eseguire l'attività con i seguenti argomenti/k "c: \ .. bat". Ho detto di sì, l'ho provato e l'attività era ancora in esecuzione senza finestre della console. – vbNewbie

+0

@vbNewbie: Vedi la mia modifica –

+0

Grazie mille. Ho capito che funziona ... ha scritto un errore nel campo degli argomenti – vbNewbie

4

Purtroppo soluzione di Ken non ha funzionato per me su un server R2 Std Windows 2008, sono stato in grado di lanciare una finestra interattiva attraverso la modifica delle operazioni pianificate di impostazione usando schtasks.exe

In una finestra di comando ho fatto il seguente comando:

schtasks /Change /TN "My Task" /IT 

Tuttavia che non richiedono di essere collegati come lo stesso contesto utente in cui l'operazione pianificata è in esecuzione. Quindi, se l'attività pianificata utilizza il sistema operativo "accountaccount", sarà necessario accedere al sistema come utente "accountaccount".

Stranamente ha funzionato quando eseguo manualmente l'attività ma non è comparsa per me quando è stato avviato a un orario programmato.

0

Creare un collegamento a Batchfile e inserirlo nell'azione. Ha funzionato per me

0

La risposta di Ken non ha funzionato per me.

Abbiamo trovato questo modo di fare:

nel file BAT (crearne uno se avete solo un EXE):

start C:/Absolute/Path/To/MyScript.exe myScriptArg 

funziona come un fascino!

Nota: l'operazione pianificata, è necessario verificare "Exec solo se l'utente è connesso"

0

ho provato tutto quanto sopra, ma non ha funzionato per me. Ecco quello che ho fatto per arrivare a questo lavoro:

Piattaforma Windows Server 2003 R2 SP2 ActivePerl v5.10.1

Passi

  1. Creare script batch DOS - questo esegue il programma vero e proprio, cioè, myscript.bat
  2. Creare script in Perl per chiamare lo script batch di DOS, cioè, myscript.pl
  3. myscript.pl è uno script a una riga: system ("e: \ scripts \ myscript.bat");
  4. Creare un'attività pianificata: myscript.pl perl

il comando DOS finestra del prompt ora si apre sempre. E ancora più importante, l'attività ora viene eseguita e completata correttamente. NOTA: l'utente RunAs dell'attività pianificata è connesso al server.

+0

Provare quanto segue: 'CMD/C C: \ MyScript.bat' e deselezionare" Esegui solo se l'utente è registrato ". –