Tabla de contenido
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.

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.

- 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.

- 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.