Не могу открыть или выполнить команду в cmd, используя сервлет Java - PullRequest
0 голосов
/ 26 сентября 2018

Хотите выполнить файл echot.BAT, используя сервлет java.Я использовал следующий код.

Process croppingProcess =  Runtime.getRuntime()
                .exec("C:Windows/system32/cmd /c echot.BAT", null, new File("C:restapi_bat/echot"));
                int processOutput = croppingProcess.waitFor();
                if(processOutput == 0){
                    success = true;
            //do your work here
        }

, но получаю ошибку

"C: Windows / system32 / cmd" (в каталоге "C: restapi_bat \ echot"): CreateProcessошибка = 267, имя каталога неверно

файл echot.BAT в C: \ restapi_batПримечание: использование tomcat 7

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Используя escape и Start, bat выполнил решение следующим образом

Process croppingProcess =  Runtime.getRuntime()
                .exec("C:\\Windows\\System32\\cmd.exe /C Start C:\\restapi_bat\\echot ");
                int processOutput = croppingProcess.waitFor();
                if(processOutput == 0){
                    success = true;
            //do your work here
        }
0 голосов
/ 26 сентября 2018

Вместо использования C: Windows / system32 / cmd вы должны использовать C: \\ Windows \\ system32 \\ cmd, потому что Windows разделяется с \.Разделитель / находится в Linux.И вы должны бежать от \, так что используйте \\.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...