2010-12-15 114 views
2

J'ai une ligne, dans un script batch, à partir de laquelle je voudrais capturer la sortie. Je voudrais le rediriger vers un fichier. Mon problème est qu'il y a 3 programmes dans cette ligne, chacun appelant le suivant. Voici la ligne:(batch) Comment appliquer la redirection de sortie au dernier programme d'une ligne?

start cmd /C java -jar Prog.jar -remote %1.xml > ProgOut.txt 

En ce moment, je suppose que le « > » est appliqué à commencer, alors que je voudrais obtenir la sortie de java (je reçois effectivement un fichier vide qui est impossible si c'est la sortie java) ... j'ai essayé d'avoir "" autour de la partie java, mais ça n'a évidemment pas marché. Je suppose que le fait d'avoir la commande java dans un autre fichier batch résoudrait mon problème, mais je préfère ne pas dupliquer les fichiers script, si possible.

Merci!

Répondre

3

Votre fichier batch ressemblerait à ceci:

start cmd /C java -jar Prog.jar -remote %1.xml ^> ProgOut.txt 

trouvé sur: http://www.windowsitpro.com/article/tips/jsi-tip-7733-how-do-i-redirect-the-output-of-a-program-that-i-launched-with-the-start-command-.aspx

+0

Je ne peux pas mettre seul java sur sa ligne et encore il start'ed dans un nouveau processus/thread, non? – Joanis

+0

Je l'ai .. doit être une ligne, en effet. J'ai mis à jour la réponse –

+0

Merci beaucoup !!! – Joanis