‘wmic’ 不是内部或外部命令,也不是可运行程序或批处理文件

‘wmic’ 不是内部或外部命令,也不是可运行程序或批处理文件

我需要运行我编写的这个脚本。此批处理应在 STM32 Nucleo 上复制已编译的程序。它用于wmic通过标签查找 Nucleo 的虚拟驱动器的字母:

@echo off
for /f %%D in ('wmic volume get DriveLetter^, Label ^| find "NODE_F446RE"') do set nucleo_drive=%%D
IF EXIST %D%\DETAILS.TXT (
  IF EXIST main.bin (
    @echo on
    xcopy main.bin %D%
    @echo off
    echo Copied main.bin on nucleo
  ) ELSE (
    echo Binary not found. Run `mingw32-make` in this directory to compile the project.
  )
) ELSE (
  echo Nucleo drive not found. If needed, edit the `find "NODE_F446RE"` part of this script to refference your nucleo volume name.
)

但是我收到此错误:

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

我确保 Windows Management Instrumentation 服务正在运行。还有什么问题?

答案1

这表示wmic您的 上未找到该实用程序的目录PATH。打开高级系统属性窗口(您可以使用Windows+打开系统页面Pause/Break),然后在高级选项卡上单击环境变量。在系统变量部分中,找到PATH(或任何大写字母)。向其中添加此条目:

%SystemRoot%\System32\Wbem

请注意,条目以分号分隔。

答案2

就我而言,我已经%SystemRoot%\System32\Wbem在路径上,但我最近安装的 USB 设备驱动程序又添加到C:\Windows\System32结尾我的路径,这导致 Windows 无法找到 wmic 命令。当我C:\Windows\System32从路径中删除尾随部分时,wmic 再次被找到。

答案3

当我在路径中使用C:\Windows\System32该路径时,我在 USB 记忆棒上安装 Tails 操作系统时收到了相同的警告。

当我将其更改为:时%SystemRoot%\System32\Wbem,所有内容都得到排序并且警告消失。

答案4

如果你使用的是 Windows 11,微软已经从最新的 Insider 版本中删除了 WMIC

相反,您现在应该使用 Powershell 命令。

要列出所有 WMI Powershell 命令,您可以运行Get-Command -Noun WMI*

相关内容