elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [APORTE] [BATCH] Automatizar apertura de volumen y baúl cifrado v2.2
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [APORTE] [BATCH] Automatizar apertura de volumen y baúl cifrado v2.2  (Leído 5,599 veces)
cyberalejo17

Desconectado Desconectado

Mensajes: 12



Ver Perfil
[APORTE] [BATCH] Automatizar apertura de volumen y baúl cifrado v2.2
« en: 19 Abril 2014, 23:14 pm »

Buenas tardes,

Les quiero compartir un script que desarrollé hace poco. Se trata de una pequeña aplicación que automatiza la tarea de montar un volumen cifrado de TrueCrypt (permite seleccionar si se desea montar en modo sólo lectura o no), y abrir un baúl de contraseñas de KeePass almacenado dentro de ese volumen cifrado.

Modifico el post, para publicar la actualización del script. La versión 2.2.


Código
  1. @ECHO OFF
  2. :: Name: Abrir_USB.cmd
  3. :: Author: CyberAlejo17
  4. :: Description: Script para abrir una memoria USB cifrada y un baul de contrasennias.
  5. :: Version: 2.2
  6. :: Tree:
  7. ::     F:\
  8. ::     |   Abrir_USB.cmd
  9. ::     |  
  10. ::     +---PENDRIVE
  11. ::     \---TC
  12. ::         |   CYBERALEJO17-TC.tc
  13. ::         |   truecrypt-x64.sys
  14. ::         |   TrueCrypt.exe
  15. ::         |   truecrypt.sys
  16. ::         |  
  17. ::         \---setup
  18. ::                 TrueCrypt Setup 7.1a.exe
  19. ::     T:\
  20. ::     |  
  21. ::     +---PERSONAL
  22. ::     |   \---Seguridad
  23. ::     |       |   PasswdDatabase.kdbx
  24. ::     |       |  
  25. ::     |       \---Software
  26. ::     |           |   KeePass.chm
  27. ::     |           |   KeePass.config.xml
  28. ::     |           |   KeePass.exe
  29. ::     |           |   KeePass.XmlSerializers.dll
  30. ::     |           |   KeePassLibC32.dll
  31. ::     |           |   KeePassLibC64.dll
  32. ::     |           |   ShInstUtil.exe
  33. ::     |           |  
  34. ::     |           \---XSL
  35. ::     |                   KDBX_DetailsFull.xsl
  36. ::     |                   KDBX_DetailsLite.xsl
  37. ::     |                   KDBX_PasswordsOnly.xsl
  38. ::     |                   KDBX_Styles.css
  39. ::     |                   KDBX_Tabular.xsl
  40. ::     |                   TableHeader.gif
  41. ::     |                  
  42. ::     \---UNIVERSIDAD
  43. ::         \---Cursos 2014-1
  44. ::                 CALIFICACIONES-TC.tc
  45.  
  46.  
  47.  
  48. REM =========
  49. REM VARIABLES
  50. REM =========
  51.  
  52. :: Ruta de la aplicacion TrueCrypt.
  53. set rutaTC=TC\TrueCrypt.exe
  54. if exist "%programfiles%\TrueCrypt\TrueCrypt.exe" set rutaTC=%programfiles%\TrueCrypt\TrueCrypt.exe
  55. :: Letra que va a tomar la unidad Principal.
  56. set letraTC=T
  57. :: Letra que va a tomar la unidad Calificaciones.
  58. set letraCal=U
  59. :: Ruta de la aplicacion KeePass dentro de la unidad Principal.
  60. set rutaKP=PERSONAL\Seguridad\Software\KeePass.exe
  61. :: Ruta del archivo cifrado de la unidad Principal.
  62. set rutaArchivoTC=TC\CYBERALEJO17-TC.tc
  63. :: Ruta del archivo cifrado de la unidad Calificaciones.
  64. set rutaArchivoCal=UNIVERSIDAD\Cursos 2014-1\CALIFICACIONES-TC.tc
  65. :: Ruta del baul de contrasennias.
  66. set rutaArchvoKP=PERSONAL\Seguridad\PasswdDatabase.kdbx
  67.  
  68.  
  69. REM ======
  70. REM INICIO
  71. REM ======
  72.  
  73. :: Nos lleva a la seleccion del menu adecuado.
  74. goto :VERIFICACION
  75.  
  76.  
  77.  
  78.  
  79. REM ==============
  80. REM CODIGO GRAFICO
  81. REM ==============
  82.  
  83.  
  84. REM =====
  85. REM Menus
  86. REM =====
  87.  
  88. :MENU_1:: Menu inicial. Es posible montar las unidades y abrir el baul.
  89. cls
  90. COLOR 07
  91. MODE CON COLS=85 LINES=26
  92. TITLE Abrir USB
  93. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  94. echo  º                                   Abrir USB                                    º
  95. echo  ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  96. echo  º                             º                                                  º
  97. echo  º TC Principal                º                                                  º
  98. echo  º  1) S¢lo lectura úúúúúúúúúúúº Monta la unidad principal en modo RO             º
  99. echo  º  2) Escritura úúúúúúúúúúúúúúº Monta la unidad principal en modo RW             º
  100. echo  º                             º                                                  º
  101. echo  º TC Calificaciones           º                                                  º
  102. echo  º  3) S¢lo lectura úúúúúúúúúúúº Monta la unidad principal en modo RW y la unidad º
  103. echo  º                             º   calificaciones el modo RO                      º
  104. echo  º  4) Escritura úúúúúúúúúúúúúúº Monta la unidad principal en modo RW y la unidad º
  105. echo  º                             º   calificaciones el modo RW                      º
  106. echo  º                             º                                                  º
  107. echo  º Ba£l                        º                                                  º
  108. echo  º  5) Abrir ba£l úúúúúúúúúúúúúº Monta la unidad principal en modo RW e inicia el º
  109. echo  º                             º   ba£l de contrase¤as                            º
  110. echo  º                             º                                                  º
  111. echo  º Extras                      º                                                  º
  112. echo  º  6) Mostrar archivos ocultosº Mostrar las carpetas ocultas en la memoria       º
  113. echo  º                             º                                                  º
  114. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  115. goto :EOF
  116.  
  117. :MENU_2:: Ya ha sido montada la unidad Principal. Permite montar la unidad Calificaciones, abrir el baul y desmontar unidades.
  118. cls
  119. COLOR 07
  120. MODE CON COLS=85 LINES=23
  121. TITLE Abrir USB
  122. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  123. echo  º                                   Abrir USB                                    º
  124. echo  ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  125. echo  º                             º                                                  º
  126. echo  º TC Calificaciones           º                                                  º
  127. echo  º  1) S¢lo lectura úúúúúúúúúúúº Monta la unidad calificaciones en modo RO        º
  128. echo  º  2) Escritura úúúúúúúúúúúúúúº Monta la unidad calificaciones en modo RW        º
  129. echo  º                             º   (no garantiza RW)                              º
  130. echo  º                             º                                                  º
  131. echo  º Ba£l                        º                                                  º
  132. echo  º  3) Abrir ba£l úúúúúúúúúúúúúº Inicia el ba£l de contrase¤as (no garantiza RW)  º
  133. echo  º                             º                                                  º
  134. echo  º Cierre                      º                                                  º
  135. echo  º  4) Desmontar unidad %letraTC% úúúúúº Desmonta la unidad Principal                     º
  136. echo  º                             º                                                  º
  137. echo  º Extras                      º                                                  º
  138. echo  º  5) Mostrar archivos ocultosº Mostrar las carpetas ocultas en la memoria       º
  139. echo  º                             º                                                  º
  140. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  141. goto :EOF
  142.  
  143. :MENU_3:: Ya ha sido montada la unidad Principal y abierto el baul. Permite montar la unidad Calificaciones, desmontar unidades y cerrar todo.
  144. cls
  145. COLOR 07
  146. MODE CON COLS=85 LINES=21
  147. TITLE Abrir USB
  148. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  149. echo  º                                   Abrir USB                                    º
  150. echo  ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  151. echo  º                             º                                                  º
  152. echo  º TC Calificaciones           º                                                  º
  153. echo  º  1) S¢lo lectura úúúúúúúúúúúº Monta la unidad calificaciones en modo RO        º
  154. echo  º  2) Escritura úúúúúúúúúúúúúúº Monta la unidad calificaciones en modo RW        º
  155. echo  º                             º   (no garantiza RW)                              º
  156. echo  º                             º                                                  º
  157. echo  º Cierre                      º                                                  º
  158. echo  º  3) Cerrar ba£l úúúúúúúúúúúúº Cierra todos los ba£les                          º
  159. echo  º  4) Cerrar y desmontar todo º Cierra los ba£les y desmonta todas las unidades  º
  160. echo  º                             º                                                  º
  161. echo  º Extras                      º                                                  º
  162. echo  º  5) Mostrar archivos ocultosº Mostrar las carpetas ocultas en la memoria       º
  163. echo  º                             º                                                  º
  164. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  165. goto :EOF
  166.  
  167. :MENU_4:: Ya ha sido montada la unidad Principal y Calificaciones. Permite abrir el baul y desmontar unidades.
  168. cls
  169. COLOR 07
  170. MODE CON COLS=85 LINES=19
  171. TITLE Abrir USB
  172. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  173. echo  º                                   Abrir USB                                    º
  174. echo  ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  175. echo  º                             º                                                  º
  176. echo  º Ba£l                        º                                                  º
  177. echo  º  1) Abrir ba£l úúúúúúúúúúúúúº Inicia el ba£l de contrase¤as (no garantiza RW)  º
  178. echo  º                             º                                                  º
  179. echo  º Cierre                      º                                                  º
  180. echo  º  2) Desmontar unidad %letraCal% úúúúúº Desmonta la unidad Calificaciones                º
  181. echo  º  3) Desmontar unidades úúúúúº Desmonta todas las unidades montadas previamente º
  182. echo  º                             º                                                  º
  183. echo  º Extras                      º                                                  º
  184. echo  º  4) Mostrar archivos ocultosº Mostrar las carpetas ocultas en la memoria       º
  185. echo  º                             º                                                  º
  186. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  187. goto :EOF
  188.  
  189. :MENU_5:: Se ha montado la unidad Principal, Calificaciones y abierto el baul. Menu con las opciones para cerrar baul y desmontar unidades.
  190. cls
  191. COLOR 07
  192. MODE CON COLS=85 LINES=18
  193. TITLE Abrir USB
  194. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  195. echo  º                                   Abrir USB                                    º
  196. echo  ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  197. echo  º                             º                                                  º
  198. echo  º Cierre                      º                                                  º
  199. echo  º  1) Cerrar ba£l úúúúúúúúúúúúº Cierra todos los ba£les                          º
  200. echo  º  2) Cerrar y desmontar %letraCal%    º Cierra el ba£l y desmonta la unidad              º
  201. echo  º                             º   Calificaciones                                 º
  202. echo  º  3) Cerrar y desmontar todo º Cierra los ba£les y desmonta todas las unidades  º
  203. echo  º                             º                                                  º
  204. echo  º Extras                      º                                                  º
  205. echo  º  4) Mostrar archivos ocultosº Mostrar las carpetas ocultas en la memoria       º
  206. echo  º                             º                                                  º
  207. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  208. goto :EOF
  209.  
  210. :MENU_6:: Advierte del preligro de la ejecucion de attrib.
  211. cls
  212. COLOR 4E
  213. MODE CON COLS=85 LINES=25
  214. TITLE=Mostrar archivos y carpetas ocultas
  215. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  216. echo  º                            Mostrar archivos ocultos                            º
  217. echo  ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  218. echo  º                             º                                                  º
  219. echo  º             +*+             º                                                  º
  220. echo  º            +* *+            º                                                  º
  221. echo  º           +*   *+           º                                                  º
  222. echo  º          +* **  *+          º         ¨Desea proceder con la operaci¢n?        º
  223. echo  º         +*  **   *+         º                                                  º
  224. echo  º        +*   **    *+        º                                                  º
  225. echo  º       +*     *     *+       º                                                  º
  226. echo  º      +*             *+      º                     Escriba:                     º
  227. echo  º     +*       **      *+     º                                                  º
  228. echo  º    +*        **       *+    º                                                  º
  229. echo  º   +*                   *+   º                                                  º
  230. echo  º   ***********************   º                                                  º
  231. echo  º    + + + + + + + + + + +    º                        OK                        º
  232. echo  º                             º                                                  º
  233. echo  º    A D V E R T E N C I A    º                                                  º
  234. echo  º                             º                                                  º
  235. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  236. goto :EOF
  237.  
  238.  
  239. REM ========
  240. REM Mensajes
  241. REM ========
  242.  
  243. :MENSAJE_1:: Mensaje de espera a que se termine de montar el contenedor.
  244. cls
  245. COLOR 07
  246. MODE CON COLS=40 LINES=5
  247. TITLE Espere...
  248. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  249. echo  º     Esperando al contenedor...     º
  250. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  251. goto :EOF
  252.  
  253. :MENSAJE_2:: Mensaje indicando el proceso de cierre del baul de contrasennias.
  254. cls
  255. COLOR 07
  256. MODE CON COLS=40 LINES=5
  257. TITLE Cerrando...
  258. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  259. echo  º          Cerrando ba£l...          º
  260. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  261. goto :EOF
  262.  
  263. :MENSAJE_3:: Mensaje indicando el proceso de desmonte de la unidad Calificaciones.
  264. cls
  265. COLOR 07
  266. MODE CON COLS=40 LINES=5
  267. TITLE Desmontando...
  268. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  269. echo  º      Desmontando unidad %letraCal%...       º
  270. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  271. goto :EOF
  272.  
  273. :MENSAJE_4:: Mensaje indicando el proceso de desmonte de la unidad Principal.
  274. cls
  275. COLOR 07
  276. MODE CON COLS=40 LINES=5
  277. TITLE Desmontando...
  278. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  279. echo  º      Desmontando unidad %letraTC%...       º
  280. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  281. goto :EOF
  282.  
  283. :MENSAJE_5:: Mensaje de error
  284. cls
  285. COLOR 4E
  286. MODE CON COLS=40 LINES=5
  287. TITLE Error
  288. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  289. echo  º               ERROR                º
  290. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  291. goto :EOF
  292.  
  293. :MENSAJE_6:: Mensaje indicando que no ha acabado el proceso de mostrar archivos ocultos.
  294. cls
  295. COLOR 07
  296. MODE CON COLS=40 LINES=5
  297. TITLE Espere...
  298. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  299. echo  º        Espere por favor...         º
  300. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  301. goto :EOF
  302.  
  303. :MENSAJE_7:: Mensaje indicando que ha introducido una opción invalida.
  304. cls
  305. COLOR 07
  306. MODE CON COLS=40 LINES=5
  307. TITLE Error
  308. echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  309. echo  º          Opci¢n inv lida           º
  310. echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  311. goto :EOF
  312.  
  313.  
  314.  
  315. REM ================
  316. REM CODIGO PRINCIPAL
  317. REM ================
  318.  
  319.  
  320. REM ========
  321. REM Opciones
  322. REM ========
  323.  
  324. :VERIFICACION:: Verifica si ya se monto la unidad, mostrando el menu correspondiente.
  325. if exist "%letraTC%:/" (
  326. if exist "%letraCal%:/" (
  327. TASKLIST | FIND /I "KeePass.exe">nul && goto :OPCIONES_5 || goto :OPCIONES_4)
  328. TASKLIST | FIND /I "KeePass.exe">nul && goto :OPCIONES_3 || goto :OPCIONES_2) else (goto :OPCIONES_1)
  329.  
  330. :OPCIONES_1
  331. call :MENU_1
  332. set var=1
  333. set /p var= Seleccione una opci¢n (1-6) [1]:
  334. if %var%==1 (goto :MONTAR_RO)
  335. if %var%==2 (goto :MONTAR_RW)
  336. if %var%==3 (call :MONTAR_RW && goto :MONTAR_CAL_RO)
  337. if %var%==4 (call :MONTAR_RW && goto :MONTAR_CAL_RW)
  338. if %var%==5 (call :MONTAR_RW && goto :ABRIR_BAUL)
  339. if %var%==6 (goto :OPCIONES_6)
  340. call :MENSAJE_7
  341. timeout 1 >nul
  342. goto :OPCIONES_1
  343.  
  344. :OPCIONES_2
  345. call :MENU_2
  346. set var=4
  347. set /p var= Seleccione una opci¢n (1-5) [4]:
  348. if %var%==1 (goto :MONTAR_CAL_RO)
  349. if %var%==2 (goto :MONTAR_CAL_RW)
  350. if %var%==3 (goto :ABRIR_BAUL)
  351. if %var%==4 (goto :DESMONTAR_UNIDAD_PPL)
  352. if %var%==5 (goto :OPCIONES_6)
  353. call :MENSAJE_7
  354. timeout 1 >nul
  355. goto :OPCIONES_2
  356.  
  357. :OPCIONES_3
  358. call :MENU_3
  359. set var=4
  360. set /p var= Seleccione una opci¢n (1-5) [4]:
  361. if %var%==1 (goto :MONTAR_CAL_RO)
  362. if %var%==2 (goto :MONTAR_CAL_RW)
  363. if %var%==3 (goto :CERRAR_BAUL)
  364. if %var%==4 (call :CERRAR_BAUL && goto :DESMONTAR_UNIDAD_PPL)
  365. if %var%==5 (goto :OPCIONES_6)
  366. call :MENSAJE_7
  367. timeout 1 >nul
  368. goto :OPCIONES_3
  369.  
  370. :OPCIONES_4
  371. call :MENU_4
  372. set var=3
  373. set /p var= Seleccione una opci¢n (1-4) [3]:
  374. if %var%==1 (goto :ABRIR_BAUL)
  375. if %var%==2 (goto :DESMONTAR_UNIDAD_CAL)
  376. if %var%==3 (call :DESMONTAR_UNIDAD_CAL && goto :DESMONTAR_UNIDAD_PPL)
  377. if %var%==4 (goto :OPCIONES_6)
  378. call :MENSAJE_7
  379. timeout 1 >nul
  380. goto :OPCIONES_4
  381.  
  382. :OPCIONES_5
  383. call :MENU_5
  384. set var=3
  385. set /p var= Seleccione una opci¢n (1-4) [3]:
  386. if %var%==1 (goto :CERRAR_BAUL)
  387. if %var%==2 (call :CERRAR_BAUL && goto :DESMONTAR_UNIDAD_CAL)
  388. if %var%==3 (call :CERRAR_BAUL && call :DESMONTAR_UNIDAD_CAL && goto :DESMONTAR_UNIDAD_PPL)
  389. if %var%==4 (goto :OPCIONES_6)
  390. call :MENSAJE_7
  391. timeout 1 >nul
  392. goto :OPCIONES_5
  393.  
  394. :OPCIONES_6
  395. call :MENU_6
  396. set proceder=DESISTIR
  397. set /p proceder= Por favor, confirme:
  398. if %proceder%==OK (goto :MOSTRAR_OCULTOS)
  399. goto :VERIFICACION
  400.  
  401.  
  402.  
  403. REM ========
  404. REM Acciones
  405. REM ========
  406.  
  407. :MONTAR_RO:: Montar unidad en solo lectura.
  408. START "Montar unidad RO" "%rutaTC%" /q background /l%letraTC% /e /m ro /m rm /v "%rutaArchivoTC%"
  409. goto :EOF
  410.  
  411. :MONTAR_RW:: Montar unidad en modo escritura.
  412. START "Montar unidad RW" "%rutaTC%" /q background /l%letraTC% /e /m rm /v "%rutaArchivoTC%"
  413. goto :EOF
  414.  
  415. :MONTAR_CAL_RO:: Montar unidad calificaciones en solo lectura.
  416. call :MENSAJE_1
  417. timeout 1 >nul
  418. if not exist "%letraTC%:" (goto :MONTAR_CAL_RO)
  419. START "Montar unidad calificaciones RO" "%rutaTC%" /q background /l%letraCal% /e /m ro /m rm /v "%letraTC%:\%rutaArchivoCal%"
  420. goto :EOF
  421.  
  422. :MONTAR_CAL_RW:: Montar unidad calificaciones en modo escritura.
  423. call :MENSAJE_1
  424. timeout 1 >nul
  425. if not exist "%letraTC%:" (goto :MONTAR_CAL_RW)
  426. START "Montar unidad calificaciones RW" "%rutaTC%" /q background /l%letraCal% /e /m rm /v "%letraTC%:\%rutaArchivoCal%"
  427. goto :EOF
  428.  
  429. :ABRIR_BAUL:: Abrir el baul de contrasennias.
  430. call :MENSAJE_1
  431. timeout 1 >nul
  432. if not exist "%letraTC%:" (goto :ABRIR_BAUL)
  433. START "Cerrar baul" "%letraTC%:\%rutaKP%" --exit-all
  434. START "Abrir baul" "%letraTC%:\%rutaKP%" "%letraTC%:\%rutaArchvoKP%"
  435. goto :EOF
  436.  
  437. :CERRAR_BAUL:: Cierra solo el baul de contrasennias
  438. TASKLIST | FIND /I "KeePass.exe">nul
  439. if %errorlevel%==0 (
  440. call :MENSAJE_2
  441. START "Cerrar baul" "%letraTC%:\%rutaKP%" --exit-all
  442. timeout 2 >nul
  443. )
  444. goto :EOF
  445.  
  446. :DESMONTAR_UNIDAD_CAL:: Desmonta la unidad Calificaciones.
  447. call :MENSAJE_3
  448. if exist "%letraCal%:/" ("%rutaTC%" /d%letraCal% /s /q && timeout 2 >nul)
  449. if exist "%letraCal%:/" (
  450. call :MENSAJE_5
  451. timeout 1 >nul
  452. )
  453. goto :EOF
  454.  
  455. :DESMONTAR_UNIDAD_PPL:: Desmonta la unidad Principal.
  456. call :MENSAJE_4
  457. "%rutaTC%" /d%letraTC% /s /q && timeout 1 >nul
  458. if exist "%letraTC%:/" (
  459. call :MENSAJE_5
  460. timeout 1 >nul
  461. )
  462. goto :EOF
  463.  
  464. :MOSTRAR_OCULTOS:: Muestra los archivos ocultos de la memoria usb.
  465. call :MENSAJE_6
  466. attrib /s /d -r -a -h -s
  467.  


Pueden descargar el script y unos archivos de ejemplo para que vean su funcionamiento en:
https://mega.co.nz/#!I8RU0LwY!3L4aWlIuCZbsMAYM1OsNvXdZmwRZUQfxG_zdypro7Dk
La contraseña para el volumen y el baúl es: 12345


Algunas imágenes:








Espero que les pueda resultar útil.


PD.

Agradezco a @Elektro por las pruebas y consejos.


« Última modificación: 1 Mayo 2014, 23:46 pm por cyberalejo17 » En línea

cyberalejo17

Desconectado Desconectado

Mensajes: 12



Ver Perfil
Re: [APORTE] [BATCH] Automatizar apertura de volumen y baúl cifrado v2.2
« Respuesta #1 en: 1 Mayo 2014, 23:37 pm »

Me gustaría que lo probaran y que me dieran sus opiniones al respecto. Por favor.

Qué sería aconsejable modificar para que quedara mejor (más rápido, más fácil de entender, etc).

En la versión que les compartí faltan los comentarios de las opciones del menú, pero en la versión que tengo en mi memoria usb, ya aparecen.

El archivo CYBERALEJO17-TC.tc que es el contenedor Principal, me ocupa la totalidad menos una giga de mi memoria. Es decir, si es una de 8 GB, ese archivo tendrá un tamaño de 7 GB. Hago esto para dejar algo de espacio libre para almacenar por fuera de la partición cifrada (carpeta PENDRIVE).

El otro contenedor, donde están las calificaciones de los estudiantes, no pesa mas de 2 MB.


« Última modificación: 2 Mayo 2014, 00:01 am por cyberalejo17 » En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.878



Ver Perfil
Re: [APORTE] [BATCH] Automatizar apertura de volumen y baúl cifrado v2.2
« Respuesta #2 en: 2 Mayo 2014, 08:24 am »

Las modificaciones que hiciste son excelentes, no se puede mejorar mucho más.

Pero los menus:
Citar
Código
  1.  
  2. :OPCIONES_1
  3. call :MENU_1
  4. set var=1
  5. set /p var= Seleccione una opci¢n (1-6) [1]:
  6. if %var%==1 (goto :MONTAR_RO)
  7. if %var%==2 (goto :MONTAR_RW)
  8. if %var%==3 (call :MONTAR_RW && goto :MONTAR_CAL_RO)
  9. if %var%==4 (call :MONTAR_RW && goto :MONTAR_CAL_RW)
  10. if %var%==5 (call :MONTAR_RW && goto :ABRIR_BAUL)
  11. if %var%==6 (goto :OPCIONES_6)
  12. call :MENSAJE_7
  13. timeout 1 >nul
  14. goto :OPCIONES_1

Podrías hacerlos dinámicos:
(código corregido)
Código:
:OPCIONES_1
Call :MENU_1
Set "Options={Goto :MONTAR_RO}; {Goto :MONTAR_RW}; {Call :MONTAR_RW,Goto :MONTAR_CAL_RO}; {Call :MONTAR_RW,Goto :MONTAR_CAL_RW}; {Call :MONTAR_RW,Goto :ABRIR_BAUL}; {Goto :OPCIONES_6}"
Choice.exe /C "123456" /M "Seleccione una opci¢n (1-6) [1]"
For /F "Tokens=%ErrorLevel%,* Delims=;" %%# In ('Echo "%Options%"') Do (
For /F "Tokens=2-3 Delims={,}" %%X In ('Echo "%%~#"') Do ((%%~X) && (%%~Y))
)
Call :MENSAJE_7
Timeout.exe 1 1>Nul
Goto :OPCIONES_1

REM Esto lo puse solo para testear la llamada a las etiquetas...
:MONTAR_RO
Echo MONTAR_RO
Pause&Exit

:MONTAR_RW
Echo MONTAR_RW
Exit /B 0 & REM Aquí usas un Call para llamar a este bloque, así que debes indicar un código de salida (0|1).

:MONTAR_CAL_RO
Echo MONTAR_CAL_RO
Pause&Exit
( Un pobre intento de simular un Array seteando una cadena delimitada, y poder simular también un índice de elementos del Array para poder acceder a un elemento indicando el índice con lo único que nos proporciona Batch para hacer algo semejante ...un For. )

EDITO: Añado otra solución alternativa, más simple:

Código:
SetLocal EnableDelayedExpansion & REM Necesario para expandir la(s) variable(s).

:OPCIONES_1
Call :MENU_1

Set "Choice1=Goto :MONTAR_RO"
Set "Choice2=Goto :MONTAR_RW"
Set "Choice3=Call :MONTAR_RW;Goto :MONTAR_CAL_RO"
Set "Choice4=Call :MONTAR_RW;Goto :MONTAR_CAL_RW"
Set "Choice5=Call :MONTAR_RW;Goto :ABRIR_BAUL"
Set "Choice6=Goto :OPCIONES_6"

Choice.exe /C "123456" /M "Seleccione una opci¢n (1-6) [1]"
Set /A "ChoiceIndex=%ErrorLevel%"
For /F "Tokens=1-2 Delims=;" %%X In ('Echo !Choice%ChoiceIndex%!') Do ((%%~X) && (%%~Y))

SetLocal DisableDelayedExpansion
Call :MENSAJE_7
Timeout.exe 1 1>Nul
Goto :OPCIONES_1





Citar
Qué sería aconsejable modificar para que quedara mejor (más rápido).
Para que sea más rápido debes utilizar otro lenguaje distinto, si en algo destaca Batch es por su incompetencia y lentitud.

Por ejemplo, en Batch debes usar una aplicación externa (Find.exe|Findstr.exe) para buscar patrones de cadenas en otra cadena (la salida de un comando), depender de la ejecucion y del tiempo de ejecución de otro exe y del código de salida que este mande para determinar que se encontró una cadena y/o una expresion regular ...eso ya de por si es una mier-da y es muy lento en comparación con cualquier otro lenguaje.

Además, también dependes de otras aplicaciones como 'TaskList.exe', el cual no muestra una lista de procesos en Tiempo Real, por propia experiencia te puedo decir que a veces el comando tiene una demora de 10-15 segundos en actualizar la lista de procesos para mostrar el proceso que andas buscando, así que para obtener mayor eficacia en Batch podrías hacer una Query a las Classes de WMI utilizando (de nuevo) una aplicación externa, WMIC:

Ej:
Código:
( WMIC.exe Process Where Name='KeyPass.exe' Get /Format:List | Find.exe "=" )1>NUL 2>&1 && (...) || (...)

...en cualquier otro lenguaje no necesitarías depender de ningún exe para verificar si un proceso está corriendo, podrías usar las Classes de WMI diréctamente, lo cual es más rápido sin duda.

Como ya digo, tu Batch-Script no se puede mejorar mucho más, así está perfecto aunque le hagas alguna que otra pequeña modificación como las que he comentado.

¡Saludos!
« Última modificación: 2 Mayo 2014, 09:22 am por Eleкtro » En línea



cyberalejo17

Desconectado Desconectado

Mensajes: 12



Ver Perfil
Re: [APORTE] [BATCH] Automatizar apertura de volumen y baúl cifrado v2.2
« Respuesta #3 en: 2 Mayo 2014, 22:19 pm »

Muchas gracias!

Lo que comentas por el momento es desconocido para mi, así que ya tengo tarea.

De nuevo, gracias.


EDITO:
Una pregunta, cambiando los menús por choise, todavía conservo la particularidad de la opción por defecto? que es lo que está como [1] en las opciones. Es decir, que no necesito escribir una opción (1-6), sino con sólo dar enter, sin haber introducido un número, se va a esa opción.

Se me ocurrió una nueva modificación, añadir la opción de extraer de forma automática la memoria USB cuando termine de desmontar y cerrar todas las unidades cifradas.
Por ahora sólo he encontrado que puedo hacerlo con aplicaciones externas.
http://quickandeasysoftware.net/software/usb-disk-ejector
Utilizando el parámetro /REMOVETHIS
« Última modificación: 2 Mayo 2014, 22:24 pm por cyberalejo17 » En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.878



Ver Perfil
Re: [APORTE] [BATCH] Automatizar apertura de volumen y baúl cifrado v2.2
« Respuesta #4 en: 3 Mayo 2014, 00:30 am »

cambiando los menús por choise, todavía conservo la particularidad de la opción por defecto? que es lo que está como [1] en las opciones. Es decir, que no necesito escribir una opción (1-6), sino con sólo dar enter, sin haber introducido un número, se va a esa opción.

El comando Choice espera un UserInput (la interacción por parte del usuario) para seleccionar una opción entre las opciones que especificaste,
por lo tanto no hay lugar para predefinir una opción porque el comando obliga a que una de las opciones se deba elegir...
...a menos que especifiques un tiempo de espera máximo y entonces si que puedes especificar también la opción por defecto al terminar el tiempo de espera.

Lee la ayuda del comando.

Cita de: Choice.exe /?
  /T   tiempo de espera  Número de segundos de pausa antes de que se elija
                       una opción predeterminada. Los valores permitidos
                       están comprendidos entre 0 y 9999. Si se especifica
                       0, no habrá pausa y se seleccionará la opción
                       predeterminada.

   /D   opción            Especifica la opción predeterminada después de nnnn
                       segundos. Carácter debe estar en el conjunto
                       especificado de opciones por la opción /C y también
                       debe especificarse nnnn con /T.

Ejemplo:
Código
  1. Choice.exe /C "123" /M "Elige" /T 10 /D "3"
  2. (Echo %ErrorLevel%) & REM Resultado: '3'



Citar
añadir la opción de extraer de forma automática la memoria USB cuando termine de desmontar y cerrar todas las unidades cifradas.
Por ahora sólo he encontrado que puedo hacerlo con aplicaciones externas.

Nunca me he interesado por saber como "extraer" un dispositivo extraible de forma automatizada, pero si has encontrado un programa de terceros capaz de hacerlo eso significa que la API de Windows así se lo permite, así que debe haber alguna función en la WinAPI para hacerlo, desconozco cual ...pero la WinAPI olvídate de poder tocarla en Batch.

EDITO: Lo encontré: CM_Request_Device_Eject function + Info, de hecho según he leido en este source esa es la función que utiliza la aplicación 'USBEject' que mencionaste.
Es muchísimo más dificil de lo que parece en un principio, hay que usar drivers, si esta fuera la única solución entonces preferiría depender de ese tal "USBEject".

También se me ocurre que quizás en alguna Class (referente a los dispositivos extraibles y/o volúmenes) de WMI puedas invocar el comando (el cual desconozco el nombre, pero debería ser algo como "Eject/Extract") de ejecución del dispositivo (InvokeVerb("Eject")), eso sería más viable porque si encuentras información al respecto entonces puedes reproducirlo en Batch usando el comando WMIC.

EDITO: Encontré algo parecido, escrito en PowerShell:
Citar
Código:
$driveEject = New-Object -comObject Shell.Application
$driveEject.Namespace(17).ParseName("E:").InvokeVerb("Eject")
Fuente: http://sushihangover.blogspot.nl/2012/02/powershell-eject-local-or-remote.html

Y lo mismo para VBS:
Citar
Código
  1. For Each d in CreateObject("Scripting.FileSystemObject").Drives
  2. CreateObject("Shell.Application").Namespace(17).ParseName("E:\").InvokeVerb("Eject")
  3. Next
Fuente: http://forums.mydigitallife.info/threads/29412-VBScript-Fast-eject-disk-on-drives

...Se supone que el comando "Eject" sirve tanto para ejecutar CD-Roms como para extraer unidades extraibles, se supone.

Y como última alternativa, con este comando puedes mostrar la ventana de extracción de dispositivos extraibles:
Código
  1. rundll32.exe shell32.dll,Control_RunDLL hotplug.dll, @SystemDir

Saludos.
« Última modificación: 3 Mayo 2014, 00:44 am por Eleкtro » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[ayuda] automatizar tareas (BATCH) « 1 2 3 »
Scripting
guidosl 25 16,226 Último mensaje 20 Agosto 2009, 14:33 pm
por alwaysrockero
Problema con apertura en batch
Scripting
xpaRtanus 2 3,483 Último mensaje 11 Abril 2013, 17:05 pm
por xpaRtanus
[APORTE] [BATCH] Acentos en los programas Batch - La mejor solución
Scripting
Príncipe_Azul 5 13,135 Último mensaje 2 Mayo 2014, 00:09 am
por cyberalejo17
[URGE] Desaparición de un volumen cifrado
Windows
descargar2 1 2,812 Último mensaje 11 Junio 2018, 22:48 pm
por Machacador
[Aporte] Funciones para Cifrado Vernan. Cifrado Simétrico(con clave).
PHP
@XSStringManolo 1 2,393 Último mensaje 5 Octubre 2019, 20:37 pm
por e
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines