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
@ECHO OFF :: Name: Abrir_USB.cmd :: Author: CyberAlejo17 :: Description: Script para abrir una memoria USB cifrada y un baul de contrasennias. :: Version: 2.2 :: Tree: :: F:\ :: | Abrir_USB.cmd :: | :: +---PENDRIVE :: \---TC :: | CYBERALEJO17-TC.tc :: | truecrypt-x64.sys :: | TrueCrypt.exe :: | truecrypt.sys :: | :: \---setup :: TrueCrypt Setup 7.1a.exe :: T:\ :: | :: +---PERSONAL :: | \---Seguridad :: | | PasswdDatabase.kdbx :: | | :: | \---Software :: | | KeePass.chm :: | | KeePass.config.xml :: | | KeePass.exe :: | | KeePass.XmlSerializers.dll :: | | KeePassLibC32.dll :: | | KeePassLibC64.dll :: | | ShInstUtil.exe :: | | :: | \---XSL :: | KDBX_DetailsFull.xsl :: | KDBX_DetailsLite.xsl :: | KDBX_PasswordsOnly.xsl :: | KDBX_Styles.css :: | KDBX_Tabular.xsl :: | TableHeader.gif :: | :: \---UNIVERSIDAD :: \---Cursos 2014-1 :: CALIFICACIONES-TC.tc REM ========= REM VARIABLES REM ========= :: Ruta de la aplicacion TrueCrypt. set rutaTC=TC\TrueCrypt.exe :: Letra que va a tomar la unidad Principal. set letraTC=T :: Letra que va a tomar la unidad Calificaciones. set letraCal=U :: Ruta de la aplicacion KeePass dentro de la unidad Principal. set rutaKP=PERSONAL\Seguridad\Software\KeePass.exe :: Ruta del archivo cifrado de la unidad Principal. set rutaArchivoTC=TC\CYBERALEJO17-TC.tc :: Ruta del archivo cifrado de la unidad Calificaciones. set rutaArchivoCal=UNIVERSIDAD\Cursos 2014-1\CALIFICACIONES-TC.tc :: Ruta del baul de contrasennias. set rutaArchvoKP=PERSONAL\Seguridad\PasswdDatabase.kdbx REM ====== REM INICIO REM ====== :: Nos lleva a la seleccion del menu adecuado. goto :VERIFICACION REM ============== REM CODIGO GRAFICO REM ============== REM ===== REM Menus REM ===== :MENU_1:: Menu inicial. Es posible montar las unidades y abrir el baul. cls COLOR 07 MODE CON COLS=85 LINES=26 TITLE Abrir USB echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Abrir USB º echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ echo º º º echo º TC Principal º º echo º 1) S¢lo lectura úúúúúúúúúúúº Monta la unidad principal en modo RO º echo º 2) Escritura úúúúúúúúúúúúúúº Monta la unidad principal en modo RW º echo º º º echo º TC Calificaciones º º echo º 3) S¢lo lectura úúúúúúúúúúúº Monta la unidad principal en modo RW y la unidad º echo º º calificaciones el modo RO º echo º 4) Escritura úúúúúúúúúúúúúúº Monta la unidad principal en modo RW y la unidad º echo º º calificaciones el modo RW º echo º º º echo º Ba£l º º echo º 5) Abrir ba£l úúúúúúúúúúúúúº Monta la unidad principal en modo RW e inicia el º echo º º ba£l de contrase¤as º echo º º º echo º Extras º º echo º 6) Mostrar archivos ocultosº Mostrar las carpetas ocultas en la memoria º echo º º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. goto :EOF :MENU_2:: Ya ha sido montada la unidad Principal. Permite montar la unidad Calificaciones, abrir el baul y desmontar unidades. cls COLOR 07 MODE CON COLS=85 LINES=23 TITLE Abrir USB echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Abrir USB º echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ echo º º º echo º TC Calificaciones º º echo º 1) S¢lo lectura úúúúúúúúúúúº Monta la unidad calificaciones en modo RO º echo º 2) Escritura úúúúúúúúúúúúúúº Monta la unidad calificaciones en modo RW º echo º º º echo º Ba£l º º echo º º º echo º Cierre º º echo º º º echo º Extras º º echo º 5) Mostrar archivos ocultosº Mostrar las carpetas ocultas en la memoria º echo º º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. goto :EOF :MENU_3:: Ya ha sido montada la unidad Principal y abierto el baul. Permite montar la unidad Calificaciones, desmontar unidades y cerrar todo. cls COLOR 07 MODE CON COLS=85 LINES=21 TITLE Abrir USB echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Abrir USB º echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ echo º º º echo º TC Calificaciones º º echo º 1) S¢lo lectura úúúúúúúúúúúº Monta la unidad calificaciones en modo RO º echo º 2) Escritura úúúúúúúúúúúúúúº Monta la unidad calificaciones en modo RW º echo º º º echo º Cierre º º echo º 3) Cerrar ba£l úúúúúúúúúúúúº Cierra todos los ba£les º echo º 4) Cerrar y desmontar todo º Cierra los ba£les y desmonta todas las unidades º echo º º º echo º Extras º º echo º 5) Mostrar archivos ocultosº Mostrar las carpetas ocultas en la memoria º echo º º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. goto :EOF :MENU_4:: Ya ha sido montada la unidad Principal y Calificaciones. Permite abrir el baul y desmontar unidades. cls COLOR 07 MODE CON COLS=85 LINES=19 TITLE Abrir USB echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Abrir USB º echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ echo º º º echo º Ba£l º º echo º º º echo º Cierre º º echo º 3) Desmontar unidades úúúúúº Desmonta todas las unidades montadas previamente º echo º º º echo º Extras º º echo º 4) Mostrar archivos ocultosº Mostrar las carpetas ocultas en la memoria º echo º º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. goto :EOF :MENU_5:: Se ha montado la unidad Principal, Calificaciones y abierto el baul. Menu con las opciones para cerrar baul y desmontar unidades. cls COLOR 07 MODE CON COLS=85 LINES=18 TITLE Abrir USB echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Abrir USB º echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ echo º º º echo º Cierre º º echo º 1) Cerrar ba£l úúúúúúúúúúúúº Cierra todos los ba£les º echo º º Calificaciones º echo º 3) Cerrar y desmontar todo º Cierra los ba£les y desmonta todas las unidades º echo º º º echo º Extras º º echo º 4) Mostrar archivos ocultosº Mostrar las carpetas ocultas en la memoria º echo º º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. goto :EOF :MENU_6:: Advierte del preligro de la ejecucion de attrib. cls COLOR 4E MODE CON COLS=85 LINES=25 TITLE=Mostrar archivos y carpetas ocultas echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Mostrar archivos ocultos º echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ echo º º º echo º +*+ º º echo º +* *+ º º echo º +* *+ º º echo º +* ** *+ º º echo º +* ** *+ º º echo º +* * *+ º º echo º +* *+ º Escriba: º echo º +* ** *+ º º echo º +* ** *+ º º echo º +* *+ º º echo º *********************** º º echo º + + + + + + + + + + + º OK º echo º º º echo º A D V E R T E N C I A º º echo º º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. goto :EOF REM ======== REM Mensajes REM ======== :MENSAJE_1:: Mensaje de espera a que se termine de montar el contenedor. cls COLOR 07 MODE CON COLS=40 LINES=5 TITLE Espere... echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Esperando al contenedor... º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ goto :EOF :MENSAJE_2:: Mensaje indicando el proceso de cierre del baul de contrasennias. cls COLOR 07 MODE CON COLS=40 LINES=5 TITLE Cerrando... echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Cerrando ba£l... º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ goto :EOF :MENSAJE_3:: Mensaje indicando el proceso de desmonte de la unidad Calificaciones. cls COLOR 07 MODE CON COLS=40 LINES=5 TITLE Desmontando... echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ goto :EOF :MENSAJE_4:: Mensaje indicando el proceso de desmonte de la unidad Principal. cls COLOR 07 MODE CON COLS=40 LINES=5 TITLE Desmontando... echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ goto :EOF :MENSAJE_5:: Mensaje de error cls COLOR 4E MODE CON COLS=40 LINES=5 TITLE Error echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º ERROR º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ goto :EOF :MENSAJE_6:: Mensaje indicando que no ha acabado el proceso de mostrar archivos ocultos. cls COLOR 07 MODE CON COLS=40 LINES=5 TITLE Espere... echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Espere por favor... º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ goto :EOF :MENSAJE_7:: Mensaje indicando que ha introducido una opción invalida. cls COLOR 07 MODE CON COLS=40 LINES=5 TITLE Error echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Opci¢n inv lida º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ goto :EOF REM ================ REM CODIGO PRINCIPAL REM ================ REM ======== REM Opciones REM ======== :VERIFICACION:: Verifica si ya se monto la unidad, mostrando el menu correspondiente. :OPCIONES_1 call :MENU_1 set var=1 call :MENSAJE_7 timeout 1 >nul goto :OPCIONES_1 :OPCIONES_2 call :MENU_2 set var=4 call :MENSAJE_7 timeout 1 >nul goto :OPCIONES_2 :OPCIONES_3 call :MENU_3 set var=4 call :MENSAJE_7 timeout 1 >nul goto :OPCIONES_3 :OPCIONES_4 call :MENU_4 set var=3 call :MENSAJE_7 timeout 1 >nul goto :OPCIONES_4 :OPCIONES_5 call :MENU_5 set var=3 call :MENSAJE_7 timeout 1 >nul goto :OPCIONES_5 :OPCIONES_6 call :MENU_6 set proceder=DESISTIR set /p proceder= Por favor, confirme: goto :VERIFICACION REM ======== REM Acciones REM ======== :MONTAR_RO:: Montar unidad en solo lectura. START "Montar unidad RO" "%rutaTC%" /q background /l%letraTC% /e /m ro /m rm /v "%rutaArchivoTC%" goto :EOF :MONTAR_RW:: Montar unidad en modo escritura. START "Montar unidad RW" "%rutaTC%" /q background /l%letraTC% /e /m rm /v "%rutaArchivoTC%" goto :EOF :MONTAR_CAL_RO:: Montar unidad calificaciones en solo lectura. call :MENSAJE_1 timeout 1 >nul START "Montar unidad calificaciones RO" "%rutaTC%" /q background /l%letraCal% /e /m ro /m rm /v "%letraTC%:\%rutaArchivoCal%" goto :EOF :MONTAR_CAL_RW:: Montar unidad calificaciones en modo escritura. call :MENSAJE_1 timeout 1 >nul START "Montar unidad calificaciones RW" "%rutaTC%" /q background /l%letraCal% /e /m rm /v "%letraTC%:\%rutaArchivoCal%" goto :EOF :ABRIR_BAUL:: Abrir el baul de contrasennias. call :MENSAJE_1 timeout 1 >nul START "Cerrar baul" "%letraTC%:\%rutaKP%" --exit-all START "Abrir baul" "%letraTC%:\%rutaKP%" "%letraTC%:\%rutaArchvoKP%" goto :EOF :CERRAR_BAUL:: Cierra solo el baul de contrasennias call :MENSAJE_2 START "Cerrar baul" "%letraTC%:\%rutaKP%" --exit-all timeout 2 >nul ) goto :EOF :DESMONTAR_UNIDAD_CAL:: Desmonta la unidad Calificaciones. call :MENSAJE_3 call :MENSAJE_5 timeout 1 >nul ) goto :EOF :DESMONTAR_UNIDAD_PPL:: Desmonta la unidad Principal. call :MENSAJE_4 call :MENSAJE_5 timeout 1 >nul ) goto :EOF :MOSTRAR_OCULTOS:: Muestra los archivos ocultos de la memoria usb. call :MENSAJE_6 attrib /s /d -r -a -h -s
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.