Programacin Batch Bsica
Sistema Operativo I [Link] Melendres
COMANDOS BASICOS DE MS-DOS
ALGUNOS COMANDOS DEL MS-DOS Ver Time Date dir Cd Md Rmdir Edit Type Format Msg
Programacin batch
Programacin Batch Bsica
Es un archivo de procesamiento por lotes: se trata de archivos de texto sin formato, guardados con la extensin *.bat que contienen un conjunto de comandos DOS. Cuando se ejecuta este archivo bat, los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas. Cualquier comando DOS puede ser utilizado en un archivo batch.
Programacin batch
COMANDOS BATCH
echo texto Imprime un texto en pantalla, que es el texto que viene despus. @echo off Para eliminar el eco(no se muestre en la consola del DOS el resultado de la ejecucin de cada instruccin que contine el archivo batch). pause realiza un alto. exit Cerremos la ventana:
Programacin batch
Ejemplo1: Muestra un mensaje de bienvenida.
En un arhivo de block de notas escriba: @echo off echo Hola Bienvenido a archivos batch pause Exit Ahora gurdelo con el nombre: d:\[Link] Para ejecutarlo desde el shell ejecute d:\>start [Link] o doble click sobre el archivo. NOTA: Para ver la ayuda de alguna funcin use el parmetro /? Ejemplo: copy /? Solicita informacin del comando copy
5 Programacin batch
Ejemplo2: muestra dos mensajes usando pause y cls. @echo off echo Hola, Cuando pulses la tecla se borrara el contenido y cambiara por pause cls echo Ves? pause exit
otro.
Programacin batch
Move: Sirve para mover un archivo. Su sintaxis es: Move "Direccin Archivo" "Nueva Direccin EJEMPLO 3: copia un archivo llamado [Link]" a la misma ruta con [Link], luego lo mueve a la D:\practica y elimina el archivo origen. @echo off echo Hola, Copiaremos un archivo Pause D: copy [Link]" [Link]" move [Link]" D:\practica\[Link]" del [Link] pause exit
Programacin batch
Creacin de nuevos archivos:
echo TEXTO DE PRIMERA LINEA > [Link] echo TEXTO SEGUNDA LINEA >> [Link] echo TEXTO SIGUIENTE LINEA >> [Link]
Al escribir echo seguido de un texto y el signo > creamos un archivo con el nombre que siga. Si ocupamos un echo seguido de un texto y el doble signo > (>>) se escribir en la siguiente linea vaca del archivo que prosiga. Hagamos la prueba: Cdigo : echo Creando un Archivo de texto > [Link] echo Esta es la Segunda linea >> [Link] echoY esta es la Siguiente >> [Link] echo Esto esta genial >> [Link] Echo Bienvenidos a power point>[Link]
8 Programacin batch
Personalizando el SHELL
COLOR: Con la funcin color podemos cambiar los colores de fondo y las letras. Siendo su sintaxis: COLOR AB Donde A= El color de el Fondo y B= Color de las letras. Para ver todos los colores ve el MS-Dos y escribe color/? Ej. Color F0 //Fondo blanco y texto negro TITLE: Para cambiar el ttulo de la barra de tareas solo escribe: Title Loquequierascomotitulo [Link] Programacin Por lotes
9 Programacin batch
Pause Personalizado
Si no te gusta que al poner pause salga "Presione una tecla para continuar..."? escribe "pause>nul" no aparecer ni un texto. Entonces si anteponemos un mensaje, quedara as: Cdigo : echo presiona cualquier tecla para seguir pause>nul
10
Programacin batch
@echo off color 30 echo ================================== echo = = echo = Personalizado = echo = = echo ================================== echo. echo. echo Esto esta personalizado, para salir presiona una tecla. pause>nul exit
11 Programacin batch
ABRIENDO PROCESOS:
start Start winword Start calc O una pgina web Start [Link]
12
Programacin batch
Declaracin de variables set nombre=valor
Utilizando variables
Para modificar el valor de una variable set /a nombre=valor Declaracin de variables dinmica, sea que el usuario ingrese su valor set /p nombre=valor Ejemplo: set numero1=2 set numero2=43 set /a suma= %numero1% + %numero2% echo %suma% pause exit
13 Programacin batch
Para leer un valor introducido por el usuario
@echo off set /p nombre= escriba su nombre: echo %nombre% pause exit
14
Programacin batch
[Link] dos nros. Ingresados por teclado
@echo off set /p numero1= Ingrese el nro1: set /p numero2= Ingrese el 2do nro: set /a suma= %numero1% + %numero2% echo %suma% pause>nul exit
15
Programacin batch
Ej. Copiar un archivo: @echo off set /p origen= ruta1: set /p destino= ruta2: copy %origen% %destino% pause>nul exit
16
Programacin batch
Msg
Sirve para abrir una alerta con un mensaje su utilizacin es la siguiente: No funciona en todos los PC. SINTAXIS: msg * EsteEsMiMensaje
17
Programacin batch
at
Para programar alguna accin a cierta hora. Cdigo : at 20:00 msg * Son Las 8 de la noche Con esto a las 20:00 nos aparecer un mensaje que nos dir que son las 8 de la Noche.
18
Programacin batch
Uso de etiquetas
Salta lneas, hasta una etiqueta. Sintaxis : :nombreEtiqueta Ejemplo: @echo off goto :mietiqueta echo Por que me saltan? :MiEtiqueta echo Hola, esta es la etiqueta y nos saltamos una parte del cdigo. pause>nul Exit Nota: En Batch las Maysculas y Minsculas no se diferencian.
19
Programacin batch
Estructura condicional: IF
Se puede utilizar para comparar, cadenas, nmeros o para saber si existen archivos. Sintaxis: if %cadena1% == %cadena2% OrdenAEjecutar Que se podra leer de la siguiente manera. Si cadena1 es igual a Cadena2 ejecutemos la Orden OrdenAEjecutar. OPERADORES RELACIONALES EQU, equivalente a == NEQ, Desigualdad. LSS, Para verificar si el numero es Menor LEQ, Para verificar si es menor o igual. GTR, Si es mayor GEQ, Si es Mayor e igual. Cdigo : if 5 GTR 4 echo Hola
20 Programacin batch
If , exist
Puede usar NOT para ver si no son iguales. if not %cadena1%== %cadena2% ejecutarAccion Para saber si un archivo existe, se usa: if exist "NombreDelArchivo" AccionAEjecutar o tambin para ver si NO existe: if not exist "NombreDelArchivo" AccionAEjecutar Ejem. Si existe el archivo [Link] en la unidad D , generar una copia con el nombre [Link] @echo off D: if exist "[Link]" copy [Link] [Link] pause exit
21 Programacin batch
22
@echo off :Menu Ej. De creacin de cls echo Seleccione su opcion tecleando el numero respectivo. echo. echo 1. Primera Opcion echo 2. Segunda Opcion echo 3. Salir set /p var= if %var%==1 goto :Primero if %var%==2 goto :Segundo if %var%==3 goto exit if %var% GTR 3 echo Error goto :Menu :Primero cls color a Echo Esta es la Primera Opcion Echo Precione una tecla para volver al menu Pause>Nul goto :Menu :Segundo cls color 1a Echo Esta es la Segunda Opcion Echo Precione una tecla para volver al menu Programacin batch Pause>Nul goto :Menu
Men
Estructura repetitiva: FOR
Sirve para repetir un comando varias veces, en distintas variables. Ejemplo 1: Para mostrar del 0 al 21 de 1 en 1. for /L %%i IN (0,1,21) DO (echo %%i) /L especifica que nuestro for se basara en un conteo de nmeros. %%i ser el nombre de la variable que almacenara datos (aqu batch es sencible entre mayscula y minscula.) in (0,1,21) aqu especificamos que se repetir desde el 0 al 21 de uno en uno. do (echo %%i) Esto es la funcin que se ejecutara en cada repeticin del comando, en este caso un echo que imprimir la variable.
23 Programacin batch
Ejemplo: agregando texto a la salida
@echo off for /L %%i IN (10,5,100) DO (echo valor %%i resultante ) pause exit
24
Programacin batch
Listado de archivos con FOR
Ej. 2: Listar todos los archivos cuyos nombres inicien con m. @echo off FOR %%x in (m*) DO echo %%x Pause Ej. 3: Listar los archivos con extensin jpg @echo off FOR %%x in (*.jpg) DO echo %%x pause
25 Programacin batch
Parmetros de FOR
Ej. 3: /D Lista solo directorios. FOR /D %%x in (a*) DO echo %%x Ej.4: Si quisiramos listara los directorios y subdirectorios agregamos /R FOR /R /D %%x in (a*) DO echo %%x Ej. 5: Pero listar todos los documentos que estn dentro de una carpeta /R (Sin /D) FOR /R %%x in (a*) DO echo %%x
26 Programacin batch