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

[文件操作] [纯批处理压缩软件][持续更新][已更新至1.0.0015]Hope Cab

本帖最后由 HOPE2021 于 2021-8-23 21:34 编辑

文件太大,使用了压缩代码,以下是自解压程序:
代码[有冗余,请指正]:
  1. @echo off
  2. (
  3. echo.-----BEGIN CERTIFICATE-----
  4. echo.UEsDBBQAAAAIAOuIFFMyElVG2QkAAMcwAAAMAAAASG9wZSBDYWIuYmF07Rr/TxvX
  5. echo./dcRif/h1ZIrqPyFc5qwuHOUwmCVBvuB0lVTUtBhn8Mp9p17d05gmvK/lK4tC5qK
  6. echo.jc0320DA4YshYGzXdCTapnRKpkWkC1kTGpJq793duy/2nWeDk6xVHhJ+fu/z/dv7
  7. echo.PN+do7yDLGD9fvAm6GZ9FGhnGTf8F+A9hOvncPHcr1iBBe426iLNNJ5oPOF22+Xx
  8. echo.W4rjaZaxv9yBZGh4B7zHhqCs5AA4L4sBCEeLo6WlhfhIL2U7Gxrm6IuDQiWidR+y
  9. echo.lE3tzUARALhaXC12+I+QpWe5kMMYjFDB0OTN9qCPIE65MIqI9CHJMTRz0Q2EQZoH
  10. echo.XjYYCgsUB0Ice5EjgwCuwalAeQXKBwaGIQCmHyCvAJLxAZqB8AwpQOORASBwFJxS
  11. echo.vAN8wJBhYZDl6N9DTI6CVHxhL4ICLAdE1j6aFzh6ICwt+iUJMOMmCEUywyBEcgLc
  12. echo.oTiK9TeDK3QgAInx4YAAGQOeugw3gJe+TAdEYbwcHaSRHDzJiMx4m7gu4g1QIGQX
  13. echo.OXMsT3nDSCUYlJA4CJJDdDAcBNSQQDECCLE8Tw8EKBBmfNAYCAKqK1l57svpu+7I
  14. echo.XHJ5/ZvE04mN7H7mdvFg58nq6NTo7M2Zp8nMxneFZOTTxB8dq/c2Y3N/zuyujk4e
  15. echo.rC3tFKZjxeXEfmws+llkDiE2JfaX/1HMrm7Obkbnp4rNttRY5nY8tb218CSeXnqY
  16. echo.WUyOZzcyi8Xl6JJNZB0dSY0VdqdGF9eye/NrU5ObX6R3EcbOg9ijiY3J1Xh6+d/r
  17. echo.f3PoI7ebhIbqDEvmqBRsdR1idOF0b2jwDnpD4O2TreKcDUDf+lvEeYAXP0joHndb
  18. echo.FyBOoa8CLUDb49xEK6i8OEDVI2oybhmO2hlEo8art26VLfbb7UfgYMygnEM/HBE4
  19. echo.jsSi32ggFuo3RySi2u4ILEyWDeyExvFZGLlX2eyvhy8Ueg50bGjXjuGLSETjAZFa
  20. echo.N3mJAr9jwxzoov0UQDyO54tIRPNFUaKD5GmKc5SsSl9qZmFiKDGPS9bq4wtzdx/D
  21. echo.F/9neVEfQ6nLehb9xzBUNVXweHYyK+RGbkcDMQjBZgYQrlYHAZwMcIGzgAkH4Ibc
  22. echo.gKLTUDqbpJl8NJ05eVqBxIdSb9kp1C4eU70sG+hvI7l+TEFa7qQDFP8u4+tkA7Bn
  23. echo.UHRFE54SYM8VDMJOxNPBcay4+z5cdIaU9Z8hdfvO9p0FeFPe6Sc9VnnqvtpiI6w6
  24. echo.0rQfOGlgsSrAVovHY3nPAprQLjZ3xTa3QUNO1qWLZqiSDZlSX1N7XxXNaCX4kq60
  25. echo.r7QtrUGeV9O8Kn2rXZXEqIXtM+ph++rQxBq1r1pZqupky4xZv8a2r6Sz7Wu2gQq9
  26. echo.rdLXqrJU7nBrihEAcgtTo0jY6QM3sH7AI4cHKWuNRJQUSm1MbNSISzjA9I3MY0Ny
  27. echo.mZVcYv5B4vv8bjfthY5l/QIMnB4YJh/SjI+9wgNor2fXH2Sz2zPr363uJX+wFb+Y
  28. echo.KKLuYzOd/CGeRsvO1B30kSskx2OfL+zVlkQAuBxARE9MP0Y0jYEQhMQRiTN7O7kf
  29. echo./8yGptMPM6nVe1uLbpOKgWpapx2Vx99Auzuh4OjTGBjRi25mnqfuZG66tRvaeadd
  30. echo.c0IgjJXxnVlb7Glkb7KAJEwdZLPRv+w80VHG/EWk7D9z15A+8TSCXzqcWLaNP1sY
  31. echo.vfn1VzNLhzo0WVqJFzbB0qFtfi1XiCYQEvJEPD37aGfWYSbwwvPVezbEMzWG/O6g
  32. echo.GRqREcldE1cgDVs+mytsLV5PFYv5b6dGK2iPaTgxaoVtMyo7I7k7mcWtB6ZsYMxO
  33. echo.Faf/g82Wvy9bIp52RhNI+3x2/qvph4n9zMrqWGpl6nD2RmlMYddEEysHU8XYo+wn
  34. echo.2VitoXlSDc30/GLSTFoEg/al4Nz6e2orv6sN6cmD7ULuWno7l8j+ySxo9RTFsO2x
  35. echo.S6e5NnChsLxwzAjuqRDBSA3jCFZEgUhIqWR26bAusYo1EhER0vVsZA8i5pfyu7GR
  36. echo.2F0kUvbG1ogtM5NfuvmvXAFSKEx+uTY38bzamEckthbj6fXv81kc+/EUDuCFb23o
  37. echo.DEA8YndjI4VdcaOXCobgTpV50SMGvpITboWECZAxgFEKKHbXJgGqtWhXXsnfx0aM
  38. echo.pz+dfckZIlX/l5wbHfbjV/IO0zyQVIqn4pGVcSl2XmRZhsxqLcMddqPqK63+uANK
  39. echo.9O7K/fFY4uuJePJZciN74HBUTSREhnlKvUtJ1y58U2pG/4yvLJ0W/IwAHTnmcD0q
  40. echo.nHLRMobsUCA7hgSO9AqNJ3TiwK8KL819a0Bz3XKply28OGDF8Pho9Oi31NsgTg6R
  41. echo.uORVFdb9ltOjkLKotPDMbfFYLcq+ii4fQtpdmaRX3b1qf7viNdFrtQCG+hhYHF5y
  42. echo.QGf4fpcKTg3BCIRIWCSIJG0wrKBsyiytJTdOMYjUdgx1pW7TwFE5aNYwYXEpSF6i
  43. echo.oKjA6UN3HXgBu8TDq5mHaDlz5hRBnHa1trae1kuqkaxCmKfGgIokFZJrQMEEE2sz
  44. echo.n79Rc5YYpoBblwMKOS21zb/G1pHBEvu57djdwm5sXaps8fgbpjiGEugFKPvlQ/Wz
  45. echo.PjJlrXFNex0EP+kgUKrnkWqfcoQZVz9lGyPgw8xTTsu8NOIwUfttaUXTeEjVUyON
  46. echo.Oq9LBa2ucIo8DUunuIND6ULl3Cnfw6orieX1KUQ1Ye2jOeAcAGfPAg1GWZxWn4gq
  47. echo.fc2qLhWlJYWZuFZVejr9OrVUYmXiilmpSlKvvNT7R2NgHxUoF83rk9E4ioG7Xp/1
  48. echo.glaoC7+EWhIXCCkaSqtNN3uZMkfSOF6EkXB+HGWj9tPjdR68zoOfUh6oVwrDMwwf
  49. echo.n3U4XGRORqeLajm57RoKoecEamjY/e63ZMuX5wEKLAVSum8fLZSO46sX4p0GvdFq
  50. echo.qFOvLWpoUfVtIvwiEV/p5Z+6Dynn2pW2r4cKgneAYTNY6mj0zNSueWiqOOgPnTT0
  51. echo.rMVpkaNAPG/Qw9kAdRmWQEKOgHNlXPCPGEbAktko1o8BS9FfmB7ul6+HpjHXKqLt
  52. echo.1/WtP565r2oVUY6a2jTRsjmKKip+o9LXGGhTfpUxuW2U+kdz0tUWanqONan2iuTD
  53. echo.G8pvXo3yrwxG9iz5Yczgl68ySfHdvEY5NZxqsqKhOm1dJYq0dYHzbQGSucQD1Dfy
  54. echo.4psUfhZ2oAFgtdLoyX4TYSNsVqIZ+FiAK7GWHaLbOxwqNRFaApbzvdSQ8JGoKi+9
  55. echo.KvK+wHmsV4lfyKeCwotUefXSQYqzigwRUg8lhDnm19Swp8WIdcmLLDoZSl9yUU4S
  56. echo.r0bGTx6/2j9LuUDgyEN5JH/kYSjQq/2z6HxnHISNYi1nyuu4dBvSqvO/DuoXPSzm
  57. echo.WjSUv4FVWnf0r2eJt8UrOjr/BVBLAQIUABQAAAAIAOuIFFMyElVG2QkAAMcwAAAM
  58. echo.AAAAAAAAAAAAIAAAAAAAAABIb3BlIENhYi5iYXRQSwUGAAAAAAEAAQA6AAAAAwoA
  59. echo.AAAA
  60. echo.-----END CERTIFICATE-----
  61. ) > "Hope Cab.Zip"
  62. if not exist "Hope Cab.Zip" %0
  63. Certutil -decode -f "Hope Cab.Zip" "Hope Cab.Zip" > nul
  64. if not exist "Hope Cab.Zip" %0
  65. exit
复制代码
_____更新日志________________________________________________________________
版本1.0.0001 在4楼
   - 功能:压缩一个文件或一个目录为.Cab文件,解压.Cab文件
版本1.0.0002 在6楼
   - 新增功能:目录的前进与后退
版本1.0.0003 在7楼
   - 新增功能:切换磁盘功能
版本1.0.0004 在9楼
   - 新增功能:增加删除功能[链接已失效]
版本1.0.0009 在27楼
   - 新增功能:增加自定义解压功能以及打开文件功能,概述将此软件描述为:命令行压缩文件资源管理器
版本1.0.0012 在43楼
   - 新增功能:增加搜索功能
版本1.0.0013 在49楼
   - 新增功能:增加更新功能
版本1.0.0014 在52楼
   - 改进功能:更新

_____通知与指南______________________________________________________________
1. 键入H以查看帮助.
2.如有建议,请尽快恢复.
Why join the navy, if you can be a pirate? - Steve Jobs

回复 54# cmd1152
1.0.0014及以后的更新模块改动,发这个是因为要做更新的底版,就像装系统需要bios一样...
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

现在1.0.0015了...
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 52# HOPE2021
下半部分:
  1. :File
  2. Set Commandb=%Command:~2%
  3. echo.%Commandb%
  4. Set FileName=%Commandb%
  5. Call :FileName
  6. Set CabName=%Commandb:*/=%
  7. Set "FileName=%FileName:"=%"
  8. Set "CabName=%CabName:"=%"
  9. Set Commandc=%CabName:~-4%
  10. echo.
  11. if /i "%Commandc%" neq ".cab" set CabName=%CabNAme%.Cab
  12. if /i exist "%FileName%" if /i not exist "%CabName%" (
  13. echo.  ^>^> 对文件进行处理:
  14. Call :Line
  15. echo.%FileName%
  16. echo.%CabName%
  17. makecab /d maxdisksize=1099511627776 "%FileName%" "%CabName%"
  18. echo.
  19. echo.  ^>^> 将 %FileName% 压缩为 %CabName% 成功!
  20. echo.
  21. echo.  ^>^> 请按回车键继续...
  22. pause > nul
  23. @Goto :Main
  24. )
  25. echo.
  26. echo.  ^>^> 无此文件或已存在此压缩文档!
  27. echo.
  28. echo.  ^>^> 请按回车键继续...
  29. pause > nul
  30. @Goto :Main
  31. :Folder
  32. Set Commandb=%Command:~2%
  33. echo.%Commandb%
  34. Set FolderName=%Commandb%
  35. Call :FolderName
  36. Set ListName=%Commandb%
  37. Set CabName=%Commandb:*/=%
  38. Call :ListName
  39. Call :CabName_2
  40. Set "FolderName=%FolderName:"=%"
  41. Set "CabName=%CabName:"=%"
  42. Set Commandc=%CabName:~-4%
  43. if /i "%Commandc%" neq ".cab" set CabName=%CabNAme%.Cab
  44. if /i exist "%FolderCabName%\" if /i not exist "%CabName%" if /i not exist "%ListName%" (
  45. cd "%FolderName%"
  46. dir /b >> %ListName%"
  47. echo.  ^>^> 对文件进行处理:
  48. Call :Line
  49. echo.%FolderName%
  50. echo.%CabName%
  51. echo.%ListName%
  52. makecab /d maxdisksize=1099511627776 /f "%ListName%"
  53. echo.
  54. echo.  ^>^> 将 %FolderName% 压缩为 %CabName% 成功!
  55. echo.
  56. echo.  ^>^> 请按回车键继续...
  57. if /i exist "%ListName%" del "%ListName%"
  58. cd..
  59. ren "%cd%\%FolderName%\Disk1\1.cab" "%CabName%"
  60. Move "%cd%\%FolderName%\Disk1\%CabName%" "%cd%"
  61. pause > nul
  62. @Goto :Main
  63. )
  64. echo.
  65. echo.  ^>^> 无此文件或已存在此压缩文档!
  66. echo.
  67. echo.  ^>^> 请按回车键继续...
  68. pause > nul
  69. @Goto :Main
  70. :Extract
  71. Set CabName=%Command:~2%
  72. Set Commandc=%CabName:~-4%
  73. if /i "%Commandc%" neq ".cab" set CabName=%CabNAme%.Cab
  74. if /i exist "%CabName%" (
  75. expand "%CabName%" -f:* "%cd%\"
  76. echo.  ^>^> 将 %CabName% 解压缩成功!
  77. echo.
  78. echo.  ^>^> 请按回车键继续...
  79. pause > nul
  80. @Goto :Main
  81. )
  82. echo.
  83. echo.  ^>^> 无此压缩文档!
  84. echo.
  85. echo.  ^>^> 请按回车键继续...
  86. pause > nul
  87. @Goto :Main
  88. :Chdir
  89. Set FolderName=%Command:~2%
  90. if /i exist "%FolderName%\" (
  91. cd "%FolderName%"
  92. @Goto :Main
  93. )
  94. echo.
  95. echo.  ^>^> 无此目录!
  96. echo.
  97. echo.  ^>^> 请按回车键继续...
  98. pause > nul
  99. @Goto :Main
  100. :Disk
  101. Set DiskVol=%Command:~2%
  102. Set DiskVol=%DiskVol:~0,1%
  103. if /i exist %DiskVol%: (
  104. %DiskVol%:
  105. @Goto :Main
  106. )
  107. echo.
  108. echo.  ^>^> 无此磁盘或驱动器!
  109. echo.
  110. echo.  ^>^> 请按回车键继续...
  111. pause > nul
  112. @Goto :Main
  113. :DelFile
  114. Set FileOrDirectory=%Command:~2%
  115. if not exist "%FileOrDirectory%" (
  116. echo.
  117. echo.   ^>^> 无此文件或目录!
  118. echo.
  119. echo.   ^>^> 请按回车键继续...
  120. pause > nul
  121. @Goto :Main
  122.          )
  123.          echo.
  124. echo.   ^>^> 这会删除%FileOrDirectory%下的所有文件(如果这是文件夹)
  125. echo.
  126. echo.   ^>^> 确认否[Y/N]?
  127. Call :Get_Key
  128. if /i "%key%"=="N" @Goto :Main
  129. if /i "%key%"=="Y" (
  130. if exist "%FileOrDirectory%\" (
  131. rd "%FileOrDirectory%" /s /q >nul 2>nul
  132. @Goto :Main
  133. )
  134. del "%FileOrDirectory%" /f /q >nul 2>nul
  135. @Goto :Main
  136. )
  137. if "%valid_key%"=="0" @Goto :DelFile
  138. @goto :DelFile
  139. :Extract_Custom
  140. Set Commandb=%Command:~2%
  141. Set CabName=%Command:~2%
  142. Set FolderName=%Command:~2%
  143. Set CabName=%Commandb:*/=%
  144. Set "CabName=%CabName:"=%"
  145. Call :Custom_FolderName
  146. Call :Custom_FolderName_2
  147. Set Commandc=%CabName:~-4%
  148. Set "FolderName=%FolderName:"=%"
  149. echo.%CabName%
  150. echo.%FolderName%
  151. if /i "%Commandc%" neq ".cab" set CabName=%CabNAme%.Cab
  152. if /i exist "%CabName%" if /i exist "%FolderName%\" (
  153. expand "%CabName%" -f:* "%FolderName%"
  154. echo.  ^>^> 将 %CabName% 解压缩成功!
  155. echo.
  156. echo.  ^>^> 请按回车键继续...
  157. pause > nul
  158. @Goto :Main
  159. )
  160. echo.
  161. echo.  ^>^> 无此压缩文档或此目录!
  162. echo.
  163. echo.  ^>^> 请按回车键继续...
  164. pause > nul
  165. @Goto :Main
  166. :Run
  167. Set FileName=%Command:~2%
  168. Set "FileName=%FileName:"=%"
  169. if /i exist "%FileName%\" (
  170. start explorer "%FileName%"
  171. @Goto :Main
  172. )
  173. if /i exist "%FileName%" (
  174. start "" "%FileName%"
  175. @Goto :Main
  176. )
  177. echo.
  178. echo.  ^>^> 无此文件或目录!
  179. echo.
  180. echo.  ^>^> 请按回车键继续...
  181. pause > nul
  182. @Goto :Main
  183. :Search
  184. Set CabName=%Command:~2%
  185. Set Commandc=%CabName:~-4%
  186. echo.
  187. echo.  ^>^> 搜索中...
  188. if /i "%Commandc%" neq ".cab" set CabName=%CabNAme%.Cab
  189. for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  190. if /i exist %%i: (
  191. cd /d %%i:
  192. FORFILES /P %%i:\ /S /M "%CabName%"
  193. )
  194. )
  195. echo.
  196. echo.  ^>^> 搜索完成!
  197. echo.
  198. echo.  ^>^> 请按回车键继续...
  199. %Bin_Drive%:
  200. cd %Bin_Dir%
  201. pause > nul
  202. @Goto :Main
  203. :Update
  204. cls
  205. echo.
  206. Set Bin_Dir=%0
  207. Set "Bin_Dir=%Bin_Dir:"=%"
  208. set /p UpdateFile=   ^>^> 请输入更新包名称[.HopeUpdate]
  209. echo.
  210. Set "UpdateFile=%UpdateFile:"=%"
  211. echo.%UpdateFile%
  212. echo.
  213. if not exist "%UpdateFile%" (
  214. echo.   ^>^> 无此更新文件!
  215. echo.
  216. echo.   ^>^> 按任意键返回...
  217. pause>nul
  218. @Goto :Main
  219. )
  220. if not "%UpdateFile:~-11%"==".HopeUpdate" (
  221. echo.   ^>^> 更新文件格式不正确!
  222. echo.
  223. echo.   ^>^> 按任意键返回...
  224. pause>nul
  225. @Goto :Main
  226. )
  227. Call :Version
  228. echo.检测到%Version%...
  229. echo.
  230. cd.>"%Version%.Bat"
  231. for /f "usebackq delims= skip=1" %%i in ("%UpdateFile%") do (
  232. echo.%%i >> "%Version%.Bat"
  233. )
  234. Certutil -decode -f "%Version%.Bat" "%Version%.Bat"
  235. Mklink "%userprofile%\Desktop" "%Version%.Bat"
  236. Del "%Bin_Dir%"
  237. pause
  238. @Exit
  239. ::--------Functions-------------------------------------------------------------------------------------------------------------
  240. :Version
  241. Rem ; Call :Version
  242. for /f "usebackq delims=" %%i in ("%UpdateFile%") do (
  243. echo.%%i
  244. Set Version=%%i
  245. @Goto :eof
  246. )
  247. :Custom_FolderName
  248. Rem ; Call :Custom_FolderName
  249. Set FolderName=%FolderName:~0,-1%
  250. echo.%FolderName%|Find "/"
  251. if not errorlevel 1 (
  252. @Call :Custom_FolderName
  253. )
  254. if errorlevel 1 (
  255. @Goto :eof
  256. )
  257. @Call :Custom_FolderName
  258. :Custom_FolderName_2
  259. Rem ; Call :Custom_FolderName_2
  260. Set FNa=%FolderName:~-1%
  261. echo.%FNa%|Find "\"
  262. if not errorlevel 1 (
  263. @Call :Custom_FolderName
  264. )
  265. if errorlevel 1 (
  266. @Goto :eof
  267. )
  268. @Call :Custom_FolderName_2
  269. :Get_Key
  270. Rem ; Call :Get_Key
  271. Set "key="
  272. for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key Set "key=%%a"
  273. Set "key=%key:~-1%"
  274. Set "valid_key=0"
  275. @Goto :eof
  276. :CabName
  277. Rem ; Call :CabName
  278. Set CabName=%CabName:~0,-1%
  279. echo.%CabName%|Find "/"
  280. if not errorlevel 1 (
  281. @Call :CabName
  282. )
  283. if errorlevel 1 (
  284. @Goto :eof
  285. )
  286. @Call :CabName
  287. :CabName_2
  288. Rem ; Call :CabName
  289. Set CabName=%CabName:~0,-1%
  290. echo.%CabName%|Find ":"
  291. if not errorlevel 1 (
  292. @Call :CabName
  293. )
  294. if errorlevel 1 (
  295. @Goto :eof
  296. )
  297. @Call :CabName
  298. :ListName
  299. Rem ; Call :ListName
  300. Set ListName=%ListName:~1%
  301. echo.%ListName%|Find ":"
  302. if not errorlevel 1 (
  303. @Call :ListName
  304. )
  305. if errorlevel 1 (
  306. @Goto :eof
  307. )
  308. @Call :ListName
  309. :FolderName
  310. Rem ; Call :FolderName
  311. Set FolderName=%FolderName:~0,-1%
  312. echo.%FolderName%|Find "/"
  313. if not errorlevel 1 (
  314. @Call :FolderName
  315. )
  316. if errorlevel 1 (
  317. @Goto :eof
  318. )
  319. Set FolderName=%FolderName:~0,-1%
  320. echo.%FolderName%|Find "/"
  321. if not errorlevel 1 (
  322. @Call :FolderName
  323. )
  324. @Call :FileName
  325. :FileName
  326. Rem ; Call :FileName
  327. Set FileName=%FileName:~0,-1%
  328. echo.%FileName%|Find "/"
  329. if not errorlevel 1 (
  330. @Call :FileName
  331. )
  332. if errorlevel 1 (
  333. @Goto :eof
  334. )
  335. @Call :FileName
  336. :BL
  337. Rem ; Call :BL [Blanks Lines]
  338. for /l %%i in (1,1,%1) do echo.
  339. @Goto :eof
  340. :Type
  341. Rem ; Call :Type "[Text]"
  342. Set /p Str=%~1<nul
  343. for /l %%a in (1,1,%Timer%) do Set ReturnKey=0
  344. @Goto :eof
  345. :Tool_Bar_Main
  346. Rem ; Call :Tool_Bar_Main
  347. echo.
  348. call :Type "■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■"
  349. call :Type "■                                                          Hope Cab                                                          ■"
  350. call :Type "■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■"
  351. echo.
  352. echo.
  353. @Goto :eof
  354. :Line
  355. Rem ; Call :Line
  356. call :Type "--------------------------------------------------------------------------------------------------------------------------------"
  357. echo.
  358. @Goto :eof
  359. :FilesAndFolder
  360. Rem ; Call :FilesAndFolder
  361. dir /w
  362. @Goto :eof
  363.    
  364. ::--------Annotation------------------------------------------------------------------------------------------------------------
  365. Rem ; [File]
  366. F-FileName/CabName
  367. Rem ; [Folder]
  368. R-FolderName/CabName:ListName
  369. Rem ; [Extract]
  370. R-FolderName/CabName:ListName
  371. Rem ; [Extract]
  372. R-FolderName/CabName:ListName
  373. Rem ; [Extract_Custom]
  374. X-FolderName/CabName
复制代码
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

本帖最后由 HOPE2021 于 2021-8-23 21:45 编辑

回复 51# cmd1152
因为1.0.0014做了巨大的改进和更新模式的改进,特此发布源码[上半部分]:
  1. @echo off & Mode Con: Cols=128 & @Goto :Begin
  2. ::--------Version---------------------------------------------------------------------------------------------------------------
  3. ; Hope Cab [Version 1.0.0014]
  4. ::--------Copyright-------------------------------------------------------------------------------------------------------------
  5. ; (C) Copyright 2020-2021 Hope Corp.
  6. ; (C) Copyright 2021-2021 Hope2021&Cmd1152 Corp.
  7. ; Warning: this computer program is protected by copyright law and international treaties. Unauthorized reproduction or
  8. ; distribution of this program (or any part thereof) will result in severe civil and criminal sanctions, and will be p-
  9. ; rosecuted to the maximum extent possible under the law.
  10. ; 警告:本计算机程序受著作权法和国际条约保护.如未经授权而擅自复制或传播本程序(或其中任何部分),将受到严厉的民事及刑事制裁,
  11. ; 并将在法律许可范围内受到最大程度的起诉.
  12. ::--------Main Function---------------------------------------------------------------------------------------------------------
  13. :Begin
  14. chcp 437 > nul
  15. color f0
  16. cls
  17. call :BL 15
  18. title Hope Cab
  19. echo.                                          膊膊膊膊膊膊膊膊膊膊膊膊圹圹圹圹圹圹圹圹圹圹圹
  20. echo.                                         膊                    膊圹                 _--圹
  21. echo.                                        膊                     膊圹             ____北北圹
  22. echo.                                        膊_____________________膊圹__________.北膊膊膊膊圹
  23. echo.                                        膊                     膊圹                     圹
  24. echo.                                        膊             圹圹圹圹圹圹圹圹圹圹         __--圹
  25. echo.                                        膊            圹       .Cab       圹    ____北北圹
  26. echo.                                        北___________圹   Make Your Life   圹.北膊膊膊膊圹
  27. echo.                                        北           圹       Easier.      圹           圹
  28. echo.                                        膊            圹       Hope       圹        __--圹
  29. echo.                                        膊             圹圹圹圹圹圹圹圹圹圹     ____北北圹
  30. echo.                                        膊_____________________膊圹__________.北膊膊膊膊圹
  31. echo.                                        膊                     膊圹                 __--圹
  32. echo.                                        膊                     膊圹            _____北北圹
  33. echo.                                         膊                    膊圹         .北膊膊膊膊圹
  34. echo.                                          膊膊膊膊膊膊膊膊膊膊膊圹圹圹圹圹圹圹圹圹圹圹圹
  35. ping 127.1 /n 2 > nul
  36. chcp 936 > nul
  37. @Goto :Main
  38. :Main
  39. cls
  40. Title Hope Cab [Version 1.0.0014] 键入H以查看帮助信息
  41. Call :Tool_Bar_Main
  42. Call :FilesAndFolder
  43. echo.
  44. Set Command=/////*无效操作*/////
  45. Set /p Command=  ^>^>
  46. Set Command_a=%Command:~0,1%
  47. echo.
  48. Set Bin_Dir=%cd%
  49. Set Bin_Drive=%cd:~0,1%
  50. if /i "%Command_a%"=="H" (
  51. echo.  Hope Cab [Version 1.0.0014]
  52. echo.
  53. Call :Line
  54. echo.
  55. echo.  ^(C^) Copyright 2020-2021 Hope Corp.
  56. echo.  ^(C^) Copyright 2021-2021 Hope2021^&Cmd1152 Corp.
  57. echo.
  58. Call :Line
  59. echo.
  60. set /p Corp=Warning: this computer program is protected by copyright law and international treaties. Unauthorized reproduction or distribut-<nul
  61. set /p Corp=ion of this program ^(or any part thereof^) will result in severe civil and criminal sanctions, and will be prosecuted to the max-<nul
  62. set /p Corp=imum extent possible under the law.<nul
  63. echo.
  64. echo.
  65. set /p Corp=警告:本计算机程序受著作权法和国际条约保护.如未经授权而擅自复制或传播本程序^(或其中任何部分^), 将受到严厉的民事及刑事制裁, 并将在法<nul
  66. set /p Corp=律许可范围内受到最大程度的起诉<nul
  67. echo.
  68. echo.
  69. Call :Line
  70. echo.
  71. echo.  依法授权给: %Username%
  72. echo.
  73. Call :Line
  74. echo.
  75. echo.  Hope Cab 教程
  76. echo.
  77. Call :Line
  78. echo.
  79. echo.  1. 概述
  80. echo.  Hope Cab 是一款基于Microsoft ^(R^) Windows 的命令行压缩文件资源管理器,支持.Cab文件的压缩/解压缩以及处理.
  81. echo.
  82. Call :Line
  83. echo.
  84. echo.  2. 压缩一个文件
  85. echo.
  86. echo.  压缩文件的命令很简单,命令格式如下:
  87. echo.
  88. echo.  ^>^> F-FileName/CabName
  89. echo.
  90. echo.  命令参数解释:
  91. echo.  
  92. echo.  F-           命令前缀,代表对文件进行操作.
  93. echo.  FileName     需要压缩的文件名称,包括拓展名.
  94. echo.  CabName      压缩文件名,可以不包括.Cab的后缀.
  95. echo.  
  96. echo.  例如,需要将Hope.ini文件压缩为Hope.Cab,有以下两种语法:
  97. echo.  
  98. echo.  F-Hope.ini/Hope.Cab
  99. echo.  F-Hope.ini/Hope
  100. echo.  
  101. echo.  注意事项:
  102. echo.  
  103. echo.  1. 分隔FileName与CabName的/不可以有空格或是全角符号.
  104. echo.  2. 命令前缀不区分大小写.
  105. echo.
  106. Call :Line
  107. echo.
  108. echo.  3. 压缩一个目录
  109. echo.  
  110. echo.  压缩目录的命令相较于压缩一个文件而言要难一些,命令格式如下:
  111. echo.  
  112. echo.  ^>^> R-FolderName/CabName:ListName
  113. echo.
  114. echo.  命令参数解释:
  115. echo.  
  116. echo.  R-           命令前缀,代表对目录进行操作.
  117. echo.  FolderName   文件夹名
  118. echo.  CabName      压缩文件名,可以不包括.Cab的后缀.
  119. echo.  ListName     文件列表名,用于储存目录信息,使用完以后自动删除.
  120. echo.  
  121. echo.  例如,需要将Hope目录下的所有文件压缩到Hope.Cab里,并将信息存储在Hope.Temp里,有以下两种语法:
  122. echo.  
  123. echo.  R-Hope/Hope.Cab:Hope.Temp
  124. echo.  R-Hope/Hope:Hope.Temp
  125. echo.  
  126. echo.  1. 分隔FolderName与CabName的/以及分隔CabName与ListName的:不可以有空格或是全角符号.
  127. echo.  2. 命令前缀不区分大小写.
  128. echo.
  129. Call :Line
  130. echo.
  131. echo.  3. 解压缩
  132. echo.  
  133. echo.  压缩目录的命令相较于压缩一个文件而言要难一些,命令格式如下:
  134. echo.  
  135. echo.  ^>^> E-CabName
  136. echo.
  137. echo.  命令参数解释:
  138. echo.  
  139. echo.  E-           命令前缀,代表解压缩到当前目录下.
  140. echo.  CabName      压缩文件名,可以不包括.Cab的后缀.
  141. echo.  
  142. echo.  例如,需要解压Hope.Cab,有以下两种语法:
  143. echo.  
  144. echo.  E-Hope.Cab
  145. echo.  E-Hope
  146. echo.  
  147. echo.  1. 分隔FolderName与CabName的/以及分隔CabName与ListName的:不可以有空格或是全角符号.
  148. echo.  2. 命令前缀不区分大小写.
  149. echo.
  150. Call :Line
  151. echo.
  152. echo.  4. 返回上一级目录
  153. echo.  
  154. echo.  如果您要返回上一级目录,请键入B
  155. echo.
  156. Call :Line
  157. echo.
  158. echo.  5. 进入到下一级目录
  159. echo.  
  160. echo.  命令格式如下:
  161. echo.  
  162. echo.  ^>^> C-FolderName
  163. echo.  
  164. echo.  C-           命令前缀,代表前进到下一级目录.
  165. echo.  FolderName   文件夹名.
  166. echo.  
  167. echo.  例如,需要前进的Hope目录,可以键入:
  168. echo.  
  169. echo.  C-Hope
  170. echo.
  171. Call :Line
  172. echo.
  173. echo.  6. 切换磁盘
  174. echo.  
  175. echo.  命令格式如下:
  176. echo.  
  177. echo.  ^>^> D-DiskVol
  178. echo.  
  179. echo.  D-           命令前缀,代表切换磁盘.
  180. echo.  DiskVol      磁盘或驱动器盘符.
  181. echo.  
  182. echo.  例如,需要切换到C:\,有三种语法:
  183. echo.  
  184. echo.  D-C
  185. echo.  D-C:
  186. echo.  D-C:\
  187. echo.
  188. Call :Line
  189. echo.
  190. echo.  7. 删除目录或文件
  191. echo.
  192. echo.  命令格式如下:
  193. echo.
  194. echo.  ^>^> T-FileOrDirectory
  195. echo.
  196. echo.  T-              命令前缀,代表删除目录或文件.
  197. echo.  FileOrDirectory 目录或文件.
  198. echo.
  199. echo.  例如,删除Hope文件,但不知道是否是文件夹,可以输入:
  200. echo.  
  201. echo.  T-Hope
  202. echo.
  203. call :Line
  204. echo.
  205. echo.  8. 自定义解压
  206. echo.
  207. echo.  命令格式如下:
  208. echo.
  209. echo.  ^>^> X-FolderName/CabName
  210. echo.
  211. echo.  X-              命令前缀,代表自定义解压.
  212. echo.  FolderName      目录.
  213. echo.  CabName         压缩文件名,可以不包括.Cab的后缀.
  214. echo.
  215. echo.  例如,解压Hope.Cab到C:\Users\%Username%\Hope\Hope Cab\目录下,有两种语法:
  216. echo.  
  217. echo.  X-C:\Users\%Username%\Hope\Hope Cab\/Hope.Cab
  218. echo.  X-C:\Users\%Username%\Hope\Hope Cab\/Hope
  219. echo.
  220. call :Line
  221. echo.
  222. echo.  9. 打开文件
  223. echo.
  224. echo.  命令格式如下:
  225. echo.
  226. echo.  ^>^> U-FileName
  227. echo.
  228. echo.  U-              命令前缀,代表打开文件.
  229. echo.  FileName        文件名.
  230. echo.
  231. echo.  例如,打开Hope.ini,需要键入:
  232. echo.  
  233. echo.  U-Hope.ini
  234. echo.
  235. call :Line
  236. echo.
  237. echo.  10. 查找压缩文件
  238. echo.
  239. echo.  命令格式如下:
  240. echo.
  241. echo.  ^>^> S-FileName
  242. echo.
  243. echo.  S-              命令前缀,代表搜索文件.
  244. echo.  CabName         压缩文件名,可以不包括.Cab的后缀.
  245. echo.
  246. echo.  例如,查找Hope.Cab,有两种语法:
  247. echo.  
  248. echo.  S-Hope.Cab
  249. echo.  S-Hope
  250. echo.
  251. call :Line
  252. echo.
  253. echo.  11.更新
  254. echo.
  255. echo.  若要更新,请键入:P
  256. echo.
  257. call :Line
  258. echo.
  259. echo.  ^>^> 请按回车键继续...
  260. echo.
  261. Call :Line
  262. echo.
  263. pause > nul
  264. @Goto Main
  265. )
  266. if /i "%Command_a%"=="F" @Goto :File
  267. if /i "%Command_a%"=="R" @Goto :Folder
  268. if /i "%Command_a%"=="E" @Goto :Extract
  269. if /i "%Command_a%"=="C" @Goto :Chdir
  270. if /i "%Command_a%"=="D" @Goto :Disk
  271. if /i "%Command_a%"=="B" cd.. & @Goto :Main
  272. if /i "%Command_a%"=="T" @Goto :DelFile
  273. if /i "%Command_a%"=="X" @Goto :Extract_Custom
  274. if /i "%Command_a%"=="U" @Goto :Run
  275. if /i "%Command_a%"=="S" @Goto :Search
  276. if /i "%Command_a%"=="P" @Goto :Update
  277. echo.  ^>^> 命令语法不正确!
  278. echo.
  279. echo.  ^>^> 请按回车键继续...
  280. pause > nul
  281. @Goto Main
复制代码
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

回复 50# HOPE2021


    我刚刚发现几个BUG,然后删了,现在可以下载了
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 49# cmd1152
文件呢?
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

版本1.0.0013 增加更新功能,以后只发安装包
文件区\Hope Cab [ Version 1.0.0012 ].rar
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 44# zz100001


    我Windows7 32位 测试过,没有问题
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 44# zz100001


    你行你来(怎么来?当然是合作了!)
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 44# zz100001
开发组已经在Windows10实体机和Winxp虚拟机测试过了,并没有发现您所说的文件名有空格就报错的情况,请明示.
谢谢.
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

回复 44# zz100001
谢谢您的反馈
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

勇气可嘉,期待改进!
看了下你们这个工具,有以下建议:
自定义的命令格式很诡异,跟常用的方式差异太大,不方便使用,这是最大的问题。
文件名有空格会报错,这个就是靠平时养成严谨的习惯了。
有一些可以完善的地方,例如,每次执行完的显示好几行信息格式是一样的,可以作为一个函数调用;if可以搭配else用能少很多代码避免重复写条件,以后调整也方便。
临时文件可以放到系统temp目录去,那里面随便乱搞都没事,自动取名字好了,不要用户去写无用的东西。
还有就是cab文件作为windows自带的压缩格式,有没有特殊功能可以开发,好的作品肯定要有吸引人用功能。

TOP

回复 35# cmd1152
版本1.0.0012
下载链接:https://share.weiyun.com/bdxhlDW7
下载链接2:文件区\Hope Cab [ Version 1.0.0012 ].rar
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

本帖最后由 cmd1152 于 2021-8-21 13:00 编辑

回复 40# HOPE2021


    [谢谢你的评分]
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

返回列表