来自https://www.pstips.net/question/4525.html和https://www.pstips.net/question/8759.html
1 java 通过cmd操作powershell
private static void exeCmd() { InputStream in = null; BufferedReader reader = null; try { String cmd = "cmd /c powershell E:/test.ps1 p1 p2"; Process p = Runtime.getRuntime().exec(cmd); p.getOutputStream().close(); in = p.getInputStream(); reader = new BufferedReader(new InputStreamReader(in)); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } System.out.println("out put end —"); p.waitFor(); p.destroy(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } private static void exeCmd2() { InputStream in = null; BufferedReader reader = null; try { String cmd = "cmd /c powershell Get-Content E:/ate.txt"; Process p = Runtime.getRuntime().exec(cmd); p.getOutputStream().close(); in = p.getInputStream(); reader = new BufferedReader(new InputStreamReader(in)); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } System.out.println("out put end —"); p.waitFor(); p.destroy(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } }
2 java 直接操作powershell
public static void main(String[] args) throws IOException { //String command = "powershell.exe your command"; //Getting the version String command = "powershell.exe Get-Content E:/ate.txt"; // Executing the command Process powerShellProcess = Runtime.getRuntime().exec(command); // Getting the results powerShellProcess.getOutputStream().close(); String line; System.out.println("Standard Output:"); BufferedReader stdout = new BufferedReader(new InputStreamReader( powerShellProcess.getInputStream())); while ((line = stdout.readLine()) != null) { System.out.println(line); } stdout.close(); System.out.println("Standard Error:"); BufferedReader stderr = new BufferedReader(new InputStreamReader( powerShellProcess.getErrorStream())); while ((line = stderr.readLine()) != null) { System.out.println(line); } stderr.close(); System.out.println("Done"); }
pwershell相关操作文件 https://files.cnblogs.com/files/funkboy/ate.zip