Condividi tramite

Auto-eseguire un VBScript file

Anonimo
2013-10-14T15:43:13+00:00

Ciao a tutti, 

ho il seguente problema e mi chiedevo se fosse possibile risolverlo. Ho creato un .vbs file che esegue un file batch, il quale a sua volta lancia un programma che deve girare su un server. Quello che vorrei e' che questo file .vbs, che appunto controlla l'esecuzione del file batch, si "auto-eseguisse" nuovamente ogni 10 minuti. Quindi l'idea mia era qualcosa del genere:

LoStessoFile.vbs


Esegui codici....

a = Now()

x = TimeSerial(Hour(a), Minute(a), Second(a))

y = TimeSerial(Hour(a), Minute(a)+10, Second(a))

Do While x < y

x = TimeSerial(Hour(a), Minute(a), Second(a))

Loop

Dim objShell

Set objShell = Wscript.CreateObject("WScript.Shell")

objShell.Run "LoStessoFile.vbs"

Set objShell = Nothing


Il problema pero' e' che con questa procedura il file .vbs non si chiude mai, dunque non puo' ipoteticamente riaprirsi per rieseguirsi. Programmando in VBA ho visto che c'e una funzione chiamata "OnTime" che permette di programmare l'esecuzione di un file a un certo orario. In quel modo, sono gia' riuscito a richiamare l'esecuzione continua di alcune macro. E' possibile fare lo stesso con questo vbs?

Grazie a tutti in anticipo!

Microsoft 365 e Office | Installare, riscattare, attivare | Per la casa | Altro

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-10-14T16:48:06+00:00

Ciao a tutti, 

ho il seguente problema e mi chiedevo se fosse possibile risolverlo. Ho creato un .vbs file che esegue un file batch, il quale a sua volta lancia un programma che deve girare su un server. Quello che vorrei e' che questo file .vbs, che appunto controlla l'esecuzione del file batch, si "auto-eseguisse" nuovamente ogni 10 minuti. Quindi l'idea mia era qualcosa del genere:

<cut>

Grazie a tutti in anticipo!

Questo codice (vbs) ripete l'istruzione Temporizzatore ogni 3 secondi:

Temporizzatore

Public Sub Temporizzatore()

    Set cls = New miaClasse

    cls.Esegui

    WScript.Sleep 3000

    Set cls = Nothing

    Temporizzatore

End Sub

Class miaClasse

    Public Sub Esegui()

        MsgBox "Ciao"

    End Sub

End Class

Vedi anche questo thread:

http://stackoverflow.com/questions/1729075/how-to-set-delay-in-vbscript

La risposta è stata utile?

0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-10-16T15:26:11+00:00

    Codice perfettamente funzionante, mi basterà mettere tutto dentro la routine Esegui( ) e il gioco è fatto. Grazie Mauro! 

    Se stai ancora seguendo il thread, dai un'occhiatina qui:

    http://www.vbsedit.com/

    In pratica vbsedit ti consente di trasformare in eseguibili i file .vbs. Quindi file .exe, certamente più gestibili.

    Chiedo scusa ma mi ero dimenticato di vbsedit. Il programma funziona benissimo anche se non lo registri, hai solo delle finestre che chiedono il codice di attivazione e puoi chiuderle e proseguire. Niente di illegale, nel sito c'è scritto che puoi utilizzarlo così senza limiti di tempo.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-10-15T06:51:46+00:00

    Codice perfettamente funzionante, mi basterà mettere tutto dentro la routine Esegui( ) e il gioco è fatto. Grazie Mauro! 

    Per interrompere, dovrai:

    • Premere: CTRL+ALT+Canc
    • Selezionare: Avvia gestione attività
    • Scheda: Processi
    • Selezionare: wscript.exe
    • Premere: Termina processo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-10-14T19:41:27+00:00

    Codice perfettamente funzionante, mi basterà mettere tutto dentro la routine Esegui( ) e il gioco è fatto. Grazie Mauro!

    La risposta è stata utile?

    0 commenti Nessun commento