hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
21 de Agosto de 2008, 07:55:17
Noticias: ¿No te llega el email de confirmacion?
Para ver este enlace Registrate o Inicia Sesion
> leer aqui

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  Batch (Moderadores: HolyKnight, PyXOLo)
| | | |-+  Manual batch desde cero
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Ir Abajo Imprimir
Encuesta
Pregunta: que code quereis que haga la semana que viene??
Maligno( no recomiendo por que son muy cortos y se aprende poko pero si kereis enkantao menos trabajo)   -0 (0%)
Inofensivo   -4 (100%)
Total de votos: 4

Autor Tema: Manual batch desde cero  (Leído 50435 veces)
JiMmY_hAcK
NZ2
**
Desconectado Desconectado

Mensajes: 133


"La informacion es libre", Lema Hacker


Ver Perfil
« : 11 de Julio de 2006, 10:17:10 »

Este manual va dirigido a gente que no tenga ni idea de este lenguaje.
Va a estar dividido en capitulos que los ire poniendo cada 2 dias o por ai.
Weno EmPeZaMoS!!!

Capitulo 1 Introduccion y primeros comandos
Los programas que se hacen en batch suelen tener la extension .bat de ahi su nombre.es posible  cambiar esta extension con programas  pero esto ya lo veremos mas adelante.
weno para programar en bat necesitas un editor de texto plano ( recomiendo el block de notas )  y ganas. Utiliza como compiler el cmd.
*Ni se os ocurra programar en word o wordpad ya que es imposible no son editores de texto plano...digo esto por q nunca se sabe...xd

Bien pos empezamos a programar!!!
En este capitulo os enseñare el funcionamiento de echo,exit y de pause ( 3 comandos muy usados en batch)
echo
sirve para escribir en la pantalla ( por ahora nos quedamos con eso al llegar a los redireccionami entos veremos que ace mas cosas).
Normalmente los programas empiezan por  @echo off esto sirve para q no aparezca al ejecutarse las mitikas lineas del  cmd ( c.\documents & settings\user....). No os preokupeis si no entendeis algo luego kon los ejemplos se os quedara claro.
pause
sirve para detener el programa hasta que se pulse una tecla. digo lo mismo en los ejemplos lo vereis mas claro
exit
sirve para salir del programa
weno la teoria de este capitulo esta dada ahora empezamos kon los

Ejemplos:

El mitiko hello world
en todos los lenguajes se suele empezar con este programa lo que hace es escribir en la pantalla Hello World con echo ,esperar una tecla kon pause y salir kon exit.
weno el codigo de este programa es:
Código:
@echo off
echo Hello World
pause
exit
Para hacerlo poneis el code en el block de notas
le dais a guardar como...
le pones el nombre q kieras pero q termine en .bat
y en la flecha de abajo ( tipo) le das a todos lo archivos
ahora abre el .bat que as creado y contempla la maravilla q as exo XD
weno practicad un poko esto( probad a quitar el @echo off y vereis el resultado ,a quitar el pause o el exit, probando se aprende) y dentro de 2 dias o menos si ay tiempo  continuo kon el curso.
Si teneis dudas ponedlas aqui mismo
« Última modificación: 11 de Julio de 2006, 10:19:36 por JiMmY_hAcK » En línea

Sk8 Or DiE
1111th-Sensei
NZ1
*
Desconectado Desconectado

Mensajes: 86


Para seguir la trayectoria: sigue al maestro.


Ver Perfil WWW
« Respuesta #1 : 11 de Julio de 2006, 11:59:05 »

Buena idea JiMmY_hAcK buena inciciativa,gran curso para los newbies que espero se haga muy amplio Cheesy,suerte y sigue asi tio.
En línea


Para ver este enlace Registrate o Inicia Sesion


Para ver este enlace Registrate o Inicia Sesion
Punk-Rock
Visitante
« Respuesta #2 : 11 de Julio de 2006, 12:23:34 »

Sep....si esto continua viento en popa le pondre chincheta....

Espero ke Jimmy no sea el uniko ke se rebane el cerebro y kolabore mas gente.... Wink Wink Wink

Salu2

En línea
JiMmY_hAcK
NZ2
**
Desconectado Desconectado

Mensajes: 133


"La informacion es libre", Lema Hacker


Ver Perfil
« Respuesta #3 : 12 de Julio de 2006, 05:44:11 »

weno antes que nada gracias por los animos y a ver si es verdad lo de  la xinxeta hendrix XD
weno ahora enserio empezamos

Capitulo 1 continuacion.. .
weno si alguien ya esta siguendo este curso espero que le aya dado tiempo a practicar con lo anterior, sino no importa, tendra el doble que practicar XD.
antes de avanzar quiero decir una par de cosillas que se me olvidaron .

1.si al comando pause se le añade > nul ( pause > nul) no pone en la pantalla lo de : presione una tecla para continuar..., y se sigue ejecutando de la misma forma.

2.Con el comando echo tambien es posible escribir lineas en blanco( es decir, sin nada, dejar espacios)eso se hace poniendo acabando el echo con un . ( echo.).

Bien pues seguimos
Hoy voy a explikar el comando rem, goto y cls.
rem Este comando sirve para poner comentarios en el codigo. se podria decir que hace lo contrario que echo.echo lo pasa por la pantalla y rem lo "esconde".
su sintaxis es la siguiente:
rem comentario q quieras
goto Los codigos bat suelen estar divididos en partes. una parte de un bat tiene la siguiente estructura (:nombreparte). este comando lo que hace es ir a una parte ( go to= ir a ).trankilos iwal no lo pillais pero en los ejemplos lo vereis claro.Igual lo de dividir un programa en partes no lo veis muy util pero cuando lleguemos  al comando if sabreis kual es la utilidad de dividir.
la sintaxis de goto es esta:
goto nombreparte(sin los dos puntos)
cls Este comando sirve para borrar la pantalla.
sintaxis:
cls (se pone tal cual sin nada mas)
bueno aqui vienen unos ejemplos de estos tres comandos y de division en partes.

Código:
@echo off
:menu
rem si os fijais :menu es una parte del programa al iwal q :menu2
rem con echo. dejo en blanco la lineas.
echo.
echo Hello World
echo.
rem Utilizo pause > nul para q no aparezca el el mensaje de pulse una tecla
rem Probad a quitarlo i vereis la diferencia
pause > nul
goto menu2
:menu2
cls
rem con cls borro la pantalla probad a kitarlo i vereis la diferencia
echo.
echo Ahora estoy en la parte :menu2
echo.
pause > nul
exit

Probad a cambiar cosas del ejemplo. Mañana si puedo continuo con el curso.
En línea

Sk8 Or DiE
askatasun
Administrador
*****
Desconectado Desconectado

Mensajes: 907



Ver Perfil
« Respuesta #4 : 12 de Julio de 2006, 08:22:22 »

yo ya lo estoy siguiendo, y esta muy bien!

lo que no entiendo es el comando rem, que seria como el // con el c++ ?

p.d: mas mas mas capitulos jaja, me esta resultando muy util 
En línea

no respondo preguntas por mp, para dudas el foro
CiberPunk
NZ2
**
Desconectado Desconectado

Mensajes: 341


Asm & C/C++


Ver Perfil
« Respuesta #5 : 12 de Julio de 2006, 09:10:43 »

Bueno no se si eso del comando rem que se publico hace un tiempito te refresque los conocimientos.


Para ver este enlace Registrate o Inicia Sesion
http://foro.portalhacker.net/index.php/topic,14320.0.html


Por cierto el manual esta fenomenal.
A ver si te haces uno con variables de expansion.
usando variables como: %0, %1, %2 ... %9.
Un saludo
En línea

if stdio.h then printf(" Hello World\n");
JiMmY_hAcK
NZ2
**
Desconectado Desconectado

Mensajes: 133


"La informacion es libre", Lema Hacker


Ver Perfil
« Respuesta #6 : 12 de Julio de 2006, 09:19:28 »

Askatasun si exactamente lo mismo.
ciberpunk todo llegará.en 2 o 3 capitulos llegaremos a las variables y ahi lo explicare todo.

Gracias por el apoyo. es bueno saber que esta resultando util. Grin Grin Cheesy Grin
« Última modificación: 12 de Julio de 2006, 09:20:42 por JiMmY_hAcK » En línea

Sk8 Or DiE
CiberPunk
NZ2
**
Desconectado Desconectado

Mensajes: 341


Asm & C/C++


Ver Perfil
« Respuesta #7 : 12 de Julio de 2006, 09:28:04 »

Bien fenomenal espero que toques ese tema de Variables de expansion y no de variables comunes como set /p, set /a set =. ya que lei son de usos diferentes.

Un saludo y sigue adelante.
En línea

if stdio.h then printf(" Hello World\n");
JiMmY_hAcK
NZ2
**
Desconectado Desconectado

Mensajes: 133


"La informacion es libre", Lema Hacker


Ver Perfil
« Respuesta #8 : 13 de Julio de 2006, 05:47:26 »

Capitulo 2Variables

weno este capitulo estara dividido en varias partes unas 3 o 4 en las que ablaremos de la declaracion de variables y de los tipos, tambien ablaremos de las variables de expansion en las que tanto interes tiene ciberpunk.

Como declarar un variable

Es tan sencillo como esto:

Set nombrevariable= valor

Para llamar a la variable en un lugar del programa se debe hacer de esta manera:

%nombrevariable% ( es decir, entre tantos por ciento "%")

Esta variable puede contener tanto palabras como numeros, pero no operaciones como + - / etc en el apitulo siguente explicare como hacer
operaciones con variables. en este voy a explicar como hacer para que tu programa consiga una variable por el usuario.

esto se hace de esta manera:

Set /p nombrevariable= Lo que saldra en la pantalla para que el usuario lo rellene(ejemplo Nombre: )

La teoria d esta parte del capitulo esta dada voy a acer un ejemplo que lo resuma todo + o -:

Código:
@echo off
Title Ejemplo
rem title sirve para cambiar el texto que aparece en la barra azul de la ventana
cls
set saludo= Hola,
set /p nombre= Como te llamas?
cls
set/p ape= Cual es tu primer apellido, %nombre%?
cls
set/p ape1= Y el segundo?
cls
echo.
echo %saludo% %nombre% %ape% %ape1%
echo.
pause
exit


Y para que practiqueis un poco os voy a mandar un ejercicio y mañana dire la respuesta, ay va:

Haz un programa que al iniciarse te pida una variable ( set /p) de como te llamas.
q pida otra var de que as comido oy.
y otra de tu edad.

una vez le ayas pedido eso  q escriba en la pantalla Pues nombre comiendo loqayacomido y teniendo en cuenta que tienes añosqtenga no vas a durar na.

No os quejareis, es bien sencillo. si tuvieseis dudad escribidlas y en el proiximo capitulo las resuelvo.
« Última modificación: 14 de Julio de 2006, 05:26:25 por JiMmY_hAcK » En línea

Sk8 Or DiE
askatasun
Administrador
*****
Desconectado Desconectado

Mensajes: 907



Ver Perfil
« Respuesta #9 : 13 de Julio de 2006, 11:29:45 »

muy bueno tambien este nuevo capitulo!
bien, aqui esta mi codigo recien horneado!

Código:
@echo off
set apel=como te llamas?
set apel2=que has comido hoy?
set apel3= que edad tienes?
set resp=Luis
set resp2=pues nada
set resp3=16 a¤os
echo %apel%
pause
echo %resp%
pause
echo %apel2%
pause
echo %resp2%
pause
echo %apel3%
pause
echo %resp3%
pause
exit
« Última modificación: 13 de Julio de 2006, 11:32:08 por askatasun » En línea

no respondo preguntas por mp, para dudas el foro
JiMmY_hAcK
NZ2
**
Desconectado Desconectado

Mensajes: 133


"La informacion es libre", Lema Hacker


Ver Perfil
« Respuesta #10 : 13 de Julio de 2006, 12:16:26 »

No seria exactamente asi XDXD pero esta bien intentarlo.
seria asi:
Código:
@echo off
cls
set /p var1=como te llamas?
cls
set/p var2=que as comido oy?
cls
set /p var3=que edad tienes?
cls
echo  pos %var1%, comiendo %var2% y teniendo %var3% no vas a durar na
pause
exit



weno de toas formas lo as intentao jeje
En línea

Sk8 Or DiE
neo_2511
NZ1
*
Desconectado Desconectado

Mensajes: 104


Up the Irons!!!!


Ver Perfil WWW
« Respuesta #11 : 13 de Julio de 2006, 02:52:29 »

Hola Jimmy, pues muchas felicidades por el manual esta muy padre, lo he estado siguiendo y en el ultimo ejercicio tengo problemas, mi pide mis datos pero despues no pone los datos a ver si le encuentras el error y me puedes ayudar,
Código:
[
@echo off
title ejercicio
cls
set /p nombre = como te llamas?
cls
set /p loquecomiste = que has comido hoy?
cls
set /p edad = cuantos años tienes?
cls
echo.
echo hola %nombre%, pues si a tus %edad% años estas comiendo %loquecomiste% no vas a durar nada
echo.
echo.
pause
exit
]
En línea

I am the future, sacrifice your soul and succumb to me Nailed to your fait you will belive



<font size="6">
Para ver este enlace Registrate o Inicia Sesion  </font>
JiMmY_hAcK
NZ2
**
Desconectado Desconectado

Mensajes: 133


"La informacion es libre", Lema Hacker


Ver Perfil
« Respuesta #12 : 14 de Julio de 2006, 12:34:06 »

tu code esta todo bien menos la declaracion de variables ya q dejas espacios.No se si lo abia dixo , si no lo digo aora, no puede aver espacios entre la variable y el =!! porque si los ai declaras la variable de esta forma:

set /p nombrequequier as =

la tendrias q llamar asi: %nombrequequieras % ( con el espacio)

se declara asi:

set /p nombre= Loq q quieras q diga(aqui si puede aver spaces)

de forma que tu code para que este bien y salga seria de una de estas dos formas:

Código:
@echo off
title ejercicio
cls
set /p nombre = como te llamas?
cls
set /p loquecomiste = que has comido hoy?
cls
set /p edad = cuantos años tienes?
cls
echo.
echo hola %nombre %, pues si a tus %edad % años estas comiendo %loquecomiste % no vas a durar nada
echo.
echo.
pause
exit

o asi:

Código:
@echo off
title ejercicio
cls
set /p nombre= como te llamas?
cls
set /p loquecomiste= que has comido hoy?
cls
set /p edad= cuantos años tienes?
cls
echo.
echo hola %nombre%, pues si a tus %edad% años estas comiendo %loquecomiste% no vas a durar nada
echo.
echo.
pause
exit

POr lo demas muy bien veo q estas aprendiendo. Wink Wink
« Última modificación: 14 de Julio de 2006, 12:35:28 por JiMmY_hAcK » En línea

Sk8 Or DiE
askatasun
Administrador
*****
Desconectado Desconectado

Mensajes: 907



Ver Perfil
« Respuesta #13 : 14 de Julio de 2006, 01:36:00 »

ya veo que no lei bien el ejercicio, XD pense que era preguntar y responder  8)

bueno pero mi .bat funciona, ya que pregunta y seguidamente responde
el problema es que cuando llamo resp1 (vamos, respuesta 1) escribe que el echo esta desactivado pero no la respuesta, el resto funciona aunque añadiria un cls despues de cada pause



Código:
@echo off
set apel= como te llamas?
set apel2= que has comido hoy?
set apel3= que edad tienes?
set resp=luis
set resp2=nada
set resp3=16 a¤os
echo.
echo %apel%
pause
cls
echo %resp1%
pause
cls
echo %apel2%
pause
cls
echo %resp2%
pause
cls
echo %apel3%
pause
cls
echo %resp3%
pause
cls
echo adios!
pause
echo pues adios!
pause
exit

la proxima vez ya me leere el ejercicio entero  cool

« Última modificación: 14 de Julio de 2006, 01:44:02 por askatasun » En línea

no respondo preguntas por mp, para dudas el foro
JiMmY_hAcK
NZ2
**
Desconectado Desconectado

Mensajes: 133


"La informacion es libre", Lema Hacker


Ver Perfil
« Respuesta #14 : 14 de Julio de 2006, 06:10:20 »

Capitulo 2 variables ( continuacion )
weno tras aver solucionao algunos errores creo que ya estamos listos para continuar con el curso.
bien oy voy a explikar como se hacen operaciones kon variables y a repasar las vraiables posibles.

weno empezamos kon lo de las operaciones con variables:

Para hacer operaciones (suma,resta,division etc) se ace con set  /a .
sintaxis
set /a VariableEnLaQu eSeGuardaraElR esultado= variable +(o kualkier otra opercion) variable2

ej:

supongamos q tengo una variable a=2 y otra b=3 y quiero sumar las 2.
el resultado de esta suma quiero q este en c.

se aria asi:

set /a c=a+b 

 tambien es posible hacerlo asi pero es perder tiempo:

set /a c=%a%+%b%

Alumno: ¿ y q pasa si pongo set c= a+b ?
yo: POs q la variable c seria "a+b"

A. ¿ y si pongo set c= %a%+%b%?
Y. q la variable c seria "2+3"

bien la declaracion de variables ya esta dada.en el proximo capitulo daremos las variables de expansion ( %0 %1 etc) q son muy sencillas.

ahora voy a acer un pequeño repaso de lo que sabemos asta ahora ( de variables):

set variable=valor

asignar un valor a una variables nosotros en el momento de la programacion.

set /p variable=pregunta

el usuario da el valor a esta variable respondiendo a la pregunta.

set /a variable=operacion

realiza la operacion y guarda el valor en la variables.

para ver las operaciones que se pueden realizar poned en cmd "set /?" sin las comillas .

aqui biene un ejemplo//

Código:
@echo off
cls
title ejemplo para hacer medias de notas
echo.
echo.
set /p a=q nota as sacado en lengua?
cls
set /p b=q nota as sacado en ingles?
cls
set /p c=q nota as sacado en mates?
cls
set /p d=q nota as sacado en historia?
cls
set asignaturas=4
set /a media=a+b+c+d
set /a media=media/asignaturas
echo.
echo Tu media es %media%
echo.
echo.
pause
exit


Como deberes para el proximo dia os mando que agais un programa q aga esto:

-pide el nombre para darle a un cuadrado.

-pide el lado de del cuadrado y calcula su area.
area = lado * lado ( nunca se sabe xd)

-escribe "el area de (nombre q le aya puesto el usuario) es (area calculada)

-pide el nombre para darle a un  rectangulo

- pide la base y la altura de un rectangulo y calcula su area.

area = base * altura

-escribe "la base de ( nombre que le aya dado el usuario) es (base calculada)

- se despide.

-se cierra.
« Última modificación: 14 de Julio de 2006, 06:11:13 por JiMmY_hAcK » En línea

Sk8 Or DiE
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online