2014-02-13 2 views
2

Моя установка выглядит следующим образом: C: содержит операционную систему и окончательный выпуск программ Z: содержит код, который я работаю наИзменение рабочего диска Java ProcessBuilder

  • Я использую Netbeans, который установлен на C: \ Program Files (x86)
  • Мои папки проекта в Z:
  • Я пытаюсь отлаживать проект, который нужно запустить процесс, в котором файл для каталога процесса является «C: \ TaxiPIM»

Я пробовал:

ProcessBuilder pb = new ProcessBuilder("java", "-jar", "Pim_Update_Client.jar"); 
pb.directory(new File("/TaxiPIM")); 

и:

ProcessBuilder pb = new ProcessBuilder("java", "-jar", "Pim_Update_Client.jar"); 
pb.directory(new File("c:/TaxiPIM")); 

и в конечном итоге Google-е глазами с результатами, объясняя, как изменить каталог ...

Но мне нужно изменить привод, а также каталог.

Спасибо за чтение - обратная связь очень ценится!

ответ

2

Edit: каталог ProcessBuilders (File) метод возвращает новый ProcessBuilder поэтому попробуйте pb=pb.directory(new File("...)

сырой способ будет экспортировать команду в batchfikle в той же директории, что и проект, и ввод кода изменения диска в пакете файл, а затем запустите пакетный файл из вашего кода.

Пример, который изменяется из каталога на C в каталог на D; (У меня есть мои установки NetBeans и проект-каталог на C-Drive)

ProcessBuilder pb = new ProcessBuilder("cmd.exe","/c","start","cmd"); 
pb=pb.directory(new File("D:\\src")); 
pb.start(); 
+0

Спасибо @ masterX244 - работал как шарм! –

+0

Команда, которую я положил в первой строке, была той, которую я использовал для отладки (только открытие командной строки, так что неправильный путь не нанесет никакого ущерба) – masterX244

1

, а затем после получения нового ProcessBuilder, просто положить в вашей команде:

ProcessBuilder pb = new ProcessBuilder("cmd.exe","/c","start","cmd"); 
pb = pb.directory(new File("c:/TaxiPIM/")); 
pb.command("java", "-jar", "Pim_Update_Client.jar"); 

Еще раз спасибо @ masterX244

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