一个批量安装文件夹下(包括子目录下)全部的Android apk文件批处理脚本

在做android开发的时候,经常遇到需要安装很多apk文件,需要做很多重复性的工作,这对于一名程序员来说是不可以容忍的。面对这种情况,就编写了一个批处理脚本实现自动化安装apk文件。
脚本如下,在使用前修改下apk文件的放置路径,在DOS下执行即可。源码如下所示:
  1. @echo off
  2. title ADB Install Apks[By LongLuo]
  3. goto BEGIN
  4. :COMMENT
  5. echo ##############################################
  6. rem     adb_install_apks.bat
  7. rem         By Long.Luo @2013/03/20
  8. rem
  9. rem     Description:
  10. rem         Used to install all the apks in a PATH including
  11. rem     the subdirs.
  12. rem
  13. rem     Version: 2.2
  14. rem
  15. echo ##############################################
  16. pause
  17. :BEGIN
  18. echo.
  19. echo ################   开始…    ################
  20. goto MAIN
  21. :MAIN
  22. rem search all the apks in the PATH.
  23. rem 首先请设置需要安装的apk文件所在的路径,
  24. rem 程序会自动搜索该文件夹(包括子目录)下的所有的apk文件,
  25. set work_path=F:\Android\MyApks
  26. cd /d %work_path%
  27. for /R %%s in (*.apk) do (
  28. echo 正在安装 %%s
  29. adb install -r “%%s”
  30. )
  31. :End
  32. echo.
  33. echo ################  全部apk文件已安装!   ################
  34. pause

脚本发出来之后,有同事提出能不能直接放在某个文件夹下面,直接执行脚本,毕竟去更改文件夹路径相对来说有点麻烦,于是完成了v2.3版本:

  1. @echo off
  2. title ADB Install Apks[By LongLuo]
  3. goto BEGIN
  4. :COMMENT
  5. echo ##############################################
  6. rem     adb_install_apks.bat
  7. rem         By Long.Luo @2013/03/20
  8. rem
  9. rem     Description:
  10. rem         Used to install all the apks in a PATH including
  11. rem     the subdirs.
  12. rem
  13. rem     Version: 2.3
  14. rem
  15. echo ##############################################
  16. pause
  17. :BEGIN
  18. echo.
  19. echo ################   开始…    ################
  20. goto MAIN
  21. :MAIN
  22. rem search all the apks in the PATH.
  23. rem 首先请设置需要安装的apk文件所在的路径,
  24. rem 程序会自动搜索该文件夹(包括子目录)下的所有的apk文件,
  25. for /R %%s in (*.apk) do (
  26. echo 正在安装 %%s
  27. adb install -r “%%s”
  28. )
  29. :End
  30. echo.
  31. echo ################  全部apk文件已安装!   ################
  32. pause
v2.3版本体验仍然不是很好,可不可以在执行的过程中自行输入文件夹路径呢?
于是完成了v2.4版本:
  1. @echo off
  2. title ADB Install Apks[By LongLuo]
  3. goto BEGIN
  4. :COMMENT
  5. echo ##############################################
  6. rem     adb_install_apks.bat
  7. rem         By Long.Luo @2013/03/20
  8. rem
  9. rem     Description:
  10. rem         Used to install all the apks in a PATH including
  11. rem     the subdirs.
  12. rem
  13. rem     Version: 2.4
  14. rem
  15. echo ##############################################
  16. pause
  17. :BEGIN
  18. echo.
  19. echo ################   开始…    ################
  20. goto MAIN
  21. :MAIN
  22. rem search all the apks in the PATH.
  23. rem 首先请设置需要安装的apk文件所在的路径,
  24. rem 程序会自动搜索该文件夹(包括子目录)下的所有的apk文件,
  25. set /p apk_path=请输入apk文件所在文件夹:
  26. cd /d %apk_path%
  27. for /R %%s in (*.apk) do (
  28. echo 正在安装 %%s
  29. adb install -r “%%s”
  30. )
  31. :End
  32. echo.
  33. echo ################  全部apk文件已安装!   ################
  34. pause
但是对于一个文件夹下面的apk文件,不是全部的apk文件都需要安装,可不可以将需要安装的apk文件拖动到脚本上来实现安装呢?
当然可以,于是完成了v2.5版本:
  1. @echo off
  2. title ADB Install Apks[By LongLuo]
  3. goto BEGIN
  4. :COMMENT
  5. echo ##############################################
  6. rem     adb_install_apks.bat
  7. rem         By Long.Luo @2013/03/20
  8. rem
  9. rem     Description:
  10. rem         Used to install all the apks in a PATH including
  11. rem     the subdirs.
  12. rem
  13. rem     Version: 2.5
  14. rem
  15. echo ##############################################
  16. pause
  17. :BEGIN
  18. echo.
  19. echo ################   开始…    ################
  20. :HELP
  21. rem 无文件拖至bat时
  22. if “%~1″==”” echo 请将apk直接拖放至bat文件!&goto END
  23. echo 注意事项:
  24. echo 支持多apk文件安装,即选中所有你要安装的apk拖动至此bat上!
  25. :MAIN
  26. setlocal enabledelayedexpansion
  27. if not “%~1″==”” (
  28.   echo.
  29.   rem 文件后缀名判断
  30.   if /i “%~x1″==”.apk” (
  31.     echo 安装”%~1″…
  32.     adb install -r “%~1”
  33.   ) else (
  34.     echo 文件类型错误:不支持%~x1!
  35.   )
  36.   shift /1
  37.   goto MAIN
  38. )
  39. :END
  40. echo.
  41. echo ################  全部apk文件已安装!   ################
  42. pause
以上。