10

I need to run this script I made. This batch should copy compiled program on STM32 Nucleo. It uses wmic to find Nucleo's virtual drive's letter by it's label:

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

But I get this error:

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

I ensured that Windows Management Instrumenation service is running. What else could be wrong?

1
  • 1
    Try absolute path to wmic, it should live in C:\Windows\System32\wbem
    – Alex
    Feb 14, 2017 at 13:20

4 Answers 4

22

This indicates that the wmic utility's directory is not found on your PATH. Open the advanced System Properties window (you can open the System page with Windows+Pause/Break) and on the Advanced tab, click Environment Variables. In the section for system variables, find PATH (or any capitalization thereof). Add this entry to it:

%SystemRoot%\System32\Wbem

Note that entries are delimited by semicolons.

2
  • 4
    +1 for a shortcut I didn't know about :)
    – DavidPostill
    Feb 15, 2017 at 0:02
  • Before going through these steps, it's probably worth navigating to this folder in an elevated (run as admin) command-line window to ensure the command is really there.
    – FreeText
    Oct 1, 2018 at 21:09
1

In my case, I had %SystemRoot%\System32\Wbem on the path already, but a recent USB device driver I installed additionally added C:\Windows\System32 to the end of my path, and this stopped Windows from finding the wmic command. When I removed the trailing C:\Windows\System32 from the path, wmic was found again.

0

When I was using C:\Windows\System32 in the path, I was getting the same warning while installing Tails operating system on an USB stick.

When I change this to: %SystemRoot%\System32\Wbem, everything gets sorted and the warning is gone.

0

If you're using Windows 11, Microsoft has removed WMIC from the latest Insider builds.

Instead, you should now use Powershell commands.

To list all WMI Powershell commands, you can run Get-Command -Noun WMI*.

2
  • Well what commands specifically? Dec 3, 2021 at 9:19
  • @TomášZato-ReinstateMonica Run Get-Command -Noun WMI* to list all WMI-related Powershell commands. Dec 3, 2021 at 11:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .