Está en la página 1de 5

Scripts en Windows

Los scripts son programas simples (por lo general) que te permiten automatizar tareas. Los scripts son interpretados por el Sistema Operativo lnea por lnea, y en el caso de Windows, son conocidos como archivos batch, cuya extensin es .bat. Para este tutorial he hecho un nico script que engloba una pequea parte de las posibilidades que ofrece batch en combinacin con los comandos de Windows. Os explicar qu hace. Adems he resaltado con colores las distintas partes para que sea ms sencillo distinguirlas (he seguido el sistema de colores que usa Notepad++ para archivos batch). No uso acentos por que los caracteres acentuados no aparecen correctamente en la consola. El script es:
:Inicio @echo off cls title Qu deseas hacer? color f1 rem Esto es un comentario echo Escoge una opcion: echo 1. Opciones de Apagado echo 2. Opciones de Copiado echo 3. Opciones de Programacion de Tareas echo 4. Crear una Carpeta echo 5. Informacion del Sistema echo 6. Variables de Entorno echo 0. Salir set /p OpcionAElegir=Opcion (0-6): if %OpcionAElegir%==1 goto :ApagarOpciones if %OpcionAElegir%==2 goto :CopiarOpciones if %OpcionAElegir%==3 goto :TareasProgramadas if %OpcionAElegir%==4 goto :CrearCarpeta if %OpcionAElegir%==5 goto :InformacionSistema if %OpcionAElegir%==6 goto :VariablesEntorno if %OpcionAElegir%==0 goto :Salir if %OpcionAElegir% GTR 6 goto :Inicio :ApagarOpciones cls echo 1.Apagar el Ordenador echo 2.Anular el Apagado del Ordenador echo 3.Reiniciar el Ordenador echo 4.Cerrar Sesion echo 5. Crear Carpeta echo 0.Volver al Menu Principal set /p OpcionApagar=Que deseas hacer con el ordenador? Escoge una de las opciones (0-4) if %OpcionApagar%==1 goto :Apagar if %OpcionApagar%==2 goto :Anular if %OpcionApagar%==3 goto :Reiniciar if %OpcionApagar%==4 goto :CerrarSesion if %OpcionApagar%==5 goto :CrearCarpeta if %OpcionApagar%==0 goto :Inicio :Apagar cls set /p tiempo=Dentro de cuantos segundos quiere que se cierre el Ordenador? set /p forzado=Quiere que se cierre de forma forzada (s/n)?

set /p mensaje=Deje un mensaje de aviso. if %forzado%==s ( shutdown -s -f -t %tiempo% -c %mensaje% ) else ( shutdown -s -t %tiempo% -c %mensaje% ) goto :ApagarOpciones :Anular cls shutdown -a goto :ApagarOpciones :Reiniciar cls shutdown -r goto :ApagarOpciones :CerrarSesion cls shutdown -l goto :ApagarOpciones :CrearCarpeta cls set /p rutaCarpeta=Indica la ruta donde deseas crear la carpeta y su nombre (c:\ruta\nombreCarpeta) mkdir %rutaCarpeta% goto :Inicio :CopiarOpciones cls set /p origen=Indica la ruta de Origen del archivo a copiar: set /p destino=Indica la ruta de Destino del archivo con su nuevo nombre: copy %origen% %destino% goto :Inicio :TareasProgramadas cls set /p hora=A que hora deseas establecer la tarea (hh24:mm)? set /p accion=Indica el comando que quieres que se ejecute a esa hora con todos sus parametros. at %hora% cmd /c %accion% goto :Inicio :InformacionSistema cls systeminfo pause >nul goto :Inicio :VariablesEntorno cls echo La variable de entorno "windir" contiene el valor: %windir% echo La variable de entorno "computername" contiene el valor: %computername% echo La variable de entorno "username" contiene el valor: %username% echo La variable de entorno "processor_architecture" contiene el valor: %processor_architecture% echo La variable de entorno "pcbrand" contiene el valor: %pcbrand% echo La variable de entorno "path" contiene el valor: %path% echo La variable de entorno "os" contiene el valor: %os% echo La variable de entorno "number_of_processors" contiene el valor: %number_of_processors% pause >nul goto :Inicio :Salir pause >nul

Reconozco que el script creado es un poco extenso, pero veris que muchas de las lneas realizan funciones equivalentes. Lo primero que hay que hacer antes de nada, es crear un documento de texto plano (.txt) y cambiarle la extensin .txt por la extensin .bat. Tras ello, lo editaremos, preferiblemente, con el programa notepad++ (tneis un hipervnculo a su pgina de descargas ms arriba). Ahora, lnea por lnea (menos aquellas que repitan funciones), os explicar qu hacen:
:Inicio Con los dos puntos (:) y cualquier nombre que deseemos darle, sirve como punto de referencia para ejecutar un nico bloque de cdigo. @echo off Quedan escondidas las lneas que indican la ruta en la que nos encontramos (C:\Users\nombreUsuario). cls Limpia la consola. title Qu deseas hacer? Ttulo que le queremos dar a la ventana color f1 Color de la letra y el fondo respectivamente, en hexadecimal (f para el fondo, 1 para las letras). Os dejo una relacin de nmero/color: Nmero 0 1 2 3 4 5 6 7 8 9 a b c d e f Azul Verde Aguamarina Rojo Prpura Amarillo Blanco Gris Azul claro Verde claro Aguamarina claro Rojo claro Prpura claro Amarillo claro Blanco brillante Color Negro

rem Esto es un comentario Cualquier cosa que escribamos tras rem y en la misma lnea, no ser interpretado sino que se considerar un comentario. echo Escoge una opcion: Muestra por la consola lo que escribimos tras echo, es decir, Escoge una opcion: set /p var=Opcion (0-6): Muestra por pantalla Opcion (0-6), esperando una respuesta por parte del usuario, la cual se asignar a la variable var cuando el usuario la haya escrito y haya apretado Enter. if %OpcionAElegir%==1 goto :ApagarOpciones Los porcentajes que se sitan a ambos lados del nombre OpcionAElegir permiten que dicha variable devuelva el valor contenido por ella. Por lo tanto, iremos al punto de referencia :ApagarOpciones si se cumple que el valor que contiene la variable OpcionAElegir es igual a 1. if %OpcionAElegir% GTR 6 goto :Inicio GTR significa greater than, es decir, que si el valor contenido por la variable OpcionAElegir es mayor que 6, entonces volver a mostrarnos el bloque :inicio, que es el que contiene el men. if %forzado%==s ( shutdown -s -f -t %tiempo% -c %mensaje% ) else ( shutdown -s -t %tiempo% -c %mensaje% ) si el valor contenido por la variable forzado es igual al carcter s, entonces se ejecuta el comando shutdown -s -f -t %tiempo% -c %mensaje% (dicho comando permite apagar el ordenador -s de modo forzado -f, sin tener en cuenta los programas en ejecucin. Adems, le indicamos en cunto tiempo -t %tiempo% queremos que se apague y qu mensaje -c %mensaje% le mostraremos al usuario para indicarle que el PC se va a apagar); si el valor contenido es cualquier otra cosa, entonces se ejecuta shutdown -s -t %tiempo% -c %mensaje%, con la diferencia de que este apagado no ser forzado. goto :ApagarOpciones Permite que se ejecute en bloque de cdigo concreto, en este caso :ApagarOpciones. shutdown -a Anula el apagado del PC. shutdown -r Reinicia el PC. shutdown -l Cierra sesin. copy %origen% %destino% Copia el archivo indicado en %origen% (ruta+nombre=C:\ruta\nombre) en %destino% (ruta+nuevoNombre=C:\ruta\nuevoNombre). at %hora% cmd /c %accion% Establece, a una hora determinada %hora% una tarea %accion % como podra ser copy C:\documento.txt C:\documentoCopia.txt. El cmd es necesario y la opcin /c se usa porque, en este caso, funciones como copy, no son archivos ejecutables. mkdir %rutaCarpeta% Crea un nuevo directorio en la ruta y con el nombre indicados en %rutaCarpeta%. Un ejemplo es mkdir C:\Carpeta1. systeminfo Es una funcin que recopila y muestra informacin del sistema.

pause >nul Hace una pausa hasta que presionamos alguna tecla. %windir% Variables como windir son variables de entorno que contienen valores del sistema y que son usadas usualmente por multitud de programas.

También podría gustarte