Precedente :: Successivo |
Autore |
Messaggio |
frysay Mortale pio
Registrato: 21/05/07 14:21 Messaggi: 21
|
Inviato: 21 Mag 2007 14:34 Oggetto: * pianificazione con batch |
|
|
ciao a tutti. sono uno studednte del prim'anno di informatica e ho riscontrato un problema mentre mi avventuravo nei file batch.
avrei bisogno di realizzare un batch che mi verificasse ogni giorno a una certa ora l'esistenza di un file; nel caso non esista vorrei che mi aprisse un altro batch.
ho provato a usare il comando at ma non trovando una guida dettagliata che mi spiegasse l'esatta sintassi e l'esatto funzionamento del comando, mi rivolgo a voi per avere un aiuto.
il comando che ho inserito e che eseguo è il seguente:
at 08:45 /next:G cmd /c if not exist setup.bat start setup2.bat
ovviamente questa era solo una prova. lo eseguo e mi viene scritto che il comando è stato aggiunto con id=1. poi però non avviene quanto richiesto.
vi ringrazio in anticipo x il vostro aiuto. |
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 21 Mag 2007 18:38 Oggetto: Re: pianificazione con batch |
|
|
frysay ha scritto: | che mi verificasse ogni giorno a una certa ora l'esistenza di un file;
at 08:45 /next:G cmd /c if not exist setup.bat start setup2.bat
| Allora usa /every:data non /next:data
Purtroppo non consoco ilformato di data
AT /? dice
Citazione: | /every:data[,...] Esegue il comando in un giorno della settimana o del mese.
Se la data viene omessa viene usato il giorno del mese
corrente.
/next:data[,...] Esegue il comando specificato alla successiva occorrenza
della data (esempio: giovedì prossimo). Se la data è omessa
viene usato il giorno del mese corrente. |
Edit: l'ho trovato qui
OPuoiidnicare ilgiorno del mese o quello della settimana.
Tu devi farlo 7 giorni su 7?
Allora /every:L,M,Me,G,V,S,D
p.s. al prompt dei comandi fai
net start
e guarda se c'è elencato "Utilità di painificazione" |
|
Top |
|
|
frysay Mortale pio
Registrato: 21/05/07 14:21 Messaggi: 21
|
Inviato: 22 Mag 2007 12:49 Oggetto: pianificare con batch |
|
|
ti ringrazio per la tempestiva risposta.
ho provato a fare net start e nell'elenco ho trovato unità di pianificazione.
la questione è che apparentemente sembra che funzioni xke non mi da errori di sintassi ma poi non lo esegue.
ho provato anche con un comando piu semplice tipo:
at 08:45 /every:G cmd /c start setup.bat
però nulla di fatto. forse mi manca qualcosa... |
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 22 Mag 2007 23:03 Oggetto: Re: pianificare con batch |
|
|
Uhm .. proviamo asemplificare ulteriormente
at 08:45 cmd /c start setup.bat
va? |
|
Top |
|
|
frysay Mortale pio
Registrato: 21/05/07 14:21 Messaggi: 21
|
Inviato: 23 Mag 2007 09:50 Oggetto: |
|
|
ho provato. pero il problema è sempre lo stesso. non mi da errori di sintassi pero arrivati all'ora in cui dovrebbe eseguire il comando non lo fa. non riesco proprio a capire come mai. ho cercato su internet ma non ho trovato nulla i utile o che mi risolvesse il problema. |
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 23 Mag 2007 09:59 Oggetto: |
|
|
Ma l'operaizone risulta pianificata?
(non ho mai provato, ma se ho ben capito se dai il comando
senza parametri, dovrebeb eelncartele -tra l'altro ciascuna con un "id" che ti serve ese vuoi cancellarne una) |
|
Top |
|
|
frysay Mortale pio
Registrato: 21/05/07 14:21 Messaggi: 21
|
Inviato: 23 Mag 2007 10:08 Oggetto: |
|
|
ti posto cio che mi appare quando vado ad eseguire il comando:
at 10:45 cmd /c start setup.bat
pause
|
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 23 Mag 2007 10:16 Oggetto: |
|
|
Fai anche la prova che ti ho detto,
non si sa mai ... |
|
Top |
|
|
frysay Mortale pio
Registrato: 21/05/07 14:21 Messaggi: 21
|
Inviato: 23 Mag 2007 10:22 Oggetto: |
|
|
mi dice questo:
pero alle 11.20 non è successo nulla. |
|
Top |
|
|
frysay Mortale pio
Registrato: 21/05/07 14:21 Messaggi: 21
|
Inviato: 23 Mag 2007 10:35 Oggetto: |
|
|
ho provato a cambiare leggermente il comando e all'ora stabilita mi è apparso questo:
ti posto il comando e cio che mi è apparso:
at 11:31 /interactive cmd /c start setup.bat
pause
non so cosa voglia dire pero... |
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 23 Mag 2007 22:02 Oggetto: |
|
|
Citazione: | mi dice questo: | Te lo dice anche dopo che sono passate le 11:20?
(avevi usato qualche parametro /next o /every per creare quella pianificazione?)
Citazione: | pero alle 11.20 non è successo nulla. |
domanda, ma setup.bat cosa contine?
Fai un'altra prova
Codice: | at 08:45 /every:G notepad.exe |
Così vediamo se il problema dipende dal comando at o dal comando cmd /c start setup.bat
p.s.:il parametro /interactive ti permette d'inteteragire col programma
(non tutti i programmi possono avvenire senza input e senza output)
la finestra che ti si è aperta serve, presumo, per interagire. |
|
Top |
|
|
frysay Mortale pio
Registrato: 21/05/07 14:21 Messaggi: 21
|
Inviato: 24 Mag 2007 09:31 Oggetto: |
|
|
quello me lo dice quando vado nel prompt e dicito at(ovviamente dopo aver eseguito il file batch con quel coman do e con la mia pianificazione).
avevo usato /every per quella pianificazione.
in setup.bat c'è il semplice comando start documenti (se lo eseguo con doppio clik funziona senza problemi; funziona anche se lo eseguo facendolo partire con un altro bat che ad esempio contiene start setup.bat)
ho provato a fare come mi hai scritto cioè con un file tipo notepad.exe ma anche in questo caso c'è lo stesso problema.
il paramentro interactive l'ho messo solo per vedere se cambiava qualcosa; in effetti qualcosa è cambiato perché all'ora stabilita si è aperta la finestra che ti ho postato nella pagina precedente(l'ultima).
io non me ne intendo ma mi sembra che ci sia scritto che c'è bisogno di alcune utilities. pero mi sembra strano... |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11559 Residenza: Tokelau
|
Inviato: 29 Mag 2007 10:58 Oggetto: |
|
|
frysay ha scritto: | at 11:31 /interactive cmd /c start setup.bat |
metti il percorso completo di setup.bat. ovvero se si trova in C:\Documenti scrivi
Codice: | at 11:31 /interactive cmd /c start C:\Documenti\setup.bat |
altrimenti lanci un altro setup.bat, non il tuo |
|
Top |
|
|
frysay Mortale pio
Registrato: 21/05/07 14:21 Messaggi: 21
|
Inviato: 29 Mag 2007 11:04 Oggetto: |
|
|
Grazie per avermi risposto.
Ho provato ma non succede nulla comunque
ti posto il testo del file:
at 12:00 /every:Ma cmd /c start "C:\Documents and Settings\media\Desktop\setup.bat" |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11559 Residenza: Tokelau
|
Inviato: 29 Mag 2007 11:37 Oggetto: |
|
|
frysay ha scritto: | at 12:00 /every:Ma cmd /c start "C:\Documents and Settings\media\Desktop\setup.bat" |
prova
Codice: | at 12:55 /every:Ma "C:\Documents and Settings\media\Desktop\setup.bat" |
senza cmd... |
|
Top |
|
|
frysay Mortale pio
Registrato: 21/05/07 14:21 Messaggi: 21
|
Inviato: 29 Mag 2007 12:12 Oggetto: |
|
|
ho provato ma non è successo nulla. |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11559 Residenza: Tokelau
|
Inviato: 29 Mag 2007 12:57 Oggetto: |
|
|
frysay ha scritto: | ho provato ma non è successo nulla. |
cosa hai scritto in setup.bat ? |
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 29 Mag 2007 13:08 Oggetto: |
|
|
frysay ha scritto: | ho provato a fare come mi hai scritto cioè con un file tipo notepad.exe ma anche in questo caso c'è lo stesso problema. | Allora il problema è senz'altro nel comadno AT,
anche se usare
per quanto riguard ail lancio del file batch, io farei semplicemnte
at 12:00 /every:Ma cmd /c "C:\Documents and Settings\media\Desktop\setup.bat"
(perché usare start dopo cmd / c ?
Non so neppure se sia possibile mettere start dopo /c
Prova anche con cmd /k che dovrebbe lasciarti la finestra aperta)
p.s. a proposito, facendo un passo indietro, anche il tuo inziale
cmd /c if not exist setup.bat start setup2.bat
non so se si possa fare.
Metti piuttosto un if dentro setup2.bat, che controlli se essita setup.bat e in caso non esista non faccia nulla (sai la sintassi di if dei file batch?) |
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 29 Mag 2007 13:40 Oggetto: |
|
|
frysay ha scritto: | quello me lo dice quando vado nel prompt e dicito at(ovviamente dopo aver eseguito il file batch con quel coman do e con la mia pianificazione). | Non ho capito, scusa.
Il file batch deve eseguirlo il comando AT, non tu
(forse mi sono perso ....) |
|
Top |
|
|
frysay Mortale pio
Registrato: 21/05/07 14:21 Messaggi: 21
|
Inviato: 29 Mag 2007 15:12 Oggetto: |
|
|
Per chemicalbit:
conosco la sintassi dell if. infatti lo uso tranquillamente senza il comando at.
il fatto è che dopo aver creato il file bat lo devo far partire, altrimenti non mi aggiungen la pianificazione e l''ID.
intendo l'immagine che c'è nella pagina precedente del forum.
ho provato anche come mi hai detto tu:
at 16:00 /every:Ma cmd /c "C:\Documents and Settings\media\Desktop\setup.bat"
pero nulla...
Ho provato anche con cmd /k ma non è successo nulla (allo stesso modo di cmd /c).
Per SverX:
semplicemente setup.bat mi deve aprire un altro file. il fatto è che la sintassi è corretta xke se lo uso senza il comando at, funziona. |
|
Top |
|
|
|