[Tutorial]Aprende a programar en BAT!!!

Tema en 'Guías y Tutoriales' iniciado por HunterxD007, 9 Nov 2008.

  1. Hun

    HunterxD007
    Expand Collapse
    Recluta

    Mensajes:
    19
    Me Gusta recibidos:
    0
    Tutorial: Aprende a programar en Bat

    Creditos: HunterxD007

    Comenzemos.

    Bat es un tipo de programacion plano que se codifica con ASCII, es decir, con la escritura de nosotros se puede realizar un bat.

    Primero que nada, debemos conocer el comando primordial, llamado echo.

    Echo es el comando que da ordenes y da cosas por escrito.

    Para que el bat no sea tan dificil de comprender, vale la pena que para comenzar a programar, usemos el comando echo

    Ahora, para comenzar vamos a crear un comando para que nos salga una pantalla diciendo "Hola".

    El codigo que se escribe en el block de notas es este:

    Citar:
    @echo off

    echo hola

    pause

    exit
    Ahora, vamos a explicarlo


    Citar:
    @echo off
    Este es el comando que indica que no aparescan las acciones sino el resultado de las mismas.

    Citar:
    echo hola
    Este comando significa:

    Citar:
    echo
    Ese comando indica que lo proximo a escribir se mostrara en la consola.

    Citar:
    hola
    Esto significa que se dira "Hola"

    Citar:
    pause
    Este comando pausa la consola, hasta que demos a alguna tecla no continuara.

    Citar:
    exit
    Significa que al presionar una tecla, se cerrara la consola.


    Ahora que ya saben que significa @echo, echo, pause y exit, vamos a conocer comandos de este archivo:

    Citar:
    @echo off

    echo Cuando presiones una tecla

    echo La pantalla se borrara

    echo Y se escribira algo

    pause

    cls

    echo ¿Ves?

    pause
    Ya conocen @echo, echo y pause, el que no conocen es CLS


    CLS es un comando que limpia la consola.

    Comandos:

    CD: Ubica el batch en un lugar (ejm: CD "C:\Archivos de programa")

    If not exist "x" goto "x": Si no existe el archivo X ve al orden de acciones x.

    Ejemplo:
    Un bat que reemplaza el archivo "x" en Archivos de programa por el archivo "c" en archivos de programa\hot.

    Citar:
    @echo off

    cd "C:\Archivos de programa\"

    if not exist "x" goto error

    if exist "x" goto re




    :error




    echo Error en el reemplazo.

    pause

    cls




    :re

    copy x "C:\Archivos de programa\Hot\c"

    pause

    exit
    Ahora analizemos lo que no han aprendido en ese bat:


    :error y/o :re :

    Especifica un bat con varios comandos y/o funciones.

    copy x "C:\Archivos de programa\Hot\c":

    Copia el archivo "X" y lo manda a C:\Archivos de programa\Hot y lo renombra a c.

    if exist "x" goto re:

    Significa que si existe el archivo "x" se ira a la linea de comandos "re".

    Ahora, Veamos las variables.

    Las variables son cosas/objetos que se establecen en el transcurso del bat.

    El comando para establecer una variable es set:

    Citar:
    @echo off

    set jo= Hola

    echo %jo%
    set jo= hola:


    Significa que el variable "jo" ahora tendra como resultado "hola"

    echo %jo%:

    Significa que saldra un mensaje diciendo el variable.

    Ahora, comenzemos a usar el comando "if" que acompaña a una variable.

    Un archivo que si dices "hola" te mandara a la linea de comandos hola, y si dices adios te envia a adios.
    Citar:





    Citar: @echo off
    echo Hola o Adios?
    pause
    set /p
    adho= Di hola o adios
    if
    %adho% == hola goto hola
    if %
    adho% == adios goto adios

    :hola

    echo Hola!
    pause
    exit

    :adios

    echo Adios!
    pause
    exit


    Ahora analizemoslo:

    set /p adho= (/p):

    Significa que le pedira al usuario que especifique la descripcion de la variable adho.

    if %adho% == hola goto hola
    if %adho% == adios goto adios:

    Significa que si se detecta que el variable "adho" es hola o adios, le enviara a la linea de comandos hola o adios.

    Ahora, y para terminar con algo dificil, creemos una calculadora que sume y reste.

    El codigo es este:

    Code:
    @echo off

    echo Calculadora de Sumas y Restas

    echo Programado por Hunter

    pause

    goto comand


    :comand

    echo Que desea hacer?

    echo Sumar o restar?

    set /p sor= Sumar o Restar

    if %sor% == sumar goto sumar

    if %sor% == restar goto restar


    :sumar

    set /p n1= Numero 1 a sumar

    set /p n2= Numero 2 a sumar

    set /a suma= %n1% + %n2%

    echo Resultado: %suma%

    pause

    goto credits


    :restar

    set /p n1= Numero 1 a restar

    set /p n2= Numero 2 a restar

    set /a resta= %n1% - %n2%

    echo Resultado: %resta%

    pause

    goto credits


    :credits

    echo Volver a empezar?

    set /p rem=Si o no?

    if %rem% == si goto command

    if %rem% == no goto creedit


    :creedit

    echo Programado por Hunter.

    pause

    exit
    Lo unico que tengo que explicar es esto:


    set /a:

    Significa que la proxima variable tiene un valor numerico.

    Crear un bat que crea otro bat

    Codigo:

    Code:
    @echo off

    echo Creador de otro bat

    echo Espera.

    pause>nul

    echo @echo off>>otrobat.bat

    echo echo Otro bat by Hunter>>otrobat.bat

    echo pause>>otrobat.bat

    echo cls>>otrobat.bat

    echo echo Holaaa>>otrobat.bat

    echo set /p param= Tu nombre? >>otrobat.bat

    echo echo mucho gusto %param%>>otrobat.bat

    echo pause>>otrobat.bat

    pause

    echo Bat creado.

    start otrobat.bat

    pause

    echo Adios, By Hunter

    pause

    exit
    Va asi para que se cree otro archivo:


    echo comandoausar>>nombredelbat.bat

    el comando Start significa que se abrira "x" archivo.

    Lastima que con eso, los variables no funcionan T_T

    Ufff que lala hacer un tuto de bat -_-

    Añadido:

    Codigo fuente de un reemplazador que pide al usuario que especifique ubicacion del archivo y nombre del mismo.

    Code: @echo off
    echo Reemplazador de archivos
    echo By Hunter
    pause
    echo Escribe el lugar donde tienes el archivo
    set /p place=
    echo El nombre del archivo
    set /p name=
    echo El lugar del archivo nuevo
    set /p place2=
    echo El nombre del archivo nuevo
    set /p name2=
    pause
    echo Escribe R cuando quieras reemplazar
    set /p r=
    if %r% == r goto reem

    :reem
    echo Reemplazando...
    cd "%place%"
    copy "%name%" "%place2%%name2%"
    pause
    goto credits

    :error

    echo Error, no escribiste R.
    echo Pulsa cualquier tecla para continuar
    pause>nul

    :credits
    echo By xxxx
    echo Programado por Hunter

    By: HunterxD007
    Creditos: HunterxD007
    Para: Todos los foros que participe yo.
     

Compartir esta página