2013-02-01 87 views
1

我想要做的是让所有已安装的应用程序在计算机中,并且我决定使用java命令提示符的/ output命令。我的代码用在我的电脑这行代码正常工作:无效的Xsl格式(或)文件名

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

从命令行运行命令时会发生什么?并且在'en-US'目录中是否有文件? –

+0

是的。它会尝试复制第一个文件,但它会显示“拒绝访问”。我怎样才能让这个程序复制? – Karen

+0

如果收到Access Denined,请尝试使用管理员权限运行java程序。您可能还需要将XSL文件从'C:\ Windows \ SysWOW64 \ wbem \ en-US'文件夹复制到'C:\ Windows \ System32'中。 – MacG

回答

0

这是Windows 7 WMIC中的bug。当您在英文Windows安装中使用(例如)荷兰语区域设置时,WMIC将在C:\Windows\System32\wbem\nl-NL内搜索xsl文件,而不是在C:\Windows\System32\wbem\en-US的位置。

解决方法:

  1. 复制或移动文件C:\Windows\system32\wbem\en-US\*.xsl向上进入C:\Windows\system32\wbem\文件夹。
  2. 更改您的区域设置以匹配您的Windows语言版本,注销并返回。
  3. 指定完整路径:WMIC process get /format:"%WINDIR%\System32\wbem\en-US\csv"
相关问题