2016-04-19 5 views
0

Этот код не работает из-за наличия круглых скобок в имени папки. Java Runtime exec не анализирует местоположение файла должным образом. Есть ли у вас предложения по исправлению этого вопроса?Java Runtime exec не может загрузить пакетный файл в определенных случаях

import java.io.IOException; 

public class SampObject { 

    String command; 

    public void launchBatch() { 
     String cmdArray[]; 

     command = "C:\\test(1)folder\\Launch.bat"; 

     cmdArray = new String[] { 
      "cmd", 
      "/c", 
      "start", 
      command 
     }; 

     try { 
      Runtime.getRuntime().exec(cmdArray); 
      System.out.println("Batch file launched"); 
     } catch (IOException e) { 
      System.out.println("Error launching file: " + e.toString()); 
     } 
    } 
} 

общественного класса Sample {

public static void main(String[] args) { 
    SampObject sampObj = new SampObject(); 
    sampObj.launchBatch(); 
} 

}

+0

Вы можете уточнить, что "не может" средства. – dcsohl

+0

Не работает. Сообщение об ошибке, которое я получаю, это «C: \ test», не распознается как внутренняя или внешняя команда, операционная программа или командный файл. – Sriram

ответ

0

добавить кавычки в команде:

command = "\"C:\\test(1)folder\\Launch.bat\""; 
+0

Не работает. – Sriram