用批處理命令查詢登錄檔項的命令為
reg query ...
具體的使用資訊在命令列視窗中輸入
reg query /?
在這裡我們需要查詢乙個具體的key-value,則使用下面的命令
reg query [reg path] /v [key]
舉個例子
reg query "hkey_local_machine\software\microsoft\microsoft sql server\110\tools\clientsetup
" /v "
path
"
顯示結果如下:
d:\work\學習文件\批處理》reg query "hkey_local_machine\software\microsoft\microsoft sql server\110\tools\clientsetup"
/v "path"
hkey_local_machine\software\microsoft\microsoft sql server\
110\tools\clientsetup
path reg_sz c:\program files\microsoft sql server\
110\tools\binn\
我們要把紅色的部分取出來,注意reg批處理命令這裡的輸出結果是兩行,我們要取出來的是第二行的後半部分。我們用for 將這部分取出來。先來說一下for的基本結構:
for /f "tokens=1,2 delims=:
" %%a in(『reg query [reg_path]'
) do
(
set"
value1=%%a
"set
"value2=%%b
")
for迴圈對reg query取出的兩行分別處理,取出的每行值儲存在變數%%a中,但是這裡使用了tokens 和delims,delims指定了分割字串的字元,這裡也就是用":"將每行字串進行分割,tokens=1,2 表示取出分割之後的前兩列,第一列儲存在%%a中,第二列儲存在%%b中(如果有第三列則儲存在%%c中)。。。繼續看上面的例子。
echo offfor /f "
tokens=1,2 delims=:
" %%a in('
reg query "hkey_local_machine\software\microsoft\microsoft sql server\110\tools\clientsetup" /v "path"')
do(
set"
value1=%%a
"echo %value1%
set"value2=%%b
"echo %value2%)
最終的變數值
value1 = path reg_sz c
value2 = \program files\microsoft sql server\110\tools\binn\
將value1的倒數第乙個字元(也就是碟符c)和value2連線起來,中間用 :
set"value2=%value1:~-1%:%value2%
"
批處理查詢登錄檔專案錄下匹配的子項
使用說明 1.請將下面的檔案儲存成 批處理查詢登錄檔專案錄下匹配的子項.bat 2.直接在windows下雙擊執行 批處理查詢登錄檔專案錄下匹配的子項 echo off set regpath hkey current user software microsoft windows currentv...
INNO 讀取可變登錄檔路徑的問題
inno 讀取可變登錄檔路徑的問題 問題 我想自動為 firefox 安裝上 real 的 mozilla 外掛程式 但是它的路徑存放在 hkey current user software mozilla mozilla firefox 1.5 zh cn main install directo...
語言 批處理 刪除登錄檔中的項
reg delete keyname v valuename ve va f keyname machine fullkey machine 遠端機器名 忽略當前機器的預設值。遠端機器上只有 hklm 和 hku。fullkey rootkey subkey rootkey hklm hkcu hk...