2016-09-06 79 views
1

以下是我在蝙蝠腳本REG查詢不循環蝙蝠腳本工作在

FOR /F "tokens=2*" %%A IN ('REG.EXE QUERY "HKLM\Software\Microsoft\Internet Explorer" /V "Version"') DO SET IEVer=%%B 

代碼對於這個我得到錯誤

'REG.EXE QUERY "HKLM\Software\Microsoft\Internet Explorer" /V "Version"' is not recognized as an internal or external command, operable program or batch file. 

我也曾嘗試

FOR /F "tokens=2*" %%A IN ('%systemRoot%\system32\REG QUERY "HKLM\Software\Microsoft\Internet Explorer" /V "Version"') DO SET IEVer=%%B 

仍然收到相同的錯誤。

然而上運行

D:\>REG.EXE QUERY "HKLM\Software\Microsoft\Internet Explorer" /V "Version" 

我得到的輸出

HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer 
Version REG_SZ 9.11.9600.18378 

這是隻有一臺機器上發生的情況???有任何想法嗎??

+0

如果您在以下密鑰上運行相同的批處理文件,該特定計算機上會發生什麼? 'HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer' – Compo

回答

0

我想你的代碼,它的工作對我罰款在Windows 7 64位系統

FOR /F "tokens=2*" %%A IN ('REG.EXE QUERY "HKLM\Software\Microsoft\Internet Explorer" /V "Version"') DO SET IEVer=%%B 
echo %iever% 
pause 

回聲返回我:9.11.9600.18426

  • C:\ TEMP> SET我以後=
  • C:\ TEMP> SET我以後= 9.11.9600.18426
  • C:\ TEMP>回聲9.11.9600.18426
  • 9.11.9600.18426暫停
+0

對我來說,它是在所有機器上工作,除了一臺。機器類型是Windows 2012 R2。我無法調試它在這臺機器上失敗的原因。 –

+0

我剛剛測試了2臺不同的2012 R2計算機,它也能正常工作,所以問題確實在於計算機而不是腳本。 – Cividan

+0

是的我知道,但需要調試它爲什麼發生? –

0

對於BAT文件:

for /f "usebackq tokens=3* skip=2" %%v in (`reg query "HKLM\Software\Microsoft\Internet Explorer" /v "Version"`) do set iever=%%v 

對於CMD測試:

@for /f "usebackq tokens=3* skip=2" %v in (`reg query "HKLM\Software\Microsoft\Internet Explorer" /v "Version"`) do @echo %v 

使用參數 「有usebackq」 和反引號爲循環運行裏面的「應用「

Cha nge 標記跳過 params如果您需要。