Board logo

标题: [系统相关] 原创批处理office 365下载安装向导 [打印本页]

作者: li495388759    时间: 2021-4-25 13:47     标题: 原创批处理office 365下载安装向导

翻了下远景论坛,最早分享的版本是2015年10月25日
直到刚刚更新,最新版本是2021年4月25日
目前常用功能已经添加完毕,可以说是正式版了(如果没bug的话)
变量标签名什么的用的可能不是那么严谨,但也不是随意的
部分变量标签解析:
标签:
c                  check   
cd                 菜单
bb                 版本
az                 安装
zj                  组件

变量:
ar        add/remove
dz          地址
dd        download down

大家凑合着看。在写批处理方面我只能算个小学生,不知道有没有更高级的方式,令代码更加简略。
欢迎大家提出意见,谢谢!

该批处理需要配合office部署工具使用,下载完成后请双击运行,解压出的setup.exe要与该批处理同一目录
  1. https://www.microsoft.com/en-us/download/details.aspx?id=49117
复制代码
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. title Office 365下载安装向导
  4. color E
  5. :c
  6. cls
  7. if exist setup.exe goto cd
  8. echo 找不到setup.exe,请检查!
  9. echo.
  10. pause
  11. goto c
  12. :cd
  13. set bit=32
  14. set dz=0
  15. set ar=Add
  16. call :zj
  17. del configuration.xml
  18. cls
  19. echo 请选择任务:
  20. echo.
  21. echo   1、安装     2、卸载     3、下载备用     4、退出
  22. echo.
  23. choice /n /c 1234 /m 请选择:
  24. if errorlevel 4 exit
  25. if errorlevel 3 goto xzb
  26. if errorlevel 2 set ar=Remove&goto az
  27. if errorlevel 1 goto cd2
  28. :cd2
  29. cls
  30. echo 请选择安装组件:
  31. echo.
  32. echo   1、Word、Excel、PowerPoint     2、完整安装     3、自定义组件     4、退出
  33. echo.
  34. choice /n /c 1234 /m 请选择:
  35. if errorlevel 4 exit
  36. if errorlevel 3 goto zj2
  37. if errorlevel 2 goto cd3
  38. if errorlevel 1 set all=0
  39. :cd3
  40. cls
  41. if exist D:\Office\Data echo 检测到D:\Office有离线安装包,可进行离线安装!&echo.
  42. echo 请选择安装方式:
  43. echo.
  44. echo   1、在线安装     2、离线安装     3、退出
  45. echo.
  46. choice /n /c 123 /m 请选择:
  47. if errorlevel 3 exit
  48. if errorlevel 2 goto lx
  49. if errorlevel 1 goto bb
  50. :bb
  51. cls
  52. if %PROCESSOR_ARCHITECTURE%==x86 goto az
  53. echo 当前使用的是64位系统,推荐安装64位的Office!
  54. echo.
  55. echo 请选择安装版本:
  56. echo.
  57. echo   1、64位(推荐)     2、32位     3、退出
  58. echo.
  59. choice /n /c 123 /m 请选择:
  60. if errorlevel 3 exit
  61. if errorlevel 2 goto az
  62. if errorlevel 1 set bit=64
  63. :az
  64. cls
  65. echo 正在执行,请稍候……
  66. call :do
  67. setup.exe /configure configuration.xml
  68. cls
  69. echo 操作完成!
  70. echo.
  71. pause
  72. goto cd
  73. :lx
  74. set dz=1
  75. if exist D:\Office\Data goto bb
  76. cls
  77. echo 请将离线安装包目录“Office”复制到D盘根目录!
  78. echo.
  79. pause
  80. goto lx
  81. :xzb
  82. set dz=1
  83. set dd=0
  84. cls
  85. echo 请选择下载版本:
  86. echo.
  87. echo   1、32位     2、64位     3、32位和64位     4、退出
  88. echo.
  89. choice /n /c 1234 /m 请选择:
  90. if errorlevel 4 exit
  91. if errorlevel 3 set dd=1&goto xz2
  92. if errorlevel 2 goto xz
  93. if errorlevel 1 goto xz2
  94. :xz
  95. set bit=64
  96. :xz2
  97. cls
  98. echo 正在下载%bit%位版本Office,请稍候……
  99. call :do
  100. setup.exe /download configuration.xml
  101. if %dd%==1 if %bit%==32 goto xz
  102. cls
  103. echo 下载完成,离线安装包已保存在D:\Office
  104. echo.
  105. pause
  106. goto cd
  107. :zj
  108. set doc=0
  109. set xls=0
  110. set ppt=0
  111. set mdb=0
  112. set groove=0
  113. set lync=0
  114. set onedrive=0
  115. set onenote=0
  116. set outlook=0
  117. set publisher=0
  118. set teams=0
  119. set all=1
  120. set i=0
  121. goto :eof
  122. :zj2
  123. cls
  124. echo 请选择安装组件:
  125. echo.
  126. echo   1、Word         2、Excel         3、PowerPoint         4、Access
  127. echo.
  128. echo   5、OneDrive for Business     6、Skype for Business     7、OneDrive
  129. echo.
  130. echo   8、OneNote        9、Outlook        Q、Publisher        W、Teams
  131. echo.
  132. echo   E、全选         R、重新选择         T、确认选择         Y、退出
  133. echo.
  134. echo Tips:二次选择可以逐个取消!
  135. echo.
  136. echo 已选择%i%个组件:
  137. if %doc%==1 echo 1、Word
  138. if %xls%==1 echo 2、Excel
  139. if %ppt%==1 echo 3、PowerPoint
  140. if %mdb%==1 echo 4、Access
  141. if %groove%==1 echo 5、OneDrive for Business
  142. if %lync%==1 echo 6、Skype for Business
  143. if %onedrive%==1 echo 7、OneDrive
  144. if %onenote%==1 echo 8、OneNote
  145. if %outlook%==1 echo 9、Outlook
  146. if %publisher%==1 echo Q、Publisher
  147. if %teams%==1 echo W、Teams
  148. echo.
  149. choice /n /c 123456789qwerty /m 请选择:
  150. if errorlevel 15 exit
  151. if errorlevel 14 goto zj4
  152. if errorlevel 13 call :zj&goto zj2
  153. if errorlevel 12 goto cd3
  154. if errorlevel 11 set j=teams&goto zj3
  155. if errorlevel 10 set j=publisher&goto zj3
  156. if errorlevel 9 set j=outlook&goto zj3
  157. if errorlevel 8 set j=onenote&goto zj3
  158. if errorlevel 7 set j=onedrive&goto zj3
  159. if errorlevel 6 set j=lync&goto zj3
  160. if errorlevel 5 set j=groove&goto zj3
  161. if errorlevel 4 set j=mdb&goto zj3
  162. if errorlevel 3 set j=ppt&goto zj3
  163. if errorlevel 2 set j=xls&goto zj3
  164. if errorlevel 1 set j=doc
  165. :zj3
  166. if !%j%!==0 (
  167. set %j%=1
  168. set /a i+=1) else (
  169. set %j%=0
  170. set /a i-=1)
  171. goto zj2
  172. :zj4
  173. if %i% gtr 0 set all=2&goto cd3
  174. goto zj2
  175. :do
  176. >configuration.xml (
  177. echo ^<Configuration^>^<%ar%
  178. if %dz%==1 echo SourcePath="D:"
  179. if %ar%==Add echo OfficeClientEdition="%bit%" Channel="Current"
  180. echo ^>^<Product ID="O365ProPlusRetail"^>^<Language ID="zh-cn"/^>
  181. if %all%==2 (
  182. if %doc%==0 echo ^<ExcludeApp ID="Word"/^>
  183. if %xls%==0 echo ^<ExcludeApp ID="Excel"/^>
  184. if %ppt%==0 echo ^<ExcludeApp ID="PowerPoint"/^>)
  185. if %all% neq 1 (
  186. if %mdb%==0 echo ^<ExcludeApp ID="Access"/^>
  187. if %groove%==0 echo ^<ExcludeApp ID="Groove"/^>
  188. if %lync%==0 echo ^<ExcludeApp ID="Lync"/^>
  189. if %onedrive%==0 echo ^<ExcludeApp ID="OneDrive"/^>
  190. if %onenote%==0 echo ^<ExcludeApp ID="OneNote"/^>
  191. if %outlook%==0 echo ^<ExcludeApp ID="Outlook"/^>
  192. if %publisher%==0 echo ^<ExcludeApp ID="Publisher"/^>
  193. if %teams%==0 echo ^<ExcludeApp ID="Teams"/^>)
  194. echo ^</Product^>^</%ar%^>^</Configuration^>)
复制代码

作者: 1152    时间: 2021-4-25 19:40

本帖最后由 1152 于 2021-4-25 19:45 编辑

C:\ _
C:\Windows\system32\cmd.exe

-  □  ×


不好用
你可以试试需要第三方的,比如:
变颜色
字体加粗
下划线
删除线
改变字体样子



















作者: Batcher    时间: 2021-4-25 22:57

回复 1# li495388759


196~208建议改成这个格式:
  1. if %all%==2 (
  2.     if %doc%==0 echo ^<ExcludeApp ID="Word"/^>
  3.     if %xls%==0 echo ^<ExcludeApp ID="Excel"/^>
  4.     if %ppt%==0 echo ^<ExcludeApp ID="PowerPoint"/^>
  5. ) else if %all% neq 1 (
  6.     if %mdb%==0 echo ^<ExcludeApp ID="Access"/^>
  7.     if %groove%==0 echo ^<ExcludeApp ID="Groove"/^>
  8.     if %lync%==0 echo ^<ExcludeApp ID="Lync"/^>
  9.     if %onedrive%==0 echo ^<ExcludeApp ID="OneDrive"/^>
  10.     if %onenote%==0 echo ^<ExcludeApp ID="OneNote"/^>
  11.     if %outlook%==0 echo ^<ExcludeApp ID="Outlook"/^>
  12.     if %publisher%==0 echo ^<ExcludeApp ID="Publisher"/^>
  13.     if %teams%==0 echo ^<ExcludeApp ID="Teams"/^>
  14. )
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2