当前位置: 首页 > 面试题库 >

在Java程序中执行PowerShell命令

彭宏深
2023-03-14
问题内容

我有一个PowerShell Command我需要使用Java程序执行的程序。有人可以指导我该怎么做吗?

我的命令是 Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format- Table –AutoSize


问题答案:

您应该编写一个这样的Java程序,这是一个基于Nirman的技术博客的示例,其基本思想是执行如下调用PowerShell进程的命令:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class PowerShellCommand {

 public static void main(String[] args) throws IOException {

  //String command = "powershell.exe  your command";
  //Getting the version
  String command = "powershell.exe  $PSVersionTable.PSVersion";
  // 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");

 }

}

为了执行Powershell脚本

String command = "powershell.exe  \"C:\\Pathtofile\\script.ps\" ";


 类似资料:
  • 问题内容: 自寻找以来已经有一段时间了,但找不到解决方案。我试图在.jar文件中的Linux上执行bash命令。为此,我尝试了很多事情,包括: 因此,当我单击.jar文件时,我希望程序打开bash并执行命令(java -jar …),以执行程序的另一部分。 关于如何做的任何想法? 问题答案: 要了解这一点,您首先需要了解如何在shell提示符下运行该命令。 请注意双引号在哪里。第一个参数是。第二个

  • 问题内容: 我正在使用的程序使用ADB(Android调试桥)将文件发送到手机: 我希望程序等待ADB完成传输,但是ADB作为守护程序运行,因此永远无法完成。但是该程序仍在继续运行,并且某种程度上文件没有发送到我的手机(日志中没有例外)。当我从控制台运行命令时,它可以正常工作。 我究竟做错了什么?如何正确通过ADB发送文件? 注意:这将不起作用,因为ADB守护程序会将 所有输出 写入系统标准输出。

  • 试图执行这个,但什么也没发生。我用的是Ubuntu13.10。如何用java程序在ubuntu中做cd。我用过“-c”,但它不起作用。

  • 问题内容: 我有这个国际象棋引擎Rybka.exe,我必须在Java中执行。这是一个运行Rybka的示例:单击它后,控制台将打开并等待输入。因此,然后输入“uci”,然后按Enter键,等待它加载(大约1秒钟),然后您必须再输入几行作为选项和填充。问题是我不知道如何将这些命令从Java传递到Rybka。事实是这些命令必须一次输入一次,因为您必须等待一些命令才能执行。这就是我试图打开它的方式。码:

  • 问题内容: 是否可以在管道常规脚本中直接调用PowerShell命令?在Jenkins中使用自定义作业时,我可以使用PowerShell插件调用该命令。但是在groovy脚本中没有片段可以使用它。 我也尝试过,但似乎此命令不允许在命令中包含多行和注释。 问题答案: 要从Groovy脚本调用PowerShell脚本,请执行以下操作: 您必须使用命令。 之后,您必须确保正确返回错误代码()变量(应导致

  • 问题内容: 我正在尝试在Java中为Linux / unix os执行awk命令,但问题是当我执行命令时它没有显示任何错误它。但是执行后没有输出,执行它需要几分之一秒,我不知道问题请帮忙。 该代码是 谢谢您的帮助 问题答案: 使用Java正确启动命令行过程并不容易。我建议您使用commons- exec 而不是自己尝试。 现在,您在命令行中有两件事需要特殊处理: AWK脚本周围的单引号。当您将每个