Bonjour à tous,

je souhaite pouvoir afficher des informations sur l'état d'exécution de mon programme dans l'invité de commande (celui depuis lequel j'ai lancé mon script).

J'ai essayé ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Set fso = CreateObject ("Scripting.FileSystemObject")
Set stdout = fso.GetStandardStream (1)
Set stderr = fso.GetStandardStream (2)
stdout.WriteLine "This will go to standard output."
stderr.WriteLine "This will go to error output."
Sans succès...
J'ai essayé ceci:
WScript.stdout.WriteLine "En cours d'execution"
D'après les sources que j'ai lu, cela devrait fonctionner, un problème avec Windows 10?
Ces méthodes ne sont peut-être plus au goût du jour...
Merci d'avance d'éclairer ma lanterne

Voici le script complet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
'Archive un dossier
Dim CheminDossierAZip, CheminDest, i 
Dim WS, fso, prg, CMND
Set fso = CreateObject("Scripting.FileSystemObject")
Set WS = CreateObject("WScript.shell") 
 
CheminDossierAZip = WScript.Arguments(0)
CheminDest = Replace(CheminDossierAZip," ","_")  & ".7z"
CheminDossierAZip = fso.GetFolder(CheminDossierAZip).ShortPath
prg = fso.GetFile("C:\Program Files\7-Zip\7z.exe").ShortPath
 
CMND = prg & " a -sfx " & CheminDest & " " & CheminDossierAZip
WS.Run CMND, 0, True
Set fso = CreateObject ("Scripting.FileSystemObject")
WScript.stdout.WriteLine "En cours d'execution"
Do while Proccess("7z.exe") = True
    WScript.Sleep 100
    WScript.stdout.WriteLine "En cours d'execution"
loop
 
Function Proccess(nomfichier)
dim objWMIService
dim ProcessEncours
dim strComputer
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set ProcessEncours = objWMIService.ExecQuery ("Select name from Win32_Process where name ='" & nomfichier & "'")
Set objWMIService = NotHing
 
If ProcessEncours.Count <> 0 Then Proccess = True Else Proccess = False
 
Set ProcessEncours = NotHing
 
End Function
D'ailleurs la Function Proccess ne fonctionne pas non plus correctement, je pense que la ligne suivante y est pour quelque chose aussi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Set ProcessEncours = objWMIService.ExecQuery ("Select name from Win32_Process where name ='" & nomfichier & "'")
Qu'en pensez-vous?