Board logo

标题: [其他] 这段U盘加密批处理代码有没有错? [打印本页]

作者: 502283644    时间: 2014-9-16 14:03     标题: 这段U盘加密批处理代码有没有错?

本帖最后由 502283644 于 2014-9-16 17:21 编辑
  1. @echo off
  2. mode con: cols=31 lines=7
  3. set /a 次数=4
  4. set /a 零=0
  5. set /a 随机数1=%random%%%10+1
  6. set /a 随机数2=%random%%%100+10
  7. :s
  8. cls
  9. echo ┏━━━━━━━━━━━━━┓
  10. echo ┃        U盘加密专用       ┃
  11. echo ┠──────┬──────┨
  12. echo ┃   1.加密   │   2.解密   ┃
  13. echo ┗━━━━━━┷━━━━━━┛
  14. set /p 选择1=
  15. if "%选择1%"=="1" goto a
  16. if "%选择1%"=="2" goto b
  17. cls
  18. echo ┏━━━━━━━━━━━━━┓
  19. echo ┃        U盘加密专用       ┃
  20. echo ┠─────────────┨
  21. echo ┃       木有这个选择哦     ┃
  22. echo ┗━━━━━━━━━━━━━┛
  23. pause
  24. goto s
  25. :a
  26. cls
  27. echo ┏━━━━━━━━━━━━━┓
  28. echo ┃        U盘加密专用       ┃
  29. echo ┠─────────────┨
  30. echo ┃   输入账号(长度4个数字)  ┃
  31. echo ┗━━━━━━━━━━━━━┛
  32. set /p 账号1=
  33. if "%账号1%"=="" goto 1
  34. set /a 账号2=%账号1%*8+6
  35. if exist %账号2%~1 goto 4
  36. goto aa
  37. :aa
  38. cls
  39. echo ┏━━━━━━━━━━━━━┓
  40. echo ┃        U盘加密专用       ┃
  41. echo ┠─────────────┨
  42. echo ┃    输入密码(长度4~6)    ┃
  43. echo ┗━━━━━━━━━━━━━┛
  44. set /p 密码1=
  45. if "%密码1%"=="" goto 2
  46. set /a 密码2=%密码1%*%随机数1%-%随机数2%
  47. goto x
  48. :b
  49. cls
  50. echo ┏━━━━━━━━━━━━━┓
  51. echo ┃        U盘加密专用       ┃
  52. echo ┠─────────────┨
  53. echo ┃   输入账号(长度4个数字)  ┃
  54. echo ┗━━━━━━━━━━━━━┛
  55. set /p 账号3=
  56. if "%账号3%"=="" goto 1
  57. set /a 账号4=账号3*8+6
  58. if not exist %账号4%~1 goto 3
  59. goto bb
  60. :bb
  61. cls
  62. echo ┏━━━━━━━━━━━━━┓
  63. echo ┃  离文件夹自爆还%次数%有次机会 ┃
  64. echo ┠─────────────┨
  65. echo ┃ 输入密码(长度4~6个数字)  ┃
  66. echo ┗━━━━━━━━━━━━━┛
  67. set /p 密码3=
  68. if "%密码3%"=="" goto 2
  69. SetLocal EnableDelayedExpansion
  70. for /f %%a in (%账号4%..\密码1.mz) do (
  71. for /f %%b in (%账号4%..\密码2.mz) do (
  72.   for /f %%c in (%账号4%..\密码3.mz) do (
  73.   set /a 密码4=!密码3!*%%b-%%c
  74.   if "!密码4!"=="%%a" goto c
  75.     )
  76.   )
  77. )
  78. set /a 次数=次数-1
  79. if %次数% equ %零% goto zz
  80. goto bb
  81. :c
  82. cls
  83. echo ┏━━━━━━━━━━━━━┓
  84. echo ┃        U盘加密专用       ┃
  85. echo ┠─────────────┨
  86. echo ┃1.打开 2.改密  3.不加密了 ┃
  87. echo ┗━━━━━━━━━━━━━┛
  88. set /p 删除文件夹=
  89. if "%删除文件夹%"=="1" goto z
  90. if "%删除文件夹%"=="2" goto 删密
  91. if "%删除文件夹%"=="3" ren %账号4%~1 %账号4%
  92. :删密
  93. cls
  94. echo ┏━━━━━━━━━━━━━┓
  95. echo ┃        U盘加密专用       ┃
  96. echo ┠─────────────┨
  97. echo ┃        输入新密码        ┃
  98. echo ┗━━━━━━━━━━━━━┛
  99. set /p 密码1=
  100. set /a 密码2=%密码1%*%随机数1%-%随机数2%
  101. >%账号4%~1\密码1.mz echo %密码2%
  102. >%账号4%~1\密码2.mz echo %随机数1%
  103. >%账号4%~1\密码3.mz echo %随机数2%
  104. cls
  105. echo ┏━━━━━━━━━━━━━┓
  106. echo ┃        U盘加密专用       ┃
  107. echo ┠─────────────┨
  108. echo ┃         修改密码成功     ┃
  109. echo ┗━━━━━━━━━━━━━┛
  110. pause
  111. exit
  112. :x
  113. cls
  114. md %账号2%..\
  115. >%账号2%..\密码1.mz echo %密码2%
  116. >%账号2%..\密码2.mz echo %随机数1%
  117. >%账号2%..\密码3.mz echo %随机数2%
  118. attrib +a +s +r +h %账号2%~1\密码1.mz
  119. attrib +a +s +r +h %账号2%~1\密码2.mz
  120. attrib +a +s +r +h %账号2%~1\密码3.mz
  121. subst z: %账号2%~1
  122. start z:\
  123. echo ┏━━━━━━━━━━━━━┓
  124. echo ┃        U盘加密专用       ┃
  125. echo ┠─────────────┨
  126. echo ┃想加密的东西放入刚打开的盘┃
  127. echo ┗━━━━━━━━━━━━━┛
  128. echo 放完按空格键 & pause>nul
  129. call z:
  130. subst z: /d
  131. goto y
  132. :y
  133. cls
  134. echo ┏━━━━━━━━━━━━━┓
  135. echo ┃        U盘加密专用       ┃
  136. echo ┠─────────────┨
  137. echo ┃        已加密成功了      ┃
  138. echo ┗━━━━━━━━━━━━━┛
  139. pause
  140. exit
  141. :z
  142. cls
  143. subst z: %账号4%~1
  144. start z:\
  145. echo ┏━━━━━━━━━━━━━┓
  146. echo ┃        U盘加密专用       ┃
  147. echo ┠─────────────┨
  148. echo ┃    可以取出和存入文件了  ┃
  149. echo ┗━━━━━━━━━━━━━┛
  150. echo 存取完按空格键 & pause>nul
  151. subst z:\ /d
  152. exit
  153. :zz
  154. cls
  155. rd /s /q %账号4%~1\
  156. echo ┏━━━━━━━━━━━━━┓
  157. echo ┃        U盘加密专用       ┃
  158. echo ┠─────────────┨
  159. echo ┃        文件夹已销毁      ┃
  160. echo ┗━━━━━━━━━━━━━┛
  161. pause
  162. exit
  163. :1
  164. cls
  165. echo ┏━━━━━━━━━━━━━┓
  166. echo ┃        U盘加密专用       ┃
  167. echo ┠─────────────┨
  168. echo ┃       没有输入账号       ┃
  169. echo ┗━━━━━━━━━━━━━┛
  170. pause
  171. if "%选择1%"=="1" goto a
  172. if "%选择1%"=="2" goto b
  173. :2
  174. cls
  175. echo ┏━━━━━━━━━━━━━┓
  176. echo ┃        U盘加密专用       ┃
  177. echo ┠─────────────┨
  178. echo ┃       没有输入密码       ┃
  179. echo ┗━━━━━━━━━━━━━┛
  180. if "%选择1%"=="1" goto aa
  181. if "%选择1%"=="2" goto bb
  182. :3
  183. cls
  184. echo ┏━━━━━━━━━━━━━┓
  185. echo ┃        U盘加密专用       ┃
  186. echo ┠─────────────┨
  187. echo ┃       没有这个账号       ┃
  188. echo ┗━━━━━━━━━━━━━┛
  189. pause
  190. goto b
  191. :4
  192. cls
  193. echo ┏━━━━━━━━━━━━━┓
  194. echo ┃        U盘加密专用       ┃
  195. echo ┠─────────────┨
  196. echo ┃     这个账号已加密过     ┃
  197. echo ┗━━━━━━━━━━━━━┛
  198. pause
  199. goto s
复制代码
更新后
作者: 502283644    时间: 2014-9-16 14:09

顺便申原创
作者: Batcher    时间: 2014-9-16 14:37

代码发布之前,在哪些系统里面测试过?
作者: 502283644    时间: 2014-9-16 14:38

回复 3# Batcher


    xp
作者: Batcher    时间: 2014-9-16 14:48

回复 4# 502283644


    Vista、Win7、Win8等系统能用吗?
作者: 502283644    时间: 2014-9-16 15:11

没试过...............
作者: 502283644    时间: 2014-9-16 15:57

错误太多了
大侠帮忙修改下这个bat
作者: DAIC    时间: 2014-9-16 17:17

回复 7# 502283644


    先说第一个错误吧,请详细描述一下。
作者: 502283644    时间: 2014-9-16 17:22

发现bug的告诉我.马上改哦
作者: DAIC    时间: 2014-9-16 17:34

bug 1:
输入账号(长度4个数字)

这里没有做合法检查,用户输入abcd你的代码能正常处理吗?
作者: 502283644    时间: 2014-9-16 17:43

回复 10# DAIC


    怎么改?




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