Inicio Apuntes FPApuntes DAM Crear un menú con un archivo .bat para ejecutar en Windows

Crear un menú con un archivo .bat para ejecutar en Windows

Un revival de otra época

Publicado por entreunosyceros

Una vez más aquí. En el siguiente artículo vamos a ver algo que un profesor que estoy teniendo, nos ha mandado hacer. Yo creo que el hombre ha tenido un revival de otros años, y nos ha pedido (entre otras cosas) crear un menú en un archivo .bat para ejecutar desde Windows. He de decir que hacía como 20 años que no hacía nada en archivos por lotes, pero ha sido agradable (aun que poco práctico en los días que corren, me parece a mi). Por eso, en las siguientes líneas vamos a ver un pequeño código en lenguaje Batch. Este va a permitir a cualquier usuario crear un menú con un archivo .bat y realizar ciertas acciones según la opción seleccionada.

Con esta herramienta, el usuario podrá acceder rápidamente a diferentes sitios web, realizar búsquedas en Google, administrar tareas de mantenimiento del sistema (Windows) y alguna otra cosa más.

El código presentado a continuación es un archivo de lote en lenguaje Batch, que se ejecuta en la línea de comandos de Windows. El objetivo principal (y único) es proporcionar un menú interactivo al usuario, donde se presentan varias opciones de búsqueda y mantenimiento del sistema. El código utiliza comandos y estructuras básicas de Batch, lo que lo hace fácil de entender y modificar según las necesidades de cada uno.

Crear un menú con un archivo .bat

Como decía líneas más arriba, este código muestra un menú personalizado, desde el cual podremos seleccionar algunas tareas diarias comunes de los usuarios de Windows. Tengo que decir que no todas funcionan, por que me cansé de escribir código y no quise o no pude buscar solución … quizás algún día me ponga con ello.

El código para generar este menú es el siguiente:

@echo off
Title Buscador Personalizado
::Para que formaté en UTF8
chcp 65001 > nul

::Colores de la terminal
::color 0A
color 0E

:: Menú principal
:buscador
cls
echo ====================================
echo ======== Menú Personalizado ========
echo ====================================
echo.
echo ¿Qué quieres hacer?
echo.
echo 1. Ir a entreunosyceros.
echo.
echo 2. Internet
echo.
echo 3. Temporizador para apagar el equipo.
echo.
echo 4. Mantenimiento del sistema.
echo.
echo 5. Salir del Buscador.
echo.
echo.
echo.

set /p opcion=Escribe el número de opción y pulsa INTRO: 

if "%opcion%"=="1" goto MiWeb
if "%opcion%"=="2" goto Internet
if "%opcion%"=="3" goto Temporizador
if "%opcion%"=="4" goto Mantenimiento
if "%opcion%"=="5" goto Salir
goto error

:MiWeb
cls
start https://entreunosyceros.net/
goto buscador

:Temporizador
cls
echo Elige en cuánto tiempo quieres apagar tu PC.
set /p tiempo=En cuanto tiempo quieres apagar este equipo (en segundos): 
echo Gracias... ahora pulsa cualquier tecla para ver el resultado.
shutdown -s -t %tiempo% -c "Tu PC se va a apagar"
pause >nul
goto buscador

:Salir
cls
exit

::Opción de mantenimiento
:Mantenimiento
cls
echo ===============================
echo == Mantenimiento del sistema ==
echo ===============================
echo.
echo 6. Limpiar archivos temporales.
echo.
echo 7. Verificar y reparar errores del disco.
echo.
echo 8. Actualizar Windows.
echo.
echo 9. Ver la versión de Windows y datos del sistema.
echo.
echo 10. Ver el administrador de dispositivos.
echo.
echo 11. Tareas programadas de Windows.
echo.
echo 12. Configuración rápida de Windows.
echo.
echo 13. Realizar una copia de seguridad del sistema.
echo.
echo 14. Restaurar el sistema a un punto anterior.
echo.
echo 15. Desfragmentar el disco duro.
echo.
echo 16. Realizar un escaneo de seguridad.
echo.
echo 17. Administrar servicios del sistema.
echo.
echo 18. Limpiar el Registro de Windows.
echo.
echo 19. Administrar programas de inicio.
echo.
echo 20. Verificar la integridad de archivos del sistema.
echo.
echo 21. Realizar un análisis de disco en busca de sectores defectuosos.
echo.
echo 22. Volver al Buscador (primera página).
echo.
set /p opcion=Escribe el número de opción y pulsa INTRO: 


if "%opcion%"=="6" goto LimpiarTemp
if "%opcion%"=="7" goto VerificarDisco
if "%opcion%"=="8" goto ActualizarWindows
if "%opcion%"=="9" goto Winver
if "%opcion%"=="10" goto AdmDis
if "%opcion%"=="11" goto TarePro
if "%opcion%"=="12" goto ConfigSys
if "%opcion%"=="13" goto CopiaSeguridad
if "%opcion%"=="14" goto RestaurarSistema
if "%opcion%"=="15" goto Desfragmentar
if "%opcion%"=="16" goto EscaneoSeguridad
if "%opcion%"=="17" goto AdminServicios
if "%opcion%"=="18" goto LimpiarRegistro
if "%opcion%"=="19" goto AdminProgramasInicio
if "%opcion%"=="20" goto VerificarIntegridad
if "%opcion%"=="21" goto AnalisisDisco
if "%opcion%"=="22" goto buscador
goto error

:LimpiarTemp
cls
echo Realizando limpieza de archivos temporales...

rem Comando para limpiar archivos temporales en Windows
echo Limpiando archivos temporales...
del /q /s %TEMP%\*.*

rem Comando para limpiar archivos temporales de Internet Explorer
echo Limpiando archivos temporales de Internet Explorer...
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8

rem Comando para limpiar archivos temporales de Windows Update
echo Limpiando archivos temporales de Windows Update...
RunDll32.exe DismApi.dll, DiskCleanup

echo Limpieza de archivos temporales completada.
pause
goto Mantenimiento

:VerificarDisco
cls
echo Verificando y reparando errores del disco...

rem Comando para verificar y reparar errores en el disco C:
echo Verificando y reparando errores en el disco C:
chkdsk C: /f /r /x

rem Comando para verificar y reparar errores en el disco D:
echo Verificando y reparando errores en el disco D:
chkdsk D: /f /r /x

echo Verificación y reparación de errores del disco completada.
pause
goto Mantenimiento

:ActualizarWindows
cls
echo Verificando actualizaciones de Windows...

rem Comando para verificar actualizaciones de Windows
echo Verificando actualizaciones...
wuauclt /detectnow /updatenow

echo Verificación y actualización de Windows completada.
pause
goto Mantenimiento

:Winver
cls
echo Estamos en %CD%
systeminfo
pause
goto Mantenimiento

:AdmDis
cls
diskmgmt.msc 
goto Mantenimiento

:TarePro
cls
control schedtasks
goto Mantenimiento

:ConfigSys
cls
msconfig
goto Mantenimiento

:CopiaSeguridad
cls
echo Realizando copia de seguridad del sistema...

echo Por favor, conecta el disco externo o USB para realizar la copia de seguridad.
echo.
echo Asegúrate de que el disco tenga suficiente espacio disponible y esté formateado correctamente.
echo.
pause

rem Cambia la siguiente línea con el comando necesario para copiar los archivos a la ubicación deseada.
rem xcopy /s /e /c /i /h C:\Datos D:\CopiaSeguridad

echo Copia de seguridad completada.
pause
goto Mantenimiento

:RestaurarSistema
cls
echo Restaurando el sistema a un punto anterior...

rem Coloca aquí los comandos necesarios para restaurar el sistema a un punto anterior
rem systemrestore /restorepoint "Nombre del punto de restauración"

echo Restauración completada.
pause
goto Mantenimiento

:Desfragmentar
cls
echo Desfragmentando el disco duro...

rem Coloca aquí los comandos necesarios para desfragmentar el disco duro
defrag C: /r /w

echo Desfragmentación completada.
pause
goto Mantenimiento

:EscaneoSeguridad
cls
echo Realizando escaneo de seguridad...

rem Coloca aquí los comandos necesarios para realizar un escaneo de seguridad
rem antivirus.exe --scan --full

echo Escaneo de seguridad completado.
pause
goto Mantenimiento

:AdminServicios
cls
echo Administrando servicios del sistema...

rem Coloca aquí los comandos necesarios para administrar los servicios del sistema
rem net start "Nombre del servicio" / net stop "Nombre del servicio" / net restart "Nombre del servicio"

echo Administración de servicios completada.
pause
goto Mantenimiento

:LimpiarRegistro
cls
echo Limpiando el Registro de Windows...

rem Coloca aquí los comandos necesarios para limpiar el Registro de Windows
rem regedit /s "ruta_al_archivo_de_limpieza.reg"

echo Limpieza del Registro completada.
pause
goto Mantenimiento

:AdminProgramasInicio
cls
echo Administrando programas de inicio...

rem Coloca aquí los comandos necesarios para administrar los programas de inicio
msconfig /launch

echo Administración de programas de inicio completada.
pause
goto Mantenimiento

:VerificarIntegridad
cls
echo Verificando la integridad de archivos del sistema...

rem Coloca aquí los comandos necesarios para verificar la integridad de archivos del sistema
sfc /scannow

echo Verificación de integridad completada.
pause
goto Mantenimiento

:AnalisisDisco
cls
echo Realizando análisis de disco en busca de sectores defectuosos...

rem Coloca aquí los comandos necesarios para realizar un análisis de disco
chkdsk C: /f /r /x

echo Análisis de disco completado.
pause
goto Mantenimiento


::Opción de internet
:Internet
cls
echo ==============================
echo ==== Opciones de internet ====
echo ==============================
echo.
echo 23. Buscar en Google.
echo.
echo 24. Buscar Imágenes en Google.
echo.
echo 25. Ver las Noticias en Google.
echo.
echo 26. Ir a Grupos en Google.
echo.
echo 27. Búsqueda de Libros en Google.
echo.
echo 28. Classroom de google.
echo.
echo 29. Volver al Buscador (primera página).
echo.

set /p opcion=Escribe el número de opción y pulsa INTRO: 
 

if "%opcion%"=="23" goto busquedaWeb
if "%opcion%"=="24" goto Imagenes
if "%opcion%"=="25" goto Noticias
if "%opcion%"=="26" goto Grupos
if "%opcion%"=="27" goto Libros
if "%opcion%"=="28" goto Classroom
if "%opcion%"=="29" goto buscador

:busquedaWeb
cls
set /p "criterio=Buscar en Google: "

rem Elimina los espacios adicionales del criterio de búsqueda
set "criterio=%criterio: =%"

if not defined criterio (
    echo El criterio de búsqueda está vacío. Por favor, ingresa un criterio válido.
    pause
    goto Internet
)

echo Abriendo resultados de búsqueda para "%criterio%"...
start "Búsqueda en Google" "https://www.google.com/search?q=%criterio%"

pause
goto Internet

:Imagenes
cls
set /p "criterio=Buscar imágenes en Google: "
if not defined criterio (
    echo El criterio de búsqueda está vacío. Por favor, ingresa un criterio válido.
    pause
    goto Internet
)
echo Abriendo resultados de búsqueda de imágenes para "%criterio%"...
start "Búsqueda de imágenes en Google" "https://www.google.com/search?tbm=isch&q=%criterio%"
goto Internet

:Noticias
cls
set /p "criterio=Buscar noticias en Google: "
if not defined criterio (
    echo El criterio de búsqueda está vacío. Por favor, ingresa un criterio válido.
    pause
    goto Internet
)
echo Abriendo resultados de búsqueda de noticias para "%criterio%"...
start "Noticias en Google" "https://news.google.com/search?q=%criterio%"
goto Internet

:Grupos
cls
set /p "criterio=Buscar grupos en Google: "
if not defined criterio (
    echo El criterio de búsqueda está vacío. Por favor, ingresa un criterio válido.
    pause
    goto Internet
)
echo Abriendo resultados de búsqueda de grupos para "%criterio%"...
start "Grupos en Google" "https://groups.google.com/search?q=%criterio%"
goto Internet

:Libros
cls
set /p "criterio=Buscar libros en Google: "
if not defined criterio (
    echo El criterio de búsqueda está vacío. Por favor, ingresa un criterio válido.
    pause
    goto Internet
)
echo Abriendo resultados de búsqueda de libros para "%criterio%"...
start "Búsqueda de libros en Google" "https://books.google.com/books?q=%criterio%"
goto Internet

:Classroom
cls
start "Google Classroom" "https://classroom.google.com/"
goto Internet

:error
cls
echo La opción elegida no existe. Prueba con otra. Gracias.
pause >nul
goto buscador

Al ejecutar el código, se muestra un menú principal donde se presentan varias opciones como el que se muestra en la siguiente captura de pantalla.

crear un menú con un archivo .bat

Descripción del código

El código que acabamos de ver, está escrito en lenguaje de script por lotes (batch) y es compatible con sistemas operativos Windows. A continuación, se presenta una descripción general de las principales características y funciones del código:

  • Menú principal: Al ejecutar el programa, este nos va a mostrar en el cmd un menú principal que permitirá elegir entre varias opciones.
  • Acceso rápido a un sitio web: La opción «Ir a entreunosyceros» te lleva directamente a «https://entreunosyceros.net/«.
  • Temporizador para apagar el equipo: La opción «Temporizador para apagar el equipo» permite al usuario establecer un tiempo en segundos para apagar automáticamente el equipo. Después de escribir el tiempo (en segundos), se muestra una confirmación, para pasar a apagar el sistema después del tiempo especificado.
opciones de mantenimiento en Windows
  • Mantenimiento del sistema: La opción «Mantenimiento del sistema» te proporciona una variedad de herramientas y opciones para realizar tareas de mantenimiento del sistema, como limpiar archivos temporales, verificar y reparar errores del disco, actualizar Windows, ver la versión de Windows y datos del sistema, administrar dispositivos, configurar tareas programadas, realizar copias de seguridad y más.
opciones de internet
  • Búsqueda en Internet: La opción «Internet» brinda acceso a varias opciones de búsqueda en Google. Entre ellas se incluyen la búsqueda web, la búsqueda de imágenes, la búsqueda de noticias, la búsqueda de grupos y la búsqueda de libros. Además de abrir directamente los classroom de google.
  • Manejo de errores: El código también incluye una función de manejo de errores para garantizar que se elija una opción válida en el menú principal y en los submenús.

Uso del código

Para utilizar este buscador personalizado, simplemente pega el código aquí mostrado dentro de un archivo .bat. Después de guardar el archivo, tan solo habrá que ejecutarlo (haciendo doble clic sobre este) en un sistema operativo Windows. A continuación, se mostrará un menú principal con varias opciones. Escribe el número correspondiente a la opción deseada y presiona Enter para seleccionarla.

Cada opción debería guiar al usuario a través de los pasos necesarios para completar la tarea seleccionada. Aun que vuelvo a decir que algunos de las opciones de Mantenimiento del Sistema, no van a funcionar, por que no he tenido tiempo de investigarlas un poco más para hacerlas funcionar correctamente desde un archivo bat. Las que si funcionan, son tan fáciles de utilizar que tan solo habrá que seguir las instrucciones en pantalla y utiliza las teclas numéricas y la tecla INTRO para interactuar con este código

Repositorio en GitHub

Como comenté al comienzo del artículo, esto no es más que un ejercicio básico que el profesor mandó hacer en clase (supongo que sus motivos tendría … a saber). Este código puede ser personalizado y ampliado según las necesidades del usuario de turno. Resulta muy sencillo añadir más opciones al menú principal, incluir nuevos sitios web o funciones de mantenimiento del sistema. Además de ajustas ajustar los comandos existentes según las preferencias de cada usuario.

Si por el motivo que sea, no puedes copiar el código desde este sitio web, también podrás descargarlo completo desde el repositorio en GitHub al que lo he subido.

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.