我正在尝试在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格式
有人可以帮忙吗?