Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Java运行powershell?_Java_Powershell_Processbuilder - Fatal编程技术网

如何从Java运行powershell?

如何从Java运行powershell?,java,powershell,processbuilder,Java,Powershell,Processbuilder,我正在尝试使用Process和ProcessBuilder通过powershell执行ps1文件。我正在为整个事情苦苦挣扎,甚至无法运行powershell.exe。我试过: // Wont Run // Defined specific path for powershell - trying to simply run the exe file ProcessBuilder pb = new ProcessBuilder("C:\\Windows\\system32\\Windows

我正在尝试使用Process和ProcessBuilder通过powershell执行ps1文件。我正在为整个事情苦苦挣扎,甚至无法运行powershell.exe。我试过:

 // Wont Run

 // Defined specific path for powershell - trying to simply run the exe file
 ProcessBuilder pb = new ProcessBuilder("C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"); 
 Process p = pb.start();
我已经看过并试图实现这些示例中的方法,但我不明白为什么我的示例甚至不运行powershell实例

我最终想在这里合并运行ps1文件,但在运行之前我需要走一走

此外,我还检查了任务管理器,它正在作为一个进程运行

有没有人能给我指出一个正确的方向,为什么这条路不会走


提前感谢

如果PowerShell出现在Task Manager中,那么听起来您已经成功启动了它。尝试这样做,看看会发生什么:
ProcessBuilder pb=new ProcessBuilder(“C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe-Command\“new Item C:\imadethis.txt-type file\”)我完全侥幸成功地启动了它,我选择使用process builder,ps1文件的实际路径需要在引号中,而我的不是。我还使用了“p.getOutputStream().close();”因为问题似乎是powershell在继续之前首先读取其输入流中的所有输入。我想将其作为后台进程运行,因此不必显示powershell。尝试了你的解决方案,这对其他人来说也非常有效!