===== getreg.bat =====
@echo off
rem reg.exeの結果を1行ごと%rに格納する
for /F "usebackq delims=" %%r in (`reg.exe QUERY %1 /v %2`) do (
rem %rをタブ区切りデータとみなし、3列目を%tに格納する
for /F "tokens=3 delims= " %%t in ("%%r%") do (
rem %tが空でなければ、レジストリ値だとみなす
if not "%%t%" == "" (
echo %%t%
goto e
)
)
)
:e
===== 使用例 caller.bat =====
@echo off
for /F "usebackq delims=" %%v in (`call getreg "HKEY_CURRENT_USER\Control Panel\Desktop" Wallpaper`) do set WALLPAPER=%%v%
echo 壁紙=[%WALLPAPER%]
for /F "usebackq delims=" %%v in (`call getreg "HKEY_CURRENT_USER\Control Panel\Colors" ActiveTitle`) do set ACTIVETITLE=%%v%
echo タイトルバーの色=[%ACTIVETITLE%]
syat
#9218()
[
Batchfile
]
Rating0/0=0.00
バッチファイルでレジストリの値を取得するコードを書きました。reg.exe呼んでるだけですが。
see: Preferences API 入門
===== getreg.bat ===== @echo off rem reg.exeの結果を1行ごと%rに格納する for /F "usebackq delims=" %%r in (`reg.exe QUERY %1 /v %2`) do ( rem %rをタブ区切りデータとみなし、3列目を%tに格納する for /F "tokens=3 delims= " %%t in ("%%r%") do ( rem %tが空でなければ、レジストリ値だとみなす if not "%%t%" == "" ( echo %%t% goto e ) ) ) :e ===== 使用例 caller.bat ===== @echo off for /F "usebackq delims=" %%v in (`call getreg "HKEY_CURRENT_USER\Control Panel\Desktop" Wallpaper`) do set WALLPAPER=%%v% echo 壁紙=[%WALLPAPER%] for /F "usebackq delims=" %%v in (`call getreg "HKEY_CURRENT_USER\Control Panel\Colors" ActiveTitle`) do set ACTIVETITLE=%%v% echo タイトルバーの色=[%ACTIVETITLE%]Rating0/0=0.00-0+