我需要运行我编写的这个脚本。此批处理应在 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*
。