M HYPE SPLASH
// updates

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

By Emma Payne

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

4 Answers

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

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.

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.

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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy