java中如何执行powershell脚本
在cmd执行powershellh:hello.ps1没有问题。在java中执行cmd/ctasklist或是cmd/cipconfig之类的也都可以获取信息到控制台可就...
在cmd执行 powershell h:hello.ps1没有问题。
在java中执行cmd/c tasklist 或是 cmd/c ipconfig之类的也都可以获取信息到控制台
可就是执行cmd/c powershell h:hello.ps1什么都没有
有什么方法可以在java中执行powershell的脚本,并获取到信息? 展开
在java中执行cmd/c tasklist 或是 cmd/c ipconfig之类的也都可以获取信息到控制台
可就是执行cmd/c powershell h:hello.ps1什么都没有
有什么方法可以在java中执行powershell的脚本,并获取到信息? 展开
2个回答
展开全部
String cmdLine = "powershell -file \""+this.scriptPath+"\" get-performance";
Process ps = Runtime.getRuntime().exec("powershell -file C:/eclipse/test.ps1");
ps.getOutputStream().close(); // It seems that powershell first reads all input from it's input stream before going.
String rs = "", line;
BufferedReader rd = new BufferedReader(new InputStreamReader(ps.getInputStream()));
try{
while((line = rd.readLine()) != null){
rs += line;
}
}finally{
rd.close();
}
System.out.println(rs);
展开全部
可以通过jni调用,或者是Runtime,
jni可以调用其它各个语言,
Runtime可以通过exec
jni可以调用其它各个语言,
Runtime可以通过exec
追问
jni没用过,现在是在用runtime的exec(cmd)
String cmd = "cmd /c ipconfig" 这条可以正常获取
String cmd = "cmd /c powershell h:hello.ps1" 则不行,powershell h:hello.ps1这条命令虽然在cmd可以执行,但是在java里获取不到,我想是这个String cmd 没写对。
追答
public static void main(String[] args) {
BufferedReader br = null;
try {
Process p = Runtime.getRuntime().exec("net user");
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询