& # 39; C: wmic& # 39;不能识别为内部或外部命令、可操作程序或批处理文件


'C:wmic' is not recognized as an internal or external command, operable program or batch file

我想在浏览器中显示cpu通过php的负载百分比。这是我使用的代码:

$command ="C:''wmic cpu get loadpercentage"; 
echo shell_exec("$command 2>&1 ; echo $?" );

输出:

'C:'wmic' is not recognized as an internal or external command, operable program or batch file.

我错过了什么?

Update - 1

更改代码以允许单词之间有空格:$command ="C:''wmic^ cpu^ get^ loadpercentage";

'C:'wmic cpu get loadpercentage' is not recognized as an internal or external command, operable program or batch file.

现在读取整行代码,而不仅仅是'C:'wmic'

您有两个问题,这两个问题我们都在上面的评论中讨论过:

  1. 实际的WMIC二进制位于C:'Windows'System32'wbem'WMIC.exe,而不是C:'wmic。该路径需要在PHP命令中使用。

  2. 你正试图在Windows系统上使用unix风格的shell概念(将STDERR重定向到STDOUT,与;链接命令,并使用echo$?)。

    简单地运行命令,不需要这些东西:

    echo shell_exec("C:''Windows''System32''wbem''WMIC.exe cpu get loadpercentage");
    

set path Windows+Pausebreak> Advanced System Settings> Environment Variable> systme varible> path> Edit: C:'Windows'System32'wbem

进入C:'Windows'System32'wbem> wbemtest,连接后退出

对于windows和javascript,将文件夹的位置添加到路径变量

这个对%PATH%环境变量的简单编辑对我来说很有效。