animation ou barre de progression

Le
---DGI972---
Bonjour a tous
Je lance un bout de script du genre:

Function ChooseFile()
'Explorateur windows tout OS !! pour selectionner le fichier a traiter
On Error Resume Next
Dim Q2, sRet
Q2 = chr(34)
ChooseFile = ""
Set IE = CreateObject("InternetExplorer.Application")
IE.visible = False
IE.Navigate("about:blank")
Do Until IE.ReadyState = 4
Loop

IE.Document.Write "<HTML><BODY><INPUT ID=" & Q2 & "Fil" & Q2 &
"Type=" & Q2 & "file" & Q2 & "></BODY></HTML>"
With IE.Document.all.Fil
.focus
.click
ChooseFile = .value
End With
IE.Quit
Set IE = Nothing
End Function

fich = ChooseFile()

return_cmd = WSHShell.Run("cmd /c D:TOTOTOTO.cmd " & fich & " >
D:IMPORTTATAindex.dat",0,True)
If return_cmd = 0 Then
wscript.echo "Le fichier " & fich & " a bien été traité en Index.dat,
" & VBCRLF & VBCRLF & "Vous pouvez lancer l'importation"
wscript.quit
Else
wscript.echo "Une erreur a été détectée dans la conversion CSV to
INDEX dans le fichier " & VBCRLF & VBCRLF & fich
End if


Le pb c'est que la commande TOTO.cmd met plus d'une minute pour
s'executer (car beaucoup de fichier a traiter) et on se demande (cela
est logique) si le soft n'est pas "planté".
Il y a t-il un moyen de dire pendant la commande DOS "traitement en
cour", voir une animation avec des petits points qui progresse etc..
?
merci et bon Week-end
Vos réponses
Trier par : date / pertinence
Gilles LAURENT
Le #589707
"---DGI972---" message de news:
| Bonjour a tous

Bonjour,

| Il y a t-il un moyen de dire pendant la commande DOS "traitement en
| cour...", voir une animation avec des petits points qui progresse
| etc.. ?
| merci et bon Week-end

Ci dessous le script VBScript "waitForCompletion.vbs" donné à titre
d'exemple qui utilise la méthode Exec de l'objet Shell. Cette méthode
permet de lancer une commande externe de manière asynchrone en gardant
toutefois la possibilité d'une part de détecter la fin d'exécution du
processus et d'autre part de récupérer le code de sortie.

-- Coupez ici : waitForCompletion.vbs --

Option Explicit

' déclaration des variables
Dim oSh, oEx

' initialisation
Set oSh = CreateObject ("WScript.Shell")

' exécution d'une commande externe
Set oEx = oSh.Exec ("%comspec% /c D:VBScriptTest.cmd")

' attente de la fin de la commande externe
Do While oEx.Status = 0

' affichage de la progression du traitement
WScript.echo Now & ": Work in progress, please wait ..."

' temporisation
WScript.Sleep (1000)

Loop

' évaluation du traitement
WScript.Echo oEx.ExitCode

-- Coupez ici : waitForCompletion.vbs --

--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Publicité
Poster une réponse
Anonyme