2013-03-12 45 views
0

字符串這是我迄今:批處理文件,以找到一個REQ查詢

set bit=reg query HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0 /v Identifier 
%bit% 
    Identifier REG_SZ x86 Family 6 Model 23 Stepping 10 

我想搜索的%bit%顯示x86架構,如果存在86然後運行test.exe

我知道我可能會用到的%processor_architecture%,但我確實需要知道這種格式的其他註冊表查詢。

+0

這肯定不是你所擁有的,因爲'cmd'不允許通過'set'進行命令替換。 – 2013-03-12 11:19:57

+0

Cmd確實按照technet庫中的規定設置了命令http://technet.microsoft.com/en-us/library/bb490998.aspx – NoNo 2013-03-15 01:56:57

+0

我知道'cmd'有'set'命令,我只是沒有你不會意識到你給一個變量分配了一個命令,只能通過該變量運行該命令。爲什麼不直接直接運行命令並避免混淆? – 2013-03-15 08:12:53

回答

0

我提出這個簡化它未來的用戶,但非常感謝mrt幫助我。

set bit=reg query HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0 /v Identifier 
    %bit%|findstr "x86" >NUL 
If %errorlevel% equ 0 (set type=x86) 
IF %type% equ x86 (winver.exe) 
+0

你可以簡單地運行'reg查詢HKLM \ HARDWARE \ DESCRIPTION \ System \ CentralProcessor \ 0/v標識符|找到「x86」> nul'來達到同樣的效果。 – 2013-03-15 08:11:18

1

不知道如果我正確地理解你的問題,但如果你想知道的是,如果你的reg query返回「86」,那麼你可以做這樣的:

%bit%|findstr "x86" >NUL 
If %errorlevel% equ 0 (echo x86) 
+0

這很好,但我需要它來驗證x86是什麼,如果如果%比特2%當X86然後。附:它必須批量處理的原因是因爲.net不在每臺計算機上,也不是電源外殼。雖然VB中的東西可以工作,如果它覆蓋XP到7 – NoNo 2013-03-15 02:00:51

+0

這是我想出的設置位= reg查詢HKLM \硬件\描述\系統\中央處理器\ 0/v標識符 %bit%| findstr「x86」> NUL 如果%errorlevel%equ 0(set type = x86) IF%type%equ x86(winver.exe),它的工作原理我將爲將來需要此項目的項目保存。謝謝你mrt – NoNo 2013-03-15 02:08:03

相關問題