WindowsでコマンドラインからUSBデバイスを切断/再接続する

WindowsでコマンドラインからUSBデバイスを切断/再接続する方法

  1. Windows Driver Kit (WDK) のダウンロード

以下からMicrosoftの公式ツールである「Windows Driver Kit (WDK)」をダウンロードします。Windows Insider Program (無料)に参加する必要があります。

https://docs.microsoft.com/ja-jp/windows-hardware/drivers/download-the-wdk

  1. インストール

インストールし、インストールされたパスを確認します。

筆者の環境(Windows 10 64bit)では以下にインストールされました。

C:\Program Files (x86)\Windows Kits

実際に利用するプログラムは以下です。(64bit)

C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe

※実際のプログラムは各自の環境に合わせてください。

  1. デバイスIDの取得

対象となるUSBデバイスの「ハードウェアID」を取得します。

f:id:handachi-king:20200505220446p:plain
デバイスIDの取得

この場合”USB\VID_05FC&PID_0231&REV_0100&MI_01″になります。

デバイスマネージャーから確認することができます。デバイスマネージャーの起動方法は以下となります。

キーボードの[Windowsマーク]と[Xキー]を同時押しし、「DEVMGMT. MSC」 と入力します。

  1. コマンドから実行

管理者権限で実行する必要があります。

切断する場合は以下となります。

 “C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon” disable “USB\VID_05FC&PID_0231&REV_0100&MI_01”

 再接続する場合は以下となります。

 “C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon” enable “USB\VID_05FC&PID_0231&REV_0100&MI_01”

  1. batファイルの作成 

以下を参考にしてください。

@echo off
rem これはUSBデバイスを切断/再接続するためのBATファイルです。

rem プログラムの場所を設定。
rem “”で囲むこと。
rem (例)PG=”C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon”
set PG=”C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon”

rem デバイスIDを設定。
rem プログラムの場所を設定。
rem “”で囲むこと。
rem (例)DEV=”USB\VID_05FC&PID_0231&REV_0100&MI_01″
set DEV=”USB\VID_05FC&PID_0231&REV_0100&MI_01″

rem 管理者権限で実行しているかチェック
NET SESSION > NUL 2>&1
IF %ERRORLEVEL% == 0 (
goto :start
) ELSE (
ECHO 管理者として実行していません。
goto :end
)

:start
ECHO +—————————+
ECHO 接続する場合:Eを入力
ECHO 切断する場合:Dを入力
ECHO 終了する場合:Fを入力
ECHO 続ける場合:Cを入力
ECHO +—————————+


SET INPUTSTR=
SET /P INPUTSTR=””
IF /i “%INPUTSTR%”==”C” GOTO :start
IF /i “%INPUTSTR%”==”D” GOTO :disable
IF /i “%INPUTSTR%”==”E” GOTO :enable
IF /i “%INPUTSTR%”==”F” GOTO :end
ECHO 入力が正しくありません。
GOTO :start

:enable
%PG% enable %DEV%
ECHO 接続が完了しました。
GOTO :start

:disable
%PG% disable %DEV%
ECHO 切断が完了しました。
GOTO :start

:end
ECHO 終了します。
pause

以上です。

最新情報をチェックしよう!