как использовать, выполняются () в отличном для выполнения любой команды

Я обычно разрабатываю свой проект с помощью этих двух команд из командной строки (DOS)

G:\> cd c:
C:\> cd c:\my\directory\where\ant\exists
C:\my\directory\where\ant\exists> ant -Mysystem
...
.....
build successful

Что, Если я хочу сделать вышеупомянутое от отличного вместо этого? отличный имеет execute() метод, но следующее не работает на меня:

def cd_command = "cd c:"
def proc = cd_command.execute()
proc.waitFor()

это дает ошибку:

Caught: java.io.IOException: Cannot run program "cd": CreateProcess error=2, The
 system cannot find the file specified
        at ant_groovy.run(ant_groovy.groovy:2)
9
задан drake 11 March 2010 в 18:29
поделиться

3 ответа

Согласно этому потоку (вторая часть), «cd c:». Execute () пытается запустить программу с именем cd , которая не программа, но встроенная команда оболочки.

Временным решением было бы изменить каталог, как показано ниже (не проверено):

System.setProperty ("user.dir", "c:")

5
ответ дан 4 December 2019 в 08:15
поделиться
"your command".execute(null, /the/dir/which/you/want/to/run/it/from)

должно сделать то, что вы хотели.

3
ответ дан 4 December 2019 в 08:15
поделиться

Или более явно, я думаю, решение Бинила должно выглядеть так:

"your command".execute(null, new File("/the/dir/which/you/want/to/run/it/from"))
14
ответ дан 4 December 2019 в 08:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: