![‘wmic’ 不是内部或外部命令,也不是可运行程序或批处理文件](https://linux22.com/image/1521879/%E2%80%98wmic%E2%80%99%20%E4%B8%8D%E6%98%AF%E5%86%85%E9%83%A8%E6%88%96%E5%A4%96%E9%83%A8%E5%91%BD%E4%BB%A4%EF%BC%8C%E4%B9%9F%E4%B8%8D%E6%98%AF%E5%8F%AF%E8%BF%90%E8%A1%8C%E7%A8%8B%E5%BA%8F%E6%88%96%E6%89%B9%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6.png)
我需要运行我编写的这个脚本。此批处理应在 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*
。