[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] 请批处理高手能否把这2个注册表帮忙合并成1个可选择导入的批处理?

请批处理高手能否把这2个注册表帮忙合并成1个可选择导入的批处理?
1.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\AeroFox R&D\System\Markets\SH]
"MainIndex"="000001"
"Forbiden"=""
[HKEY_CURRENT_USER\Software\AeroFox R&D\System\Settings]
"StatusBarStks"="SH000001;SZ399001"

2.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\AeroFox R&D\System\Markets\SH]
"MainIndex"="1A0001"
"Forbiden"=""
[HKEY_CURRENT_USER\Software\AeroFox R&D\System\Settings]
"StatusBarStks"="SH1A0001;SZ399001"


合并成1个后能否改成下面画面:


        安装系统
            [1]安装接口文件
           [2]卸载接口文件
              [3]退出安装系统

        请选择要进行的操作 (1/2/Q) ,然后按回车:

[ 本帖最后由 foxtrader 于 2008-9-6 10:35 编辑 ]

回复 1楼 的帖子

合并后后的批处理就像下面这个样子:
  1. @Echo Off
  2. color 1E
  3. Set Prog=      Windows PE  安装系统
  4. Set L1=              ╭══════════════════╮
  5. Set L2=              ║                  ║
  6. Set L3=           ╭══┤ %Prog%       ├══╮
  7. Set L4=           ║  ║                  ║  ║
  8. Set L5=           ║  ╰══════════════════╯  ║
  9. Set L6=           ║                        ║
  10. Set L7=           ╟════════════════════════╢
  11. Set L8=           ╰────────────────────────╯
  12. Title %Prog%
  13. Set RP=RP
  14. For %%I In (Z Y X W V U T S R Q P O N M L K J I H G F E D C) Do If Exist %%I:\BOOT.INI Set RP=%%I:
  15. If %RP%==RP Goto NoSys
  16. If Exist %RP%\PELDR Goto :EXISTPE
  17. If Exist %RP%\AVLDR Goto :EXISTPE
  18. FIND /I "C:\AVLDR" %RP%\BOOT.INI >NUL
  19. If %Errorlevel%==0 Goto :EXISTPE
  20. Goto Start
  21. :EXISTPE
  22. CLS
  23. Title %Prog%
  24. Echo.
  25. Echo %L1%
  26. Echo %L2%
  27. Echo %L3%
  28. Echo %L4%
  29. Echo %L5%
  30. Echo %L6%
  31. Echo               │                                                │
  32. Echo          │  检测到您机器中已经安装了 WinPE,您要卸载吗?  │
  33. Echo               │                                                │
  34. Echo          │  [ 1 ] 卸载原有的 WinPE,并重新安装 WinPE    │
  35. Echo               │                                                │
  36. Echo          │  [ 2 ] 卸载原有的 WinPE,并删除原有 WinPE    │
  37. Echo               │                                                │
  38. Echo         │  [ Q ] 退出安装系统              │
  39. Echo               │                                                │
  40. Echo %L7%
  41. Echo %L8%
  42. Echo.
  43. Set Choice=
  44. Set /P Choice=             请选择要进行的操作 (1/2/Q) ,然后按回车:
  45. If %Choice%Choice==Choice Goto :EXISTPE
  46. If Not '%Choice%'=='' SET Choice=%Choice:~0,1%
  47. If /I '%Choice%'=='1' SET Choi=1&&GOTO :UnInstall
  48. If /I '%Choice%'=='2' GOTO :UnInstall
  49. If /I '%Choice%'=='Q' EXIT
  50. Goto :EXISTPE
  51. :UnInstall
  52. If Exist %RP%\AVLDR ATTRIB -S -H -R %RP%\AVLDR && Del /Q /F %RP%\AVLDR >NUL
  53. If Exist %RP%\PELDR ATTRIB -S -H -R %RP%\PELDR && Del /Q /F %RP%\PELDR >NUL
  54. If Exist %RP%\WINNT.SIF ATTRIB -S -H -R %RP%\WINNT.SIF && Del /Q /F %RP%\WINNT.SIF >NUL
  55. If Exist %RP%\WINPE.ISO ATTRIB -S -H -R %RP%\WINPE.ISO && Del /Q /F %RP%\WINPE.ISO >NUL
  56. If Exist %RP%\WINPE.IMG ATTRIB -S -H -R %RP%\WINPE.IMG && Del /Q /F %RP%\WINPE.IMG >NUL
  57. Attrib %RP%\BOOT.INI -S -H -R
  58. If Exist %RP%\BOOT.BAK (
  59.         Attrib %RP%\BOOT.BAK -S -H -R
  60.         TYPE %RP%\BOOT.BAK|FIND /I /V "C:\AVLDR">%RP%\BOOT.INI
  61. ) Else (
  62.         Copy %RP%\BOOT.INI %RP%\BOOT.BAK /Y>NUL
  63.         TYPE %RP%\BOOT.BAK|FIND /I /V "C:\AVLDR">%RP%\BOOT.INI
  64. )
  65. Copy %RP%\BOOT.INI %RP%\BOOT.BAK /Y>NUL
  66. If Exist %RP%\BOOT.BAK ATTRIB -S -H -R %RP%\BOOT.BAK&&Del %RP%\BOOT.BAK>NUL
  67. Attrib %RP%\BOOT.INI +S +H +R
  68. FOR %%I IN (Z: Y: W: V: U: T: S: R: Q: P: O: N: M: L: K: J: I: H: G: F: E: D: C:) DO IF EXIST %%I\GHOST~1 Set ddd=%%I
  69. FOR %%I IN (Z: Y: W: V: U: T: S: R: Q: P: O: N: M: L: K: J: I: H: G: F: E: D: C:) DO IF EXIST %%I\GHOST Set eee=%%I
  70. If Not "%eee%"=="" goto :ghostq
  71. If Not "%ddd%"=="" goto :ghostq
  72. :UninstallOK
  73. Title %Prog%
  74. If %Choi%Choi==1Choi (Echo.&&Echo              卸载完成,请按任意键准备安装 …… &&PAUSE>NUL&&Goto Start)
  75. Echo.&&Echo              卸载完成,请按任意键退出 ……
  76. PAUSE>NUL
  77. Exit
  78. :ghostq
  79. Set ddd=%ddd:~0,1%:
  80. set Ugh=
  81. Echo.
  82. set /P Ugh=              [删除GHOST备份目录和文件 按 Y]    [不删除 请直接回车]  
  83. if /I "%Ugh%" == "Y" goto :ghostd
  84. goto UninstallOK
  85. :ghostd
  86. If Exist %ddd%\GHOST~1 rd %ddd%\GHOST~1 /s/q
  87. If Exist %eee%\GHOST rd %eee%\GHOST /s/q
  88. goto UninstallOK
  89. :Start
  90. CLS
  91. Title %Prog%
  92. Echo.
  93. Echo %L1%
  94. Echo %L2%
  95. Echo %L3%
  96. Echo %L4%
  97. Echo %L5%
  98. Echo %L6%
  99. Echo               │                                                │
  100. Echo         │   [ 1 ] 安装 WinPE 到 C 盘并添加启动菜单      │
  101. Echo               │                                                │
  102. Echo         │   [ Q ] 退出安装系统             │
  103. Echo               │                                                │
  104. Echo %L7%
  105. Echo %L8%
  106. Echo.
  107. Set Choice=
  108. Set /P Choice=            请选择要进行的操作 (1/Q) ,然后按回车:
  109. If %Choice%Choice==Choice Goto Start
  110. If Not '%Choice%'=='' SET Choice=%Choice:~0,1%
  111. If /I '%Choice%'=='1' GOTO Install
  112. If /I '%Choice%'=='q' EXIT
  113. Goto Start
  114. :Install
  115. Title %Prog%
  116. If Exist %RP%\WINNT.SIF Del /Q /F %RP%\WINNT.SIF >NUL
  117. Echo.
  118. Echo 正在复制文件,请稍候 ……
  119. If Exist AVLDR Copy AVLDR %RP%\ /Y >NUL
  120. If Exist PELDR Copy PELDR %RP%\ /Y >NUL
  121. If Exist WINNT.SIF Copy WINNT.SIF %RP%\ /Y >NUL
  122. If Exist winpe.is_ Expand winpe.is_ %RP%\WINPE.ISO >NUL
  123. If Exist WINPE.IM_ Expand WINPE.IM_ %RP%\WINPE.IMG >NUL
  124. ATTRIB -S -H -R %RP%\BOOT.INI
  125. ECHO %RP%\AVLDR= "Microsoft Windows PE "  >>%RP%\boot.ini
  126. BOOTCFG /Timeout 3
  127. If Exist %RP%\BOOT.INI ATTRIB +S +H +R %RP%\BOOT.INI >NUL
  128. If Exist %RP%\AVLDR ATTRIB +S +H +R %RP%\AVLDR
  129. If Exist %RP%\PELDR ATTRIB +S +H +R %RP%\PELDR
  130. If Exist %RP%\WINNT.SIF ATTRIB +S +H +R %RP%\WINNT.SIF
  131. If Exist %RP%\WINPE.ISO ATTRIB +S +H +R %RP%\WINPE.ISO
  132. If Exist %RP%\WINPE.IMG ATTRIB +S +H +R %RP%\WINPE.IMG
  133. Goto :SUCCESS
  134. :NoSys
  135. Echo.
  136. Echo.
  137. Echo             您机器中没有安装操作系统
  138. Echo.
  139. Echo             请确认后再执行本安装程序
  140. Echo.
  141. Echo             请按任意键退出 ……
  142. PAUSE >NUL
  143. Exit
  144. :SUCCESS
  145. Title %Prog%
  146. Echo.
  147. Echo             安装完成!请按任意键退出 ……
  148. PAUSE >NUL
  149. Exit
复制代码

**************************************************
版务执行:Batcher
执行时间:2008-09-06
操作内容:加code标签
**************************************************


[ 本帖最后由 Batcher 于 2008-9-6 10:33 编辑 ]

TOP

回复 1楼 的帖子

明明是reg文件的内容,哪来的两个批处理?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

楼主已经说得很明确了...
只是这些都是重复劳动了。

而且。楼主也有了样本bat..

难处只是检测

reg query "HKEY_CURRENT_USER\Software\AeroFox R&D\System\Markets\SH" 下面的某项值是否为某值而已。

具体可以通过:  reg query /?
                           if /?
查询.
下面是你可能会用到的几个语句....
       导入注册表                                       regedit /s 写好的reg文件
       如果变量1=变量2则到                    if "var1"=="var2" goto :

如果还有什么不明白了.可以继续提问....

TOP

[ 本帖最后由 foxtrader 于 2008-9-6 10:35 编辑 ]

修改速度挺快,呵呵。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表