[過去ログ] 【.cmd】 バッチファイルスクリプト %14 【.bat】 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
395
(1): デフォルトの名無しさん [sage] 2021/09/05(日) 22:12:50.15 ID:GdXH1yQe(1/3) AAS
>>392
392(2): デフォルトの名無しさん [sage] 2021/09/05(日) 20:59:18.22 ID:h9G3o9Tj(1/2) AAS
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"
)
FOR /F "tokens=3" %%a IN ('^"%DEVCON% status "USB\VID_0909&PID_001C&REV_0100&MI_00" ^| find "Driver is"^"') DO set "STATUS=%%a"
396
(3): デフォルトの名無しさん [sage] 2021/09/05(日) 22:17:55.22 ID:GdXH1yQe(2/3) AAS
>>392
あるいは>>392のFOR文のままで
@set DEVCON=C:"\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe"
398: デフォルトの名無しさん [sage] 2021/09/05(日) 23:54:22.00 ID:GdXH1yQe(3/3) AAS
上のはそういう話じゃない
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.687s*