国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > BAT > 正文

bat命令批處理判斷32位還是64位系統的多種方法

2020-07-26 19:48:39
字體:
來源:轉載
供稿:網友

第一種代碼:通過 %PROCESSOR_ARCHITECTURE%

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

if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64exit:x64explorer.exe http://www.baidu.com/exit:x86explorer.exe http://www.survivalescaperooms.com/

x86代表系統是32位,AMD64代表系統是64位

這段批處理代碼很簡單,如果是32位系統,就打開武林網;如果是64位系統,就打開百度

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

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

實例代碼

@echo offif exist %windir%/SysWOW64 ( start http://www.baidu.com)else ( start http://www.survivalescaperooms.com)

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

這段批處理代碼很簡單,如果是32位系統,就打開武林網;如果是64位系統,就打開百度

以下武林網小編為大家分享幾個實例

使用cmd命令批處理判斷windows系統是32bit還是64bit

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

輸出如下:

繼續補充

64位系統注冊表:

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

64位系統系統變量:

PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 62 Stepping 4, GenuineIntel

PROCESSOR_ARCHITECTURE = AMD64

@echo off IF "%PROCESSOR_ARCHITECTURE%" == "X86" ( echo 32位系統) ELSE ( echo 64位或更高系統)

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

下面繼續為大家分享一下

bat批處理判斷系統32位或64位以及操作系統類型

方法一:

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中存儲的數據,PROCESSOR_ARCHITECTURE存儲的內容

@echo offfor /f "tokens=1* delims=[" %%a in ('ver') do set b=%%bset b=%b:* =%goto %b:~0,4%%PROCESSOR_ARCHITECTURE:~-1%:5.1.6echo xp_32λgoto:eof:6.1.6echo win7_32λgoto:eof:6.1.4echo win7_64λ:6.0.6echo vista_32::exit:6.0.4echo vista_64::exitpause

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

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

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

@echo offif %PROCESSOR_ARCHITECTURE%==x86 (set "var=C:/Program Files") else set "var=C:/Program Files (x86)"echo %var%pause

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浮梁县| 民权县| 河东区| 当雄县| 平塘县| 潼关县| 石嘴山市| 宣化县| 广元市| 安化县| 临沧市| 巫溪县| 永嘉县| 松原市| 苏尼特右旗| 云龙县| 河南省| 南平市| 来安县| 乌鲁木齐县| 黄龙县| 巴林右旗| 新竹市| 固始县| 灌阳县| 华池县| 葫芦岛市| 岳阳县| 鹿邑县| 德兴市| 赤城县| 宁强县| 东兴市| 高淳县| 黄龙县| 南陵县| 西藏| 扎赉特旗| 阿鲁科尔沁旗| 布尔津县| 霞浦县|