¿A propósito del script, que te parece?
Pues, dejando a un lado las florituras (el diseño de los menus y tal) y centrándome en la parte importante que se debe tener más en cuenta, es decir, en el código, la forma en que lo has desarrollado, y su funcionalidad, debo decir que me parece un muy buen Script.
Para ser Batch lo hiciste bastante bien, con varios detalles y se nota que le pusiste empeño al hacerlo, está muy bien, lo que más puedo valorar del Script es que lo documentaste.
Por otro lado, no quiero ponerme a sacar muchos defectos (o mejoras) porque siempre puedo acabar sacando una docena de ellos xD, pero veamos... te comentaré algunos aspectos importantes a tener en cuenta:
1. En muchas ocasiones no haces uso de las comillas dobles para encerrar variables ni expresiones, así como tampoco haces ningún uso de los operadores de agrupación
(), eso es una mala costumbre que debes corregir, ya que en ciertas circunstancias esto ocasionará errores indeseados, y también es una mejora a la sintaxis de tu Script y dará una mayor libertad si quieres concatenar instrucciones.
Por ejemplo, esta ruta que contiene espacios en el nombre:
set rutaTC=%programfiles%\TrueCrypt\TrueCrypt.exe
Correción:
set "rutaTC=%programfiles%\TrueCrypt\TrueCrypt.exe"
Y aquí:
if not exist "%letraTC%:\%rutaArchvoKP%" goto :MONTAR_RW_var2
Correción:
if not exist "%letraTC%:\%rutaArchvoKP%" (goto :MONTAR_RW_var2)
2. Esto quizás dependa más de gustos y del concepto que cada persona tenga sobre la organización, pero en mi opinión el código se puede organizarm mejor ...podrías separar los menus y otros mensajes, del código funcional, por ejemplo:
REM =====
REM MENUS
REM =====
:
Menu1:: Menu
con las opciones para montar unidad.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo º 1
) S¢lo lectura úúúúúúúúúúúº Monta la unidad principal en modo RO
(defecto
) º
echo º 2
) Escritura úúúúúúúúúúúúúúº Monta la unidad principal en modo RW º
echo º 3
) Abrir ba£l úúúúúúúúúúúúúº Monta la unidad principal en modo RW e inicia el º
echo º º ba£l de contrase¤as º
echo º 4
) Mostrar archivos ocultosº Mostrar las carpetas ocultas en la memoria º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
:
Menu2:: Menu
con las opciones para desmontar la unidad
...
:Menu3:: Advierte el preligro de la ejecucion de attrib.
...
REM ==============
REM CÓDIGO PRINCIPAL
REM ==============
REM Resto del código...
:MENU_NOT_EXIST
cls
set /p var= Seleccione una opci¢n
(1-4
) [1]:
if %var%==4
goto :
MOSTRAR_ADVERTENCIA
REM Resto del código...
3. Deberías reemplazar el comando '
Set /P' por el comando '
Choice' para evitar respuestas erroneas (1-4) (aunque las estés controlando de forma básica con una llamada a una etiqueta)
Choice /C "1234" /M "Seleccione una opci¢n"
Saludos.