バッチファイルで REG_MULTI_SZ に値を追加する方法
HKEY_LOCAL_MACHINE の SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost にはカスケード型のサービスの登録レジストリがあるのですが、これを手動で追加する必要が出てきたので、スクリプトを組んでみました。
以下は SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost" の netsvcs に値があれば 何もせずに終了、キーがなければ作成、あって値がなければ値を追加する処理を行うスクリプトです
@echo off SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION SET TPX= for /f "tokens=3 skip=2" %%A in ('reg QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost" /v netsvcs' ) do SET TPX=%%A if NOT "" == "%TPX%" GOTO :PROCEXE echo キーが存在しない reg ADD "HKLM\software\microsoft\Windows NT\CurrentVersion\Svchost" /t REG_MULTI_SZ /v netsvcs /d HidServ\0 /f GOTO :EOFGO :PROCEXE echo !TPX! | findstr /i "hidserv\0" > null if ERRORLEVEL == 1 ( ECHO 追記処理 & GOTO :ADDEXE) if ERRORLEVEL == 0 ( ECHO 既に存在します & GOTO :EOFGO) ECHO 何らかのエラー :ADDEXE reg ADD "HKLM\software\microsoft\Windows NT\CurrentVersion\Svchost" /t REG_MULTI_SZ /v netsvcs /d HidServ\0!TPX:~0,-2! /f :EOFGO pause |
ネット上に方法転がってそうなものなんだけど、何故か見つからなかったでござる・ω・。
Comments