【问题标题】:invalid Xsl format (or) file name无效的 Xsl 格式(或)文件名
【发布时间】:2013-02-01 16:52:01
【问题描述】:

我想要做的是在计算机中获取所有已安装的应用程序,并且我决定使用 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\\");

但仍然没有发生任何事情。错误仍然存​​在。谁能帮我解决这个问题?

【问题讨论】:

  • 从命令行运行命令时会发生什么? en-US 目录中真的有文件吗?
  • 是的,有。它尝试复制第一个文件,但随后显示拒绝访问。我怎样才能允许这个程序复制?
  • 如果收到拒绝访问,请尝试以管理员权限运行 java 程序。您可能还需要将 XSL 文件从“C:\Windows\SysWOW64\wbem\en-US”文件夹复制到“C:\Windows\System32”。

标签: java wmic


【解决方案1】:

这是 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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    相关资源
    最近更新 更多