USBデバイス(マイク)の有効/無効を切り替えるバッチファイルを書いているんですが、
forループ内でファイルパスを展開してコマンドを実行する部分で躓いています。
()内での %DEVCON% (devcon.exeの絶対パス)の展開部分ですが
''や、usebackqを使用して``とすると、にすると半角スペースごとに別文字列として展開される
``にすると絶対パスの先頭に`が付いたパスとして認識され、ファイルが見つからないエラーになる
forループの()内で変数を展開してコマンドを実行する方法が分かりません。
以下が作成したファイルの内容です。ご教示お願いします。
@echo off
:: devcon.exeのパス(64bit)
@set DEVCON="C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe"
:: マイクの無効と有効
:: AT2020USB+
:: %DEVCON% disable "USB\VID_0909&PID_001C&REV_0100&MI_00"
:: %DEVCON% enable "USB\VID_0909&PID_001C&REV_0100&MI_00"
FOR /F "tokens=3 usebackq" %%a IN (`%DEVCON% status "USB\VID_0909&PID_001C&REV_0100&MI_00" ^| find "Driver is"`) do set "STATUS=%%a"
IF "%STATUS%" == "running." (
%DEVCON% "USB\VID_0909&PID_001C&REV_0100&MI_00"
) ELSE (
%DEVCON% enable "USB\VID_0909&PID_001C&REV_0100&MI_00"
)
【.cmd】 バッチファイルスクリプト %14 【.bat】
■ このスレッドは過去ログ倉庫に格納されています
392デフォルトの名無しさん
2021/09/05(日) 20:59:18.22ID:h9G3o9Tj■ このスレッドは過去ログ倉庫に格納されています
