作成したこのスクリプトを実行する必要があります。このバッチは、コンパイルされたプログラムを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 Instrumenationサービスが実行されていることを確認しました。他に何が間違っているのでしょうか?
これは、wmic
ユーティリティのディレクトリがPATH
に見つからないことを示しています。詳細なシステムプロパティウィンドウを開きます(システムページは Windows+Pause/Break)、[詳細設定]タブで、[環境変数]をクリックします。システム変数のセクションで、PATH
(またはその任意の大文字)を見つけます。このエントリをそれに追加します。
%SystemRoot%\System32\Wbem
エントリはセミコロンで区切られていることに注意してください。
私の場合、パスに%SystemRoot%\System32\Wbem
がすでにありましたが、最近インストールしたUSBデバイスドライバーが追加でC:\Windows\System32
をパスのendに追加し、これによりWindowsが停止しましたwmicコマンドを見つけます。末尾のC:\Windows\System32
をパスから削除すると、wmicが再び見つかりました。