我尝试使用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;
}
答案 0 :(得分:0)
我发现了问题
我的命令有误,正确的命令是:
String command = "powershell (Get-item '" + filePath + "' -Force).LastAccessTime.ToString(\\\"yyyy-MM-dd'T'HH:mm:ss'Z'\\\")";