Salve ragazzi volevo chiedervi un vostro parere perchè ho un problema con uno script che mi sta facendo diventare scemo, vi descrivo il problema è poi sotto posto il codice:
In pratica ho un ottimizzatore.exe che dopo una serie di iterazione mi genera un file "ottimo.dat".
Questo ottimizzatore deve dialogare con il mio VBScript.
Quindi il mio VBS prima lancia l'ottimizzatore, poi dialoga con lui (scambiandosi una serie di file) ed una volta che l'ottimizzatore ha terminato voglio semplicemente che mi appaia una msgbox che mi dica "finito" (ovviamente piu avanti vorro leggere questo ottimo.dat ma per ora non mi interessa).
Perciò dopo aver lanciato l'ottimizzatore ho fatto un ciclo:
do while (ottimio.dat non esiste)
qua intanto dialogo con ottimizzatore.exe
loop
msgbox("finito")
Il problema è sostanzialmente che una volta che l'ottimizzatore.exe ha finito e quindi viene creato "ottimo.dat" il ciclo while termina ma lo script invece di andare avanti dandomi anche il msg "finito", esce.
Ho sbagliato qualcosa nell'oggetto WScript Shell per caso?
Ripeto il mio problema è perchè una volta creato ottimo.dat lo script mi termina e non mi considera ciò che c'è dopo?
Grazie a tutti.
codice:
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
objShell.CurrentDirectory = "C:\TEST"
objShell.Run ("%comspec% /c ottimizzatore.exe") 'lancio ottimizzatore.exe
do While (Not fso.FileExists("C:\TEST\Ottimo.dat") )
' Qua dialogo con il .exe scambiandomi dei file
loop
'Ottimizzatore.exe ha finito, ottimo.dat è stato
msgbox("trovato") 'creato ma lo script qua esce e non mi da il msg "trovato"