2014-02-10 33 views
1

任務 - 爲所有「顯示」設置默認顯示分辨率。批量編輯Windows註冊表中的多級鍵

但是 - 在註冊表中是其中三個:

HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{F92BFB9B-59E9-4B65-8AA3-D004C26BA193}\0000 

HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{2D5BA881-99A8-4757-A06E-CB5493B97A39}\0000 

HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{0F8D6C53-C039-4908-839F-1494115035F7}\0000 

需要0000編輯的條目,但它如何從批處理腳本來完成?

如果添加*符號 - 它創建新的密鑰。

這裏是腳本內容:

C:\Users\user\Documents>type reg.bat 
REGEDIT4 

; @ECHO OFF 
; CLS 
; REGEDIT.EXE /S "%~f0" 
; EXIT 

[HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{*}\000] 
"TestVal"="TestVal" 

所以 - 結果是:

HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{*}\000 

什麼是做正確的方式?

回答

1

這將枚舉VIDEO下的所有鍵,然後將值和數據添加到每個0000鍵。

for /f "delims=" %%A in ('reg query "HKCC\System\CurrentControlSet\Control\VIDEO"') do reg add "%%~A\0000" /v TestVal /t REG_SZ /d "TestVal" /f 

有關每個命令的詳細信息,請參閱幫助文本。

+0

它只是關閉控制檯沒有註冊任何結果(!?): - | – setevoy

+0

@setevoy這是從bat文件運行還是直接在命令行運行?有沒有錯誤信息?嘗試'@echo on'並在此行後面添加一個'pause'來查看執行情況。 ('reg query「HKCC \ System \ CurrentControlSet \ Control \ VIDEO」')執行此命令來驗證查詢結果爲'/ f「delims =」%A do @echo%A'這些是一些建議球棒。 –