var中存储的数据,PROCESSOR_ARCHITECTURE存储的内容
@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位系统,结果到文本,判断后将文件夹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 off if %PROCESSOR_ARCHITECTURE%==x86 (echo 32位系统>c:a.txt&xcopy /d/y/c/e/h/k "%~dp0123" "C:Program Files123") else (echo 64位系统>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
是的,上面的代码并没有设置环境变量,只是设置了在批处理中的临时局部变量而已,退出批处理就失效了.









