我想要做的是将所有已安装的应用程序安装到计算机中,并且我决定使用java使用命令提示符的/ output命令。我的代码在我的计算机中使用这行代码正常工作:
Process proc = rt.exec("wmic /output:C:\\Users\\Public\\Documents\\list.csv product get name,version /format:csv ");
但是,当我尝试在另一台计算机上运行该程序时,我遇到“无效的XSL格式或文件名”错误。我尝试阅读其他问题,并在上面的代码之前添加了这行代码:
proc2 = rt.exec("xcopy /y C:\\Windows\\System32\\wbem\\en-US\\*.xsl C:\\Windows\\System32\\");
但仍然没有发生任何事。错误仍然存在。有谁可以帮我解决这个问题?
答案 0 :(得分:0)
这是Windows 7 WMIC中的bug。在英语Windows安装中使用(例如)荷兰语区域设置时,WMIC会在C:\Windows\System32\wbem\nl-NL
内搜索xsl文件,而不是C:\Windows\System32\wbem\en-US
。{/ p>
解决方法:
C:\Windows\system32\wbem\en-US\*.xsl
文件复制或移动到C:\Windows\system32\wbem\
文件夹中。WMIC process get /format:"%WINDIR%\System32\wbem\en-US\csv"
。