Taller Programación en Batch #1

Iniciado por ANTRAX, Octubre 05, 2014, 08:48:50 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


Historia Del MS-DOS

MS-DOS (siglas de MicroSoft Disk Operating System, Sistema operativo de disco de Microsoft) es un sistema operativo basado en X86. MS-DOS nació en 1981 al ser encargada Microsoft de producir un sistema operativo para la gama de computadores personales IBM PC de IBM. Rápidamente Microsoft compró los derechos de QDOS también conocido como 86-DOS, de Seattle Computer Products, y comenzó a trabajar en las modificaciones para poder cumplir con los requerimientos de IBM. La primera edición, MS-DOS 1.0, fue presentada en 1982. La versión incluida en los PC's de IBM fue conocida como PC DOS. Aunque MS-DOS y PC-DOS fueron desarrollados por Microsoft e IBM en paralelo, los dos productos se separaron con el tiempo.


Como Crear Un Archivo .BAT

Para crear un archivo bat primero abrimos el notepad (o block de notas) También se puede usar Notepad++ pero lo veremos en la próxima entrega)


Sino también: Inicio > Todos los programas > Accesorios > Bloc de notas


Al abrir el bloc de notas escribimos el código y lo guardamos con extensión .bat (fijarse que diga todos los archivos


Y ahí tenemos hecho el archivo.bat.


@Echo off/on

El @echo off/on es para determinar si queremos mostrar los comandos que escribimos (independientemente del output del comando) Para ser mas claros les mostrare dos fotos y va al principio de todo código.


En esta foto se puede ver el input (comando ingresado) que seria echo hola y el output (el resultado del comando) que seria solo mostrar hola. Lo mismo para pause (es el input) y el output es una pausa que se expresa con "Presione una tecla para continuar..."
Esto seria con @echo off


El código que use para ese .Bat fue:

Código: dos
@echo off
Echo hola
Pause
Exit.



Echo/Echo.

Como ya saben, el Echo imprime lo que escribimos. Si escribimos: Echo hola mundo entonces imprimirá: Hola mundo.


El código fue simplemente:

Código: dos
@echo off
Echo hola
Echo como
Echo andan
Pause
Exit


El echo. Sirve para dejar una línea en blanco (en este caso es color negro pero se entiende lo que quiero decir) Acá una foto para ilustrarlo.


Lo único que hice fue agregar un echo. Entre cada línea.

Código: dos
@echo off
Echo hola
Echo.
Echo como
Echo.
Echo andan
Echo.
Pause
Exit



Goto

Bueno acá veremos los comandos GOTO/ELSE. Vamos a mostrarlo para que vean que tal es.

Código: dos
@echo off
Echo hola
:bucle
Echo como andas
Goto bucle


Acá lo que hace el código es imprimir hola, después le ponemos un ":" para definir un label. Entonces cuando ponemos goto bucle es que estamos yendo al label :bucle entonces así imprimiría el "como andas" infinitas veces. Otras funciones de esto se pueden ver también en el comando IF que lo veremos después.


Código: dos
@echo off
:bucle
Echo hola
Goto bucle



Pause

Bueno el comando PAUSE hace exactamente lo que dice el nombre, hace una pausa que se puede quitar apretando cualquier tecla. Para dejarlo mas claro les paso una foto


Código: dos
@echo off
echo hola como andan?
echo acá esta el pause
Pause
echo ahí apreté cualquier tecla y el código sigue
pause


Para hacer que desaparezca el "presione cualquier tecla para continuar" le tenemos que agregar > nul al pause. Sería algo así:

Código: dos
@echo off
echo hola como andan?
echo acá esta el pause
Pause > nul
echo ahí apreté cualquier tecla y el código sigue
Pause > nul



DIR

El comando DIR enlista todos los archivos que tengamos en el directorio especificado. Por ejemplo para cambiar un directorio hacemos CD.

Código: dos
@echo off
CD C:\Windows
Pause
Exit


Eso haría que en vez de estar en C:\Windows\System32\cmd.exe este en C:\Windows.

Para enlistar los archivos y directorio damos el comando DIR.
Acá se ve ilustrado lo que digo.



MKDIR

Lo que hace el comando MKDIR es crear un directorio en una ruta especificada. Ponemos CD y elegimos el directorio (Ej.: CD C:\Documents and Settings\Administrador\Escritorio) y ahí ponemos MKDIR Hola. Eso nos crearía una carpeta nueva llamada Hola. Una foto.


Nota: Acá puse @echo on para que vean los comando tipeados.

Código: dos
@echo on
CD C:\Documents and Settings\Administrador\Escritorio
pause > nul
MKDIR TallerBatch
Pause > nul
Exit



REM

El comando REM es una abreviación de la palabra en ingles "Remak" que es para marcar algo. Lo que quiere decir es que sirve para hacer comentarios en el código, es para encontrar partes mas fácilmente o para acordarse de ciertas cosas sin que afecte el código. Ejemplo:

Código: dos
@echo off
REM Acá empieza el bucle
:bucle
Echo Hola
Goto bucle


También para hacer comentarios se usa :: ACUERDENSE QUE SON DOS :: CUANDO SE USA UNO (:) ES PARA HACER UN LABEL.

Código: dos
@echo off
::Acá empieza el bucle
:bucle
Start
Goto bucle



IF Básico/Else

Bueno el comando IF es uno de las importantes y poderosos en batch. Ya que tiene múltiples usos y su versatilidad es bastante grande. Se puede usar para chequear varias cosas, acá como es el básico veremos si existe un archivo con IF EXIST. Por ejemplo la sintaxis es así:

IF EXIST "X" "command" else "command"
O también "command" & "command" &,etc...

Veamos un ejemplo:

Código: dos
@echo off
IF exist hola.txt echo hola & mkdir existe
Pause > nul
Exit


El código esta separado así

(IF exist) (hola.txt) (echo hola) (&) (mkdir existe)

IF exist se fija si existe ese archivo, el echo hola es la parte de "command" que seria que si existe tal archivo hacer tal comando y el & es para no solo hacer echo hola sino para agregar mas comandos como el MKDIR (que lo vimos antes). También se puede hacer esto.

Código: dos
@echo off
IF exist hola.txt Echo existe el archivo Else Echo no existe
Pause > nul
Exit


Se separaría así

(IF exist) (hola.txt) (Echo existe el archivo) (Else) (Echo no existe)
Esto se utiliza para fijarse si existe el hola.txt entonces echo Existe el archivo y si no existe el archivo entonces echo No existe.


SET

No, esto no es un social engineering tool :P El comando SET es para definir variables o para usar PATHs preestablecidos. Para ver los PATHs preestablecidos le damos a set en el CMD.


Entonces esto sirve para usar BATs en otras PCs y para evitar errores. Ejemplo: Por ahí alguien tiene su directorio de Windows en D:\Windows entonces si ponemos CD C:\windows no nos funcionara, para evitar eso hacemos CD %windir% entonces nos dirigirá automáticamente en donde tengamos el directorio de Windows puesto.

El set también se puede hacer para establecer variables con esta sintaxis:

Set Nombre= valor
Un ejemplo seria:

Código: dos
@echo off
Set var1=hola
Echo %var1%
Pause
Exit


Ahí saldría el texto: Hola
Shutdown

Este es un comando muy básico pero puede llagar a ser muy útil (yo personalmente lo uso todos los días)

Estas son las sintaxis que se pueden usar:


Entonces de ahí elegimos las sintaxis que queramos y las usamos.

Por ejemplo:

Shutdown –s –f –t 230

Eso  haría que se apague (-s) que fuerce el cierre de aplicaciones (-f) y que tenga un contador de 230 segundos para apagarse (-t 230)

Esto nos viene bien por ejemplo si nos vamos a dormir y dejamos descargando algo y faltan 2 horas para descargarse, ponemos shutdown para que cuando termine de descargarse se apague la PC.

Shutdown –s f –t 7200

El 7200 es porque son segundos (2 horas)


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta



¡Excelente!
No sé, pero al ver este taller me entro una nostalgia, me recuerda viejos tiempos.
Gracias por este grandioso Taller, saludos.

Muy buen taller para aquellos que empiezan :)
Saludos :P
Huelo a VERDE y no es Marihuana ;)

Muy buen taller para aquellos que empiezan


buenas,

Así comencé yo, incluso si me pongo a recordar... picando código en el spectrum...   :'( :'(

Que tiempos...

Muchas gracias, me apunto que seguro que aprendo algo y recuerdo aun mas...

Saludos