Bonjour

Ça fait maintenant plus d'une journée que je m'escrime à exécuter un programme externe par un VBScript (qui sera lancé en ligne de commandes) pour récupérer son code retour et alors que je pensais avoir touché au but, ça ne fonctionne toujours pas.

Voici où j'en suis, le script suivant :
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
Option Explicit
 
Dim WshShell, job, jobStatus
Set WshShell = CreateObject("WScript.Shell")
Set job = WshShell.Exec("java")
Do
  WScript.stdOut.Write job.stdOut.ReadAll
  Wscript.stdErr.Write job.stdErr.ReadAll
  jobStatus = job.Status
  If jobStatus <> 0 Then Wscript.Sleep 20
Loop While jobStatus = 0
 
WScript.Echo "Status: "& job.Status
WScript.Echo "Exit code: "& job.ExitCode
 
Set job = Nothing
Set WshShell = Nothing
produit l'affichage suivant :
C:\Documents and Settings\g>Test.vbs
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.

Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)

where options include:
[Bla bla bla...]
Status: 1
Exit code: 0
Alors que :
C:\Documents and Settings\g>java
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)

where options include:
[Bla bla bla...]

C:\Documents and Settings\g>echo %ERRORLEVEL%
1
Les codes retours ne correspondent pas !
Savez-vous comment récupérer le code de sortie d'un programme ?

Merci

C:\Documents and Settings\g>ver

Microsoft Windows XP [version 5.1.2600]