2010-05-18 9 views
2

J'essaie d'utiliser Runtime exec() pour exécuter un script vba avec arguements. J'ai du mal à passer dans les args. Je pense que je dois utiliser la méthode surchargée String [] pour exec.Java Runtime Exec pour script VBA avec arguments

Actuellement ceci fonctionne:

String command = "cmd /c \"\\concat2.vbs\"" 

Process p = Runtime.getRuntime().exec(command); 

Mais je veux courir que des arguments et si je le fais

String command = "cmd /c \"\\concat2.vbs\" " + arg1 + " " + arg2 

où arg1 et arg2 sont des chaînes ma course ne marche pas du programme (état = 1)

Répondre

0

Je pense que je dois utiliser la chaîne [] méthode surchargée pour exec

Exactement! Changez votre commande pour qu'elle soit un tableau de chaînes. Le tableau doit contenir la commande et ses arguments:

String[] command = {"cmd","/c", "concat2.vbs", arg1, arg2}; 
Process p = Runtime.getRuntime().exec(command); 

concat2.vbs devrait être sur le chemin d'exécution de la fenêtre (même répertoire, ou configuré dans la variable d'environnement PATH)

Vérifiez la documentation for the Runtime class.

1

Quelque chose comme:

String[] cmd = { "cmd", "/c", "concat2.vbs" "dog" "house" }; 
Process p = Runtime.getRuntime().exec(cmd); 

devrait produire 'Poste de commande'