Java无法正确运行cmd-command

时间:2016-09-07 14:16:32

标签: java xslt cmd get wmic

我正在尝试在Windows计算机上生成所有已安装程序的列表。

这是我正在使用的命令:

WMIC /output:D:\miep product get name && type D:\miep > D:\miep_

您可能已经意识到我还尝试制作一个类型命令,因为我需要UTF-8中的输出。

我通过一个简单的循环为此制作了一个白名单,稍后我将在我的文件中查看某些名称将出现的位置,并在删除其他所有内容时保留它们。

该命令在命令提示符下工作,但是当我尝试在我的Java程序中执行相同操作时,它一直告诉我我有一个 无效的GET表达式 ...

这是我的功能:

void createLists() throws IOException {
    //String cmd = "WMIC /output:D:\\miep.csv product get name /format:\"%WINDIR%\\System32\\wbem\\de-DE\\csv.xsl\"";
    String cmd = "WMIC /output:D:\\miep product get name && type D:\\miep > D:\\miep_";
    System.out.println(cmd);

    Process p;
    p = Runtime.getRuntime().exec(cmd);
    p.getOutputStream().close();

    String line;
    BufferedReader stdout = new BufferedReader(new InputStreamReader(p.getInputStream()));
    while ((line = stdout.readLine()) != null) {
        System.out.println(line);
    }
    stdout.close();
    BufferedReader stderr = new BufferedReader(new InputStreamReader(p.getErrorStream()));
    while ((line = stderr.readLine()) != null) {
        System.out.println(line);
    }
    stderr.close();

    System.out.println("Done");
}

我还尝试使用.csv文件转换内容,就像我在代码的第二行看到的那样: 适用于CMD,但不适用于我的Java程序..!

这里一直告诉我它是无效的XSL格式

有人可以帮忙吗?

0 个答案:

没有答案