溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

bat命令批處理如何判斷32位還是64位系統(tǒng)

發(fā)布時間:2021-08-10 15:05:28 來源:億速云 閱讀:315 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“bat命令批處理如何判斷32位還是64位系統(tǒng)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“bat命令批處理如何判斷32位還是64位系統(tǒng)”這篇文章吧。

第一種代碼:通過 %PROCESSOR_ARCHITECTURE%

可以通過cmd中 通過echo %PROCESSOR_ARCHITECTURE%

if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64
exit
:x64
explorer.exe http://www.baidu.com/
exit

:x86
explorer.exe http://kemok4.com/

x86代表系統(tǒng)是32位,AMD64代表系統(tǒng)是64位

這段批處理代碼很簡單,如果是32位系統(tǒng),就打開億速云;如果是64位系統(tǒng),就打開百度

當然了,這段批處理代碼并沒有實際的用途,只是做一個測試。實際情況下,這個檢測還是很有用的,比如根據(jù)不同的情況,注冊不同的服務,等等

第二種代碼:if exist %windir%\SysWOW64

實例代碼

@echo off
if exist %windir%\SysWOW64 (
 start http://www.baidu.com
)else (
 start http://kemok4.com
)

原理是判斷是否存在SysWOW64目錄,一般情況下64位系統(tǒng)都會有這個目錄。

這段批處理代碼很簡單,如果是32位系統(tǒng),就打開億速云;如果是64位系統(tǒng),就打開百度

以下億速云小編為大家分享幾個實例

使用cmd命令批處理判斷windows系統(tǒng)是32bit還是64bit

@echo off
::從系統(tǒng)文件中獲取系統(tǒng)版本信息
for /f "tokens=1* delims=[" %%a in ('ver') do set b=%%b
::將版本信息賦值給變量b
set b=%b:* =%
::輸出指定值
echo %b:~0,4%
echo %PROCESSOR_ARCHITECTURE:~-1%
echo %b:~0,4%%PROCESSOR_ARCHITECTURE:~-1%
::調(diào)用指定值對應的cmd命令行
call:%b:~0,4%%PROCESSOR_ARCHITECTURE:~-1%
pause&exit
:5.1.6
echo 系統(tǒng)版本: winxp_32位
goto:eof
:5.2.6
echo 系統(tǒng)版本: win2003_32位
goto:eof
:5.2.4
echo 系統(tǒng)版本: win2003_64位
goto:eof
:6.1.6
echo 系統(tǒng)版本:win7_32位
goto:eof
:6.1.4
echo 系統(tǒng)版本:win7或win2008_64位

輸出如下:

bat命令批處理如何判斷32位還是64位系統(tǒng)

繼續(xù)補充

64位系統(tǒng)注冊表:

[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0]
“Identifier”=”Intel64 Family 6 Model 62 Stepping 4”

64位系統(tǒng)系統(tǒng)變量:

PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 62 Stepping 4, GenuineIntel

PROCESSOR_ARCHITECTURE = AMD64

@echo off 

IF "%PROCESSOR_ARCHITECTURE%" == "X86" (
 echo 32位系統(tǒng)
) ELSE (
 echo 64位或更高系統(tǒng)
)

基本上這樣就明白了吧,真多32位于64位的很多需要區(qū)分對待這里就可以分開解決了。

下面繼續(xù)為大家分享一下

bat批處理判斷系統(tǒng)32位或64位以及操作系統(tǒng)類型

方法一:

systeminfo |find "x64"

方法二:
有時候需考慮wow的情況

IF PROCESSOR_ARCHITECTURE == amd64 or 
PROCESSOR_ARCHITEW6432 == amd64 THEN 
// OS is 64bit 
ELSE 
// OS is 32bit 
END IF 

Another way to test for the same thing is: 

IF PROCESSOR_ARCHITECTURE == x86 AND 
PROCESSOR_ARCHITEW6432 NOT DEFINED THEN 
// OS is 32bit 
ELSE 
// OS is 64bit 

END IF

var中存儲的數(shù)據(jù),PROCESSOR_ARCHITECTURE存儲的內(nèi)容

@echo off
for /f "tokens=1* delims=[" %%a in ('ver') do set b=%%b
set b=%b:* =%
goto %b:~0,4%%PROCESSOR_ARCHITECTURE:~-1%
:5.1.6
echo xp_32λ
goto:eof

:6.1.6
echo win7_32λ
goto:eof
:6.1.4
echo win7_64λ

:6.0.6
echo vista_32
::exit

:6.0.4
echo vista_64
::exit
pause

批處理檢測32位64位系統(tǒng),結(jié)果到文本,判斷后將文件夾123拷貝相應program files或program files(x86)中?

通過批處理程序檢測系統(tǒng)是32位還是64位,將結(jié)果保存到c:\a.txt文件中,并且通過判斷的結(jié)果32位系統(tǒng)將123文件夾拷貝到C:\Program Files文件夾中,是64位系統(tǒng)則將123文件夾拷貝到C:\program files(x86)文件夾中。
比如我有很多綠色軟件,不是每一個軟件都需要判斷32位還是64位,都只是拷貝到C:\Program Files中,這樣做是不是只是臨時設(shè)置一次,不會影響到其它的批處理文件拷貝的路徑吧?

@echo off
if %PROCESSOR_ARCHITECTURE%==x86 (echo 32位系統(tǒng)>c:\a.txt&xcopy /d/y/c/e/h/k "%~dp0123" "C:\Program Files\123\") else (echo 64位系統(tǒng)>c:\a.txt&xcopy /d/y/c/e/h/k "%~dp0123" "C:\Program Files (x86)\123\")
pause

@echo off
if %PROCESSOR_ARCHITECTURE%==x86 (set "var=C:\Program Files") else set "var=C:\Program Files (x86)"
echo %var%
pause

是的,上面的代碼并沒有設(shè)置環(huán)境變量,只是設(shè)置了在批處理中的臨時局部變量而已,退出批處理就失效了.

以上是“bat命令批處理如何判斷32位還是64位系統(tǒng)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

bat
AI