web-dev-qa-db-fra.com

'WMIC' n'est pas reconnu comme une commande interne ou externe, programme opérable ou fichier de commandes

J'ai besoin d'exécuter ce script que j'ai fait. Ce lot doit copier le programme compilé sur STM32 NUCLEO. Il utilise wmic pour trouver la lettre du lecteur virtuel de Nucleo par son étiquette:

@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.
)

Mais j'ai cette erreur:

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

J'ai assuré que le service d'instrumentation de gestion de Windows est en cours d'exécution. Quoi d'autre pourrait-être faux?

Dans mon cas, j'ai eu %SystemRoot%\System32\Wbem Sur le chemin déjà, mais un pilote de périphérique USB récent que j'ai installé a ajouté en outre C:\Windows\System32 à la fin de mon chemin, et cela arrêta de trouver la commande WMIC. Quand j'ai enlevé la fuite C:\Windows\System32 Depuis le chemin, WMIC a été retrouvé à nouveau.

0
AndrWeisR