Java Runtime Exec для сценария VBA с аргументами

Я пытаюсь использовать Runtime exec() для запуска сценария vba с аргументами. У меня проблемы с передачей аргументов. Я думаю, мне нужно использовать перегруженный метод String[] для exec.

В настоящее время это работает:

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

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

Но я хочу запустить это с аргументами, и если я сделаю это

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

где arg1 и arg2 — строки, моя программа не запускается (статус = 1)


person Holograham    schedule 18.05.2010    source источник


Ответы (2)


Я думаю, мне нужно использовать перегруженный метод String[] для exec

Точно! Измените свою команду на массив строк. Массив должен содержать команду и ее аргументы:

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

concat2.vbs должен находиться на пути выполнения Windows (тот же каталог или настроен в переменной среды PATH)

Ознакомьтесь с документация для класса Runtime.

person Cesar    schedule 18.05.2010

Что-то типа:

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

Должен производить «собачью конуру»

person decompiled    schedule 18.05.2010