Probleme de lancement de mon .bat

cs_annalou Messages postés 11 Date d'inscription mardi 29 juin 2004 Statut Membre Dernière intervention 8 novembre 2007 - 16 juil. 2004 à 11:05
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 - 16 juil. 2004 à 14:14
Bonjour à tous.

je veux lancer un .bat.
pour cela, j'utilise la commande suivante dans mon code:

process = run.exec("cmd /c c:/wsrunner/vds-ws-client/Testdata/ICT_Scenarios_for_Login/file.bat");

le problème,c'est que mon .bat ressemble à cela:

cd ..
cd ..
call wsrunner -b Testdata\ICT_Scenarios_for_Login -s ICT001-Logon.xml -r both -o ../../TestReport/ICT_Scenarios_for_Login
pause

donc lorsqu'il veut faire cd.. il ne se retrouve pas dans ICT_Scenarios_for_Login puisqu'il je ne me trouve pas dans le bon répertoire lorsque je lance le .bat.
j'ai donc décidé de créer 2 process

process = run.exec("cmd /c cd c:/wsrunner/vds-ws-client/Testdata/ICT_Scenarios_for_Login");
process.waitFor();
process1 = run.exec("cmd /c start ICT001-Logon.bat");

Mais cela ne marche pas. j'ai l impression que lorsque mon 2eme process se lance, je ne me trouve plus dans le répertoire ICT_Scenarios_for_Login.

j'espere avoir été assez claire.
Merci de votre aide.

autre question. j'aimerais aussi au lieu de lancer mon .bat executer directement
call wsrunner -b Testdata\ICT_Scenarios_for_Login -s ICT001-Logon.xml -r both -o ../../TestReport/ICT_Scenarios_for_Login

à partir de mon application java
Merci

5 réponses

wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
16 juil. 2004 à 11:57
utilise les pipe d'ecriture et de lecture de ton process :

execute seulement cmd
puis envoie cd c:\\truc\n et enfin call machin\n
0
cs_annalou Messages postés 11 Date d'inscription mardi 29 juin 2004 Statut Membre Dernière intervention 8 novembre 2007
16 juil. 2004 à 12:48
bon excuse moi, je ne suis pas très douée.

pour executer cmd, je fais process = run.exec("cmd");

mais comment envoyer cd c:/truc/n et enfin call machin/n

si tu pouvais me détailler le code, je t'en serais reconnaissante
Merci
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
16 juil. 2004 à 13:27
Salut,

tu peux utiliser la méthode exec qui prend un tableau de String. Chaque valeur du tableau est un des paramètre de ta ligne de commande.

String[] args=new String[]{"cmd","/c", "c:/wsrunner/vds-ws-client/Testdata/ICT_Scenarios_for_Login/file.bat"};
process = run.exec(args);
0
cs_annalou Messages postés 11 Date d'inscription mardi 29 juin 2004 Statut Membre Dernière intervention 8 novembre 2007
16 juil. 2004 à 14:11
non cela ne marche pas car mon .bat fais 2 fois appel à cd.. pour effectuer un call à partir de vds-ws-client. donc je dois d abord me placer sur ICT_Scenarios_for_Login puis lancé le .bat

j'ai donc bien essayé cela

String[] args=new String[]{"cmd","/c", "cd c:/wsrunner/vds-ws-client/Testdata/ICT_Scenarios_for_Login","start ICT001-Logon.bat"};

process = run.exec(args);

mais cela ne marche toujours pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
16 juil. 2004 à 14:14
pourquoi n'appelles tu pas wsrunner directement au lieu de passer le .bat ?
0
Rejoignez-nous