Java Runtime.exe () не возвращает вывод команды PowerShell - PullRequest
0 голосов
/ 26 июня 2018

я пытаюсь запустить команду ниже с Java Runtime.exe

String command ="powershell (Get-item  \"D:\\test\" ).creationtime.ToString(\"yyyy-MM-dd'T'HH:mm:ss\")";

когда я запускаю его на командной строке Windows , возвращается «2017-08-07T20: 03: 00».

но когда я запускаю его в myMethod , программа также запускается, и мне ничего не возвращается.

myMethode:

private static void executePowerShellCommand(String command) {

    String line = "";
    command = "cmd /c " + command;
    try {
         Process process = Runtime.getRuntime().exec(command);
         process.getOutputStream().close();
         BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
         while ((line = reader.readLine()) != null) {
             System.out.println(line);
         }
         reader.close();
         System.out.println("Done");
         } catch (java.io.IOException e) {
             e.printStackTrace();
         }
        return;
}

1 Ответ

0 голосов
/ 27 июня 2018

Я нашел проблему

моя команда была неправильной, и правильная команда:

String command = "powershell (Get-item '" + filePath + "' -Force).LastAccessTime.ToString(\\\"yyyy-MM-dd'T'HH:mm:ss'Z'\\\")";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...