Board logo

标题: [系统相关] 分享个FLASH安装的BAT脚本,特简单就是其思路搞了我几天 [打印本页]

作者: hztccy    时间: 2021-10-14 16:33     标题: 分享个FLASH安装的BAT脚本,特简单就是其思路搞了我几天

本代码适合Windows7和Windows10系统通用,不分版本
  1. @echo off
  2. title Adobe Flash Player更新安装 - BY hzbccy
  3. mode 80,10
  4. rem 我代码适合以存在FLASH的电脑安装使用
  5. rd /s /q "C:\vrvtemp">nul 2>nul
  6. md C:\vrvtemp>nul 2>nul
  7. rem 思路删除一个目录后在创建一个目录,名字相同保证该目录净空环境
  8. robocopy "\\192.168.1.100\Adobe Flash Player" "C:\vrvtemp" /e
  9. rem 思路从我自己的NAS网盘中下载文件到本机电脑-使用“robocopy”命令
  10. cls
  11. set activex32="%windir%\System32\Macromed\Flash\FlashUtil32_34_0_0_192_ActiveX.exe"
  12. set activex64="%windir%\System32\Macromed\Flash\FlashUtil64_34_0_0_192_ActiveX.exe"
  13. set ppapi32="%windir%\System32\Macromed\Flash\FlashUtil32_34_0_0_192_pepper.exe"
  14. set ppapi64="%windir%\System32\Macromed\Flash\FlashUtil64_34_0_0_192_pepper.exe"
  15. set npapi32="%windir%\System32\Macromed\Flash\FlashUtil32_34_0_0_192_Plugin.exe"
  16. set npapi64="%windir%\System32\Macromed\Flash\FlashUtil64_34_0_0_192_Plugin.exe"
  17. rem 思路 提前将FALSH几个文件夹内更新完成必然的文件作为判断,其中的“34_0_0_192”为判断重点
  18. :qidian
  19. if exist "%windir%\SysWOW64" (set activex=%activex64%) else (set activex=%activex32%)
  20. rem 思路使用“IF”命令判断系统是否为64位,该命令快捷方便,比判断环境要短些,当然有个别电脑肯定会在32位系统里面放个64位系统才有的文件夹,纯属想不通
  21. cls
  22. echo.
  23. echo.
  24. echo.
  25. echo.
  26. echo                Adobe Flash Player ActiveX 34.0.0.192检测安装更新
  27. IF EXIST "%activex%" (goto panduan2)  ELSE (goto anzhuang1)
  28. rem 这里跟上面一样使用“IF”命令判断,如果纯在变量里的34_0_0_192版本号,则跳过该安装,往下走去一个子程序点进行判断,后续子程序基本一样
  29. exit
  30. :anzhuang1
  31. cls
  32. echo.
  33. echo.
  34. echo.
  35. echo.
  36. echo                Adobe Flash Player ActiveX 34.0.0.192检测安装更新
  37. start /wait "" "C:\vrvtemp\Adobe Flash Player ActiveX 34.0.0.192" /silent  /norestart
  38. rem 使用start /wait 并加入改程序的自动参数/silent  /norestart 确保其在安装完后才往下一个子程序走
  39. goto panduan2
  40. :panduan2
  41. if exist "%windir%\SysWOW64" (set ppapi=%ppapi64%) else (set activex=%ppapi32%)
  42. cls
  43. echo.
  44. echo.
  45. echo.
  46. echo.
  47. echo                Adobe Flash Player PPAPI 34.0.0.192检测安装更新
  48. IF EXIST "%ppapi%" (goto panduan3) ELSE (goto anzhuang2)
  49. exit
  50. :anzhuang2
  51. cls
  52. echo.
  53. echo.
  54. echo.
  55. echo.
  56. echo                Adobe Flash Player PPAPI 34.0.0.192检测安装更新
  57. start /wait "" "C:\vrvtemp\Adobe Flash Player PPAPI 34.0.0.192" /silent  /norestart
  58. goto panduan3
  59. :panduan3
  60. if exist "%windir%\SysWOW64" (set npapi=%npapi64%) else (set activex=%npapi32%)
  61. cls
  62. echo.
  63. echo.
  64. echo.
  65. echo.
  66. echo                Adobe Flash Player NPAPI 34.0.0.192检测安装更新
  67. IF EXIST "%npapi%" (exit) ELSE (goto anzhuang3)
  68. exit
  69. :anzhuang3
  70. cls
  71. echo.
  72. echo.
  73. echo.
  74. echo.
  75. echo                Adobe Flash Player NPAPI 34.0.0.192检测安装更新
  76. start /wait "" "C:\vrvtemp\Adobe Flash Player NPAPI 34.0.0.192" /silent  /norestart
  77. exit
复制代码

作者: Batcher    时间: 2021-10-14 17:12

回复 1# hztccy


也可以试试另外一种思路是否更加清晰:
既然24、50、71都是判断 if exist "%windir%\SysWOW64",那么可以考虑把64位和32的合并成一次判单,放在一起处理。
作者: hztccy    时间: 2021-10-14 20:17

回复  hztccy


也可以试试另外一种思路是否更加清晰:
既然24、50、71都是判断 if exist "%windir%\S ...
Batcher 发表于 2021-10-14 17:12



    意思是一次判断后,直接安装3个FLASH吗?

但是这样如果用户拥有三个FLASH中的其中一个,就会出现重复安装,而且还需要重启电脑,这样就比较麻烦了

如果是另一个合并成单一次判断,目前除了这个思路。也想过用FOR一次性判断三个FLASH。但是这样不太好写,思路也是试过好几次的。但是总感觉被卡着出不来




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