找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26180|回复: 6

[系统相关] 【已解决】请问批处理如何在PE下判断C盘系统并运行一段同文件下的代码

[复制链接]
发表于 2017-10-24 09:30:00 | 显示全部楼层 |阅读模式
本帖最后由 gd123 于 2017-11-6 12:24 编辑

批处理如何在PE里面判断C盘是XP、win7、win8.1、win10系统(不是判断PE用的是什么系统)
判断到对应的系统后分别运行同文件里面的一段代码
谢谢!~
发表于 2017-10-24 09:32:00 | 显示全部楼层
本帖最后由 见与不见 于 2017-10-24 09:39 编辑

参考,系统引导修复的工具,批处理做的,

自动修复系统引导_NTBootAutofix 2.57  戳这里
 楼主| 发表于 2017-10-24 09:33:58 | 显示全部楼层
回复 2# 见与不见

能不能具体写一下?
发表于 2017-10-24 09:40:05 | 显示全部楼层
回复 3# gd123


    QQ联系我吧  我研究下
 楼主| 发表于 2017-10-24 09:47:30 | 显示全部楼层
回复 4# 见与不见

麻烦通过一下?
发表于 2017-10-25 10:49:13 | 显示全部楼层
通过cmd.exe的按本来判断
  1. @echo off
  2. for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  3. if exist %%i:\windows\system32\cmd.exe wmic datafile where "name='%%i:\\windows\\system32\\cmd.exe'" get version>>a.tmp&&if exist %%i:\windows\SysWOW64\ (
  4. echo %%i盘是64位>>pan.tmp
  5.   ) else (
  6. echo %%i盘是32位>>pan.tmp
  7. )
  8. )
  9. setlocal enabledelayedexpansion
  10. (for /f "delims=" %%a in ('type a.tmp') do (
  11. set "line=%%a"
  12. set "line=!line: =!"
  13. echo !line!
  14. ))>b.tmp
  15. findstr /v "Version" "b.tmp">>c.tmp
  16. setlocal enabledelayedexpansion
  17. for /f "delims=" %%a in (c.tmp) do (
  18. set num=%%a
  19. set var=!num:~0,3!
  20. echo.!var! >>ver.tmp
  21. )
  22. for /f %%m in (ver.tmp) do (
  23. if %%m==5.1 echo xp>>sys.tmp
  24. if %%m==6.1 echo win7sp1>>sys.tmp
  25. if %%m==5.2 echo win2003>>sys.tmp
  26. if %%m==6.0 echo win2008>>sys.tmp
  27. if %%m==6.2 echo win8>>sys.tmp
  28. if %%m==6.3 echo win8.1>>sys.tmp
  29. if %%m==10. echo win10>>sys.tmp
  30. )
  31. set n=0
  32. for /f "tokens=*" %%a in (pan.tmp) do (set /a n+=1
  33. set a!n!=%%a
  34. set x=!n!)
  35. set n=0
  36. for /f "tokens=*" %%b in (sys.tmp) do (set /a n+=1
  37. set b!n!=%%b)
  38. for /l %%c in (1,1,%x%) do (if defined b%%c echo !a%%c!!b%%c!>>系统.txt)
  39. del *.tmp
复制代码
通过挂载注册表来读取
  1. @echo off
  2. set "v1=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
  3. set "v2=HKLM\My_Hive\Microsoft\Windows NT\CurrentVersion"
  4. set "Hive=windows\system32\config\software"
  5. for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  6.     if /i "%%i:"=="%SystemDrive%" (
  7.         for /f "tokens=1,2*" %%a in ('reg query "%v1%"') do (
  8.             if /i "%%a"=="ProductName" (
  9.                 if exist "%%i:\windows\SysWOW64" (
  10.                 echo,分区:%%i
  11.                 echo,系统:%%c x64&echo,
  12.                 ) else (
  13.                 echo,分区:%%i
  14.                 echo,系统:%%c x86&echo,
  15.                 )
  16.             )
  17.         )
  18.     ) else if exist "%%i:\%Hive%" (
  19.         reg load "HKLM\My_Hive" "%%i:\%Hive%" >nul
  20.         for /f "tokens=1,2*" %%a in ('reg query "%v2%"') do (
  21.             if /i "%%a"=="ProductName" (
  22.                 if exist "%%i:\windows\SysWOW64" (
  23.                 echo,分区:%%i
  24.                 echo,系统:%%c x64&echo,
  25.                 ) else (
  26.                 echo,分区:%%i
  27.                 echo,系统:%%c x86&echo,
  28.                 )
  29.             )
  30.         )
  31.         reg unload "HKLM\My_Hive" >nul
  32.     )
  33. )
  34. pause
复制代码

评分

参与人数 2技术 +2 收起 理由
老刘1号 + 1 6
冰剑 + 1 真牛逼

查看全部评分

发表于 2017-10-29 20:51:00 | 显示全部楼层
  1. @echo off
  2. for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  3. if exist %%i:\windows\system32\cmd.exe wmic datafile where "name='%%i:\\windows\\system32\\cmd.exe'" get version>>a.tmp&&if exist %%i:\windows\SysWOW64\ (
  4. echo %%i盘是64位
  5.   ) else (
  6. echo %%i盘是32位
  7. )
  8. )>>系统.txt

  9. for /f "skip=1 delims= " %%a in ('type,a.tmp') do set num=%%a
  10. set var=%num:~0,3%
  11. (if %var%==5.1 echo xp
  12. if %var%==6.1 echo win7sp1
  13. if %var%==5.2 echo win2003
  14. if %var%==6.0 echo win2008
  15. if %var%==6.2 echo win8
  16. if %var%==6.3 echo win8.1
  17. if %var%==10. echo win10)>>系统.txt
  18. del *.tmp
  19. start "" 系统.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
gd123 + 1 非常感觉

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 01:41 , Processed in 0.025661 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表