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


噢~ 那么你来这个论坛是因为对批处理有兴趣么?
为何批处理不适合做界面
为何随风讨厌call命令
http://bbs.bathome.net/thread-4482-1-10.html

TOP

回复 16# raymai97


    嗯,来学批处理的

TOP

还是纯批好
  1. @echo off
  2. cd /d %~dp0
  3. title ExtractMSI v2 修订版
  4. set time=0
  5. :main
  6. mode con cols=31 lines=10
  7. if not "%~1"=="" set file=%~1&& goto special
  8. cls&set file=
  9. echo "        _______             "
  10. echo "       / MSI   |            "
  11. echo "       |::::   |   DRAG     "
  12. echo "       | ::::  |   HERE     "
  13. echo "       |  :::: |            "
  14. echo "       |_______|            "
  15. echo.
  16. echo  请拖入欲解压的MSI文件到此窗口
  17. echo  然后按“回车”(Enter)。
  18. set /p file=
  19. :checkfile
  20. if not exist "%file%" set error=file&&goto error
  21. call :get %file%
  22. if "%x%"==".msi" (goto extract) else (set error=msi)
  23. goto error
  24. :extract
  25. set select=
  26. cls
  27. mode con cols=60 lines=15
  28. echo.
  29. echo  本软件猜你要解压
  30. echo  %nx%&echo.
  31. echo  到:
  32. echo  %guess%&echo.
  33. echo  直接回车以采用以上路径&echo.
  34. set /p select=→
  35. if "%select%"=="" set target=%guess%&&goto confirm
  36. :guessagain
  37. cls&set select2=
  38. echo.&echo  我猜我猜我猜猜猜…… 你的意思是解压到……
  39. echo.&echo  1-%dp%%select%&echo.&echo  2-%d%\%select%
  40. echo.&echo  .-返回   ..-重新选择文件&echo.
  41. set /p select2=选择→
  42. if "%select2%"=="1" set target=%dp%%select%&&goto confirm
  43. if "%select2%"=="2" set target=%d%\%select%&&goto confirm
  44. if "%select2%"=="." goto extract
  45. if "%select2%"==".." goto main
  46. goto guessagain
  47. :error
  48. cls
  49. echo 别玩了,这是什么玩意儿~
  50. echo.
  51. if "%error%"=="msi" echo 只可以拖入msi文件!
  52. if "%error%"=="file" echo 文件根本不存在!
  53. pause>nul
  54. goto main
  55. :get
  56. set d=%~d1
  57. set x=%~x1
  58. set n=%~n1
  59. set nx=%~nx1
  60. set dp=%~dp1
  61. set guess=%~dpn1
  62. exit /b
  63. :confirm
  64. cls
  65. echo.&echo  最后确认&echo.&echo  解压%nx%
  66. echo.&echo  到%target%
  67. echo.&echo  ,- 确定   .- 返回&echo.
  68. set /p select=
  69. if "%select%"=="," goto process
  70. if "%select%"=="." goto extract
  71. goto confirm
  72. :process
  73. mode con cols=31 lines=10
  74. set file=%file:"=%
  75. cls
  76. echo.&echo  已调用msiexec.exe来解压,
  77. echo  如果看不见请等一会儿。&echo.
  78. msiexec.exe /a "%file%" /qb targetdir="%target%"
  79. if exist "%target%" (echo  应该可以了,按任意键去看看吧~) else (echo  你似乎取消了…… 任意键退出)
  80. pause>nul
  81. if exist "%target%" explorer "%target%"
  82. exit
  83. :special
  84. call :get "%file%"
  85. if "%x%"==".msi" (goto extract) else (set error=msi)
  86. goto error
复制代码

TOP

就这一句有用,其他都是废话
  1. msiexec.exe /a "%1" /qb targetdir="%2"
复制代码

TOP

谢谢啊,挺不错的很完美

TOP

返回列表