2011-07-28 112 views
0

我正在爲舊的遊戲模擬器1做一個小模,而且我以爲我做了一個簡單的批處理文件來安裝它,只是爲了看中。 無論如何,在註冊表中,你可以找到安裝路徑變量從註冊表(批處理文件)

[HKEY_LOCAL_MACHINE\SOFTWARE\Maxis\The Sims] 
"InstallPath"="C:\\Program Files\\Maxis\\The Sims" 

現在,我需要這是我的bat文件的變量,像

set simsdir=%installpath% 

我如何做到這一點?香港專業教育學院GOOGLE了它,但它沒有任何意義什麼那麼對我來說是這樣,這就是爲什麼我問這裏:P

乾杯

+0

好吧,我改變了它 –

回答

1

聽起來像是你需要調用reg.exe

771240接受的答案看起來有你需要的語法。我沒有測試這一點,但它應該是這個樣子

Set Reg.Key=HKEY_LOCAL_MACHINE\SOFTWARE\Maxis\The Sims 
Set Reg.Val=InstallPath 
For /F "Tokens=2*" %%A In (
    'Reg Query "%Reg.Key%" /v "%Reg.Val%" ^| Find /I "%Reg.Val%"') 
Do Call Set simsdir=%%B 
echo %simsdir% 

編輯

也許與所有在同一行嘗試,這是我能得到它的工作的唯一途徑。我在「醇批處理文件有點生疏,雖然

Set Reg.Key=HKEY_LOCAL_MACHINE\SOFTWARE\Maxis\The Sims 
Set Reg.Val=InstallPath 

For /F "Tokens=2*" %%A In ('Reg Query "%Reg.Key%" /v "%Reg.Val%" ^| Find /I "%Reg.Val%"') Do Call Set simsdir=%%B 
echo %simsdir% 
+0

AFAI理解它,我需要把它出口章到一個txt文件,然後進行bat文件讀取的特定行txt,然後使該變量。我只是不知道如何做到這一點:) –

+0

我編輯的答案有一個例子。根據我的理解,你不需要中間文本文件,你可以直接在Reg.exe的輸出上輸入For循環 –

+0

嗯蝙蝠剛剛關閉,當我嘗試代碼... –