Как выполнить команду терминала Windows через программу Java? - PullRequest
0 голосов
/ 25 октября 2019

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

public class CmdExecutionService {

    public static void main(String[] args) {
        //should change to "demo" directory
        new CmdExecutionService().execute("cd C:\\demo"); 
    }

    public String execute(String cmd) {
        try {
            Process process = Runtime.getRuntime().exec(cmd);
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            reader.close();
            return line;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

}

Вывод:

java.io.IOException: Cannot run program "cd": CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at java.lang.Runtime.exec(Runtime.java:620)
    at java.lang.Runtime.exec(Runtime.java:450)
    at java.lang.Runtime.exec(Runtime.java:347)
    at com.example.demo.service.CmdExecutionService.execute(CmdExecutionService.java:18)
    at com.example.demo.service.CmdExecutionService.main(CmdExecutionService.java:13)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
    at java.lang.ProcessImpl.start(ProcessImpl.java:137)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 5 more
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...