java启动powershell_从Java运行Powershell

我目前正在尝试查看是否可以在Java中的powershell中的windows(.lnk)文件中运行程序快捷方式。我知道有更好的工具可以使用,而且我应该直接与.exe进行交互,但请幽默我,这是为了测试目的。

所以基本上,我需要通过java中的powershell运行.lnk文件。我目前面临的主要困境是应该从powershell内部运行的命令

"start \"C:/Adobe Reader X.lnk\""在IDE中,这将正确运行Adobe reader,但是在初始化ProcessBuilder之后的java中,并尝试通过此参数,它不起作用。它将运行powershell进程。以下是我传递给我的方法的代码:

String[] command2 = { /*"cmd.exe", "/C",*/ "powershell", "-Command","&","start \"C:/Adobe Reader X.lnk\"" };正如你所看到的,我也尝试从CMD开始。

这是我的运行代码。我读取输出(没有)我只是想在一个线程中启动Adobe Reader,然后我可以通过Tasklist检查进程是否正在运行。

public void run() {

String line2;

ProcessBuilder probuilder = new ProcessBuilder(command);

Process process = null;

try {

process = probuilder.start();

} catch (IOException e2) {

// TODO Auto-generated catch block

e2.printStackTrace();

}

java.io.InputStream is = process.getInputStream();

InputStreamReader isr = new InputStreamReader(is);

BufferedReader br = new BufferedReader(isr);

// create a reader for the return data from cmd.

StringBuilder sb = new StringBuilder();

// create a string builder to automate the string addition

try {

while ((line2 = br.readLine()) != null) {// build the input

// string from

// cmd.

sb = sb.append(line2);

System.out.println(line2);

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}在通过这些之后,我只是让PowerShell进程运行,但Adobe阅读器不运行,甚至不启动。任何帮助将不胜感激。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值