2013-09-06 2 views
0

Я пытаюсь запустить команду с помощью ProcessBuilder, как показано ниже.Изменение рабочего каталога в обработчике процесса

String[] cmdList = {"cmd.exe","/C","M:", "cd Test_SrcCd_Dev_Dyn","cleartool lsactivity -l [email protected]_PVOB"}; 
ProcessBuilder builder = new ProcessBuilder(cmdList); 

Из командной точки зрения я в основном хочу спросить, как это сделать.

1.Open cmd.exe

2 Open M:

3 кд Test_SrcCd_Dev_Dyn

4 Выполните мою команду, т.е. cleartool lsactivity -l TestActivity @ My_PVOB

Мой код возвращает нуль. Может кто-нибудь, пожалуйста, предложите правильный способ создания построителя процесса для достижения того же.

Заранее спасибо.

ответ

-1

Вы проверили документацию для строителя процесса? public ProcessBuilder directory(File directory) Этот метод устанавливает рабочий каталог для нового процесса. Просто начать новый процесс для cleartool lsactivity -l [email protected]_PVOB команды и установить его рабочий каталог builder.setDirectory(new File("m:\Test_SrcCd_Dev_Dyn"));

Вполне возможно, что вам придется установить абсолютный путь для cleartool

+0

Hi @ Antoniossss..I получил ошибку ниже, когда я попытался это , Не удается запустить программу «cleartool.exe lsactivity -l TestActivity @ My_PVOB» (в каталоге «M: \ Test_SrcCd_Dev_Dyn»): Ошибка CreateProcess = 2, система не может найти указанный файл. – user2732988

+0

Как я уже писал в последней строке, вам, вероятно, нужно указать абсолютный путь к программе, которую вы собираетесь обедать, или относительный путь к вашему текущему каталогу (приложения Java). В вашем случае это будет, я думаю, 'M: \ Test_SrcCd_Dev_Dyn \ cleartool \ lsactivity -l TestActivity @ My_PVOB' – Antoniossss

Смежные вопросы