‘C:\wmic’不被识别为内部或外部命令、可运行程序或批处理文件

问题描述 投票:0回答:5

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

$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.

我错过了什么?

更新 - 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'

php windows
5个回答
7
投票

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

  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");
    

6
投票

设置路径

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

前往

C:\Windows\System32\wbem
>
wbemtest
连接然后退出。


0
投票

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


0
投票

如果您使用的是 Windows 11,则默认情况下该功能处于禁用状态。只需在 Windows 搜索字段中输入“可选功能”,顶部就会出现“添加可选功能”,单击“查看功能”,然后搜索 WMIC,选中复选框以添加该功能。然后确保将其添加到您系统的“路径”中,如上所述。


-1
投票

这个

%PATH%
环境变量的简单编辑对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.