Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse. - Mayo 17, 2008, 12:27:22
Boton Buscar
Inicio Ayuda Calendario Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, The Shadow)  |  Tema: Curso Batch desde 0 By: Espectro Infernal / CLASES DISPONIBLES: Clase 0, 1 / 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] 2 3 4 Ir Abajo Imprimir
Autor Tema: Curso Batch desde 0 By: Espectro Infernal / CLASES DISPONIBLES: Clase 0, 1 /  (Leído 2758 veces)
Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 695



Ver Perfil
« en: Noviembre 18, 2006, 05:01:04 »



Introducción al Curso:    


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

Clase 0 y ejercicios resueltos:

 
Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion



CURSO BATCH DESDE 0 By: ESPECTRO INFERNAL

-CLASE 1-

Estoy con muy poco tiempo, tengo que realizar uun informe formal de matemáticas y un trabajo del colegio, pero no me puedo resistir, me encanta la programación, tanto, que hasta ene l informe ese de mates he hecho un programa con mi hermano mayor, que programa en Matlab XD

Bueno, sin más rodeos, les presento la clase 1, en la que se darán a conocer los comandos básicos de Batch como copiar, hacer comentarios, limpiar páginas, introducción al parámetro "nul", mover de un sitio a otro x archivo, renombrar archivos, borrar archivos, y nos introduciremos en "attrib", un comando que maneja los atributos de los archivos. Este último lo estudiaremos con más atencion en la próxima clase.

Bueno, manos a la obra!

Como vieron en las respuestas de los ejercicios de la clase 0, los ejercicios constaban de un  @echo off, mensajes y después de cada uno de estos un pause, con lo que presionando enter, nos ivan apareciendo los distintos mensajes; els egundo ejercicio hablaba de hacer que en pausar un texto, no nos apareciese texto. Muchos users que entregaron sus ejercicios mediante PM o e-mail investigaron o leiéron algun code y usaron "nul" para quitar el mensaje del Pause...:

Vayan a la cmd y escriban: "pause" y denle a enter.Como ven, les aparece el mensaje de pausa y deben apretar enter para que continue con el código:



Hagan lo mismo escribiendo: "pause > nul" y no aparecerá texto:



Pues bien, esto es debido al parámetro "nul", este se escribé detras del símbolo ">" y puede funcionar de estas maneras (respecto al pause):

pause>nul
pause >nul
pause > nul
 Con los espacios entre cada carácter que se desee, de todas fromas, yo recomiendo usar este formato: "pause > nul", más que nada porque se lee más claro entre otras cosas Wink

Simplemente, como veremos en otros comandos, el parámetro "nul" sirbe para no mostrar el resultado de un comando, no se puede usar en todos y no tiene nada que ver con el  @echo off, ya que como vimos,  @echo off sirve para desactivar el eco (leer clase 0) mientras que el parámetro "nul" sirbe para no dar ifnormación del resultado de ciertos comandos que iremos viendo a medida que se vaya avanzando en el curso...

En la introducción a esta clase, ya se dice que nos empezamos a manejar con ciertos comandos en batch; y así va a ser, vamos a empezar con el comando "del":

Del biene del ingles: "delete", que significa borrar, eliminar. Este comando sirve para eliminar archivos pero no es un comando cualquiera, me voy a explicar:

Hay un secreto que los infromáticos guardan, es el hecho de la eliminación de los archivos. En windows tu te puedes dirijir a un archivo y eliminarlo con el boton SUPR o haciendo click derehco y dándole a "eliminar". Tu, en hacerlo, no podrás volver a verlo donde estaba. Pero en realidad no es así: Los archivos se almacenan en celdas que llamamos "bit", estas celdas contienen caracteres, píxeles... y un grupo de bits, forman un byte, uno de estos, forman kylobytes... Cuando ceramos un archivo, lo que estamos haciendo es rellenar unas celdas con carácteres que cumplen funciones similares, en guardar el archivo en un dierctorio, ocupamos unas celdas que tendran una función en común, y informarán de las celdas que tienen, por ejemplo, sabremos que si un documento de texto (.txt) ocupa 10kb, nos infroma del número de celdas aproximadas que ocupa con inffromación. Pues bien, en borrar un archivo de forma manual a tarvés de la interfaz de windows, lo que hacemos es quitarle el uso del usuario al archivo, pero las celdas, por su seguridad, hacen copias de lo que tenien, así que borrando un archivo con la interfaz de windows, lo borraremos pero habrá celdas que sigan conteniendo información (esto es bueno por si eprdemos muchos datos y con un programad e recuperación, obtenerlos otra vez).

La diferencia que hay entre borrar archivos manualmente en borraros con un .bat usando comando "del", es que en el primer caso, quedarán celdas con la información que contenia el archivo, mientras que en el segundo caso, las celdas también se eliminaran y no habrá manera de recuperarlas. (Si se fijan, un archivo que borremos con del, no aparecerá en la Papelera de reciclaje).

Pue sbien, ahora que sabemos de que va el asunto, vamos a ponernos con el comando del, vayan a la cmd y escriban:
del /?
Les dará la información sobre los diferentes parámetros que este comando tiene, puede borrar forzando la eliminacion de archivos de solo lectura, eliminar los archivos en el directorio y sus sibdirectorios...
Vamos a manejarnos al 100% con este comando y vamos a ver todo lo que podemos sacar de su partido Tongue

1- Creen una carpeta en c y llámenla "carpeta".
2- Dentro de ella creen un .txt y llamenlo "uno".
3- En la misma carpeta, creen otra carpeta llamada "carpeta2".
4- Creen un .txt llamado "dos" en la carpeta "carpeta2".

Bien, para aprender, lo que hay que hacer es practicar desde MS-DOS y mirar los resultados que hacen los comandos que escribimos.

Empezemos con el comando DEL:



Vamos a borrar un simple archivo, por ejemplo el archivo uno.txt que creamos antes, para ello diríjanse a la cmd y escriban:

del c:\carpeta\uno.txt

Recuerden siempre de nombrar la extension. Como ven, el archivo ha sido eliminado, no aparece en la papelera ni nada de eso, por lo que la sintaxis es la siguiente:

DEL PARAMETROS RUTA

En este caso no hemos hecho servir ningun parámetro, pero en la cmd ya explican como usarlos, por ejemplo. yo reocmiendo usar siemrpe el parametro f y q, que forzaran la eliminación y no pediran confirmación, ya que siempre pueden pedirte confirmacion con algun tipo de archivos o si borras en los subdirectorios, etc...

Como ven, no hay mcuho que decir, experimenten con todos los comandos posibles y practiquen, es facil y lo dominaran con soltura.

Pero hay algo que muchos users avanzados no saben hacer y que yo he descubierto escriviendo esta clase... Si se dan cuenta, nunca nos dan ifnromación de lo que se borra o no se borra, sin embargo; en muchos virus queremos borrar archivos en todos los subdirectorios, lo haremos con el parámetro /s, aún así, nos dan información de lo que se borra y es algo que a muchos, si queremos infectar a alguien, no nos gusta que aparezca, porque entonces la víctima sabe lo que le ha pasado. Esto ha sido solucionado hasta ahora, por lo que creo, con el comando exit, d emanera que con un...

 @echo off
del /s .....
exit

No daría tiempo a leer lo que nos dice, si se dan cuenta, esto nos obliga a salir de la cmd, aunque hay muchos otros recursos, hay un modo que es perfecto... Un parámetro... lo reuerdan? Sí, del es un comando que nos da información, como pause entre otros... Para no ver esta infromación usaremos el parámetro nul...

Vuelvan a crear el uno.txt que borramos anteriormente y coloquenlo en la carpeta "carpeta".

Vayan a la cmd y escriban:

del /q /s /f c:\"carpeta"\*.*

Les aparecerá un mensaje diciendo todos los.txt que ha borrado, para evitarlo, usaremos el parametro nul, eliminen las carpetas: "carpeta" y "carpeta2" y vuelvan a hacer lo siguiente: no es necesario borrarlas, solo con que añadan los archivos .txt necesarios.

1- Creen una carpeta en c y llámenla "carpeta".
2- Dentro de ella creen un .txt y llamenlo "uno".
3- En la misma carpeta, creen otra carpeta llamada "carpeta2".
4- Creen un .txt llamado "dos" en la carpeta "carpeta2".

Y escriban esto en la cmd:

del /q /s /f c:\"carpeta"\*.* > nul

Se han borrado los archivos y no tenemos mensaje alguno ni ifnormación de lo que hemos borrado Wink

Seguramente, aún no entiendan porque escribimos "*.*", ya lo entenderán más adelante; si tienen curiosidad, pueden investigar sobre los comodines en batch...

Bien, el comando del no tiene muchas ma snocedades de la que le sacabo de explicar, simplemente prueben y practiquen Wink

Bien, esta clase me parece que está cundiendo mucho, ahora les voy a explicar algo sore eliminar directorios...

Si se fijan, con del, eliminabamos archivos pero no carpetas (directorios), esto es algo que podemos eliminar con rd, eliminaremos directorios. Este comando es mucho más sencillo y por lo tanto, presenta menos complicaciones.

Vayan a la cmd de nuevo y escriban: help
Busquen el comando RD y miren lo que pone.

Como ven, no me equivocaba, este comando elimina/quita directorios... Vamos a profundizar un poco mas, escriban ahora:

rd /?

Y obtendran infromación de este comando, como ven, solo tiene dos parámetros, y la estructura que sigue es muy sencilla pero efectiva.

- Creen una carpeta en c:\ y llámenla "direcrd".
- Dentro de esta, creen un .txt llamado "otro".

Diríjanse a la cmd y esciban ahora:

RD /s /q c:\drecrd

Y se eliminara direcrd junto con sus carpetas (gracias al parámetro /s) de modo silencioso, sin confirmación (gracias al parámetro /q) y tambien se eliminarán los archivos...

Ahora prueben otra vez y creen una carpeta llamada 1 y dentro de esta, otra llamada 2, vayan a la cmd y escriban:

rd c:\1

Sin parámetros, parece que solo querramos borrar una carpeta pero no nos dejará, la carpeta tiene que estar vacía, y eso nos lleva al siguiente punto, mover los archivos de x sitio a x sitio.

Para esto, uamos el comando move, para mover archivos de un sitio a otro, si movemos todos los archivos que contiene podrmeos borrar esa carpeta.

Vayan a la cmd y escriban: "move /?" (sin comillas);

Con esa ifnormación que te dan, puedes mover archivos de x sitio a x sitio o cambiar el nombre a directorios, nosotros vamos a usar la primera característica: mover archivos de un sitio a otro. Esto no se suele usar para poder borrar una carpeta, pero es una manera de usarse y familiaricarse con el lenguaje de programación.

Les recomiendo que lean atentamente todos los parametros (ques on pocos) con el Y y el -Y, y que practiquen, porque esto que les explico es la base, quizás no lleguen a usarlo en algunos programas, pero si en otros Wink

- Creen una carpeta en c:\ y llamenla "segundo"

Move c:\gh\*.* c:\segundo

- Los archivos que tenia gh pasan a la carpeta segundo, ahora si que pueden eliminar la carpeta de esta forma:

rd c:\gh

Bueno, el comando move no es muy usado, pero basta con saber algo sobre el y aprender un par de cosas ma´s si investigan un poco por la cmd, no es complicado.

Otro comando que podemos aprender es "md" o "mkdir" que es el antonimo de "rd" o "rmdir", crea directorios...

Vayan a la cmd y escriban: md /?

Les dan información tanto básica como algo avanzada, por decirlo de alguna manera; la ifnormación que vamos a usar, como e sla clase 1, va a ser la básica... con md crearán diirectorios y es muy sencillo su uso;

Vamos a crear un directorio llamado dirbatch en la unidad c:\, :

md c:\dirbatch

Como ven es muy sencillo crear directorios Tongue

Por último, les voy a enseñar a crear comentarios en un programa; esto se hace con el comando REM.

Los comentarios, en realidad no hacen ninguna funcion en le funcionamiento del programa, simplemente, sirben para, quien lea el codigo, s ehaga una idea de lo que se esta programando... Si estan crean un programa con la extension .bat, pueden editarlo y ver su código fuente, para eso, se dirigen al bat, click derecho y le dan a editar. Con esto, pueden ver el codigo del programa, los comandos que uso y lo que hace con más atención.

Podemos crear comentarios para la gente que lea el codigo para que pueda entenderlo mejor. Imaginen que tienen un programa que crea un directorio en c:\ llamado "dir", el codigo del progrma seria:

 @echo off
md c:\dir
exit

Pues si la persona no sabe muy bien como funciona el programa puedes crear comentarios que no afectaran en el funcionamiento, es solo para el user que lee el codigo y nada mes, y quedaria algo como:

 @echo off
rem Esto te crea un directorio en c:\ llamado dir.
md c:\dir
exit

Obviamente, no aparecerá nada en pantalla y el comanterio que hagas nunca sale escrito en su ejecución, como digo; es solo para informar al user que lee el código y no hace ninguna funcion en el programa, solo para el codigo que el user lea, por lo que el comentario no aparece en pantalla en ningun momento.

Hace falta distinguir bien entre echo y rem; echo imprime texto en pantalla y rem solo se escribe en el codigo para que el user en leer el codigo sepa de que va la cosa.

Es algo raro de explicar, pruébenlo y lean códigos y lo entenderan mejor  Wink

Bueno, ya solo me queda agradecer a la gente que s eune al curso y que gracias a estos users puedo continuar aprendiendo mientras vosotros, tambien aprendéis Smiley

------------------------
 EJERCICIOS:
------------------------

1) Quiero que me hagas un programa que te cree dos carpetas que se llamaran "prim" y "seg". En la carpeta prim, deben haber las siguientes carpetas: "1", "2", "3". Y en la carpeta "sec" deben haber las siguientes: "4", "5", "6".

2) Debes darme la línea de code que puede hacer borrar archivos en todos los subdirectorios, frozando la eliminacion de estos archivos, sin pedir confirmación y sin que dé mensajes de información sobre los archivos que se han eliminado.

3) Busca información sobre los comodines de batch y explicame para que uso yo en esta clase los caracteres "*.*".

4) Dame la línea de cóigo que haria mover x archivo a x carpeta y aparezcan comentarios para que entienda el codigo...

----------------------

- Como ven son ejercicios sencillos, esto es porque es la primera clase, y son cosas más light, no se preocupen porque voy a darles mucha caña en las próximas clases Tongue:P:P

Podia hacer esta clase 1 aún más extensa, pero no tengo mucho tiempo y me parece que ya es bastante parac omenzar, amímense. Preguntas, algo que no hayan entendido pueden publicarse en este post.

PD: NO publicar la solución de los ejercicios en este topic!!!

Si tienen hechos los ejercicios, pueden pasármelos por IM o PM (como le quieran decir) y se los correjiré si hacef alta y les comentaré lo que sea Wink

Bytes, Espectro Infernal
« Última modificación: Abril 08, 2008, 02:29:36 por Espectro Infernal » En línea



tkows
Habitual
*****
Desconectado Desconectado

Mensajes: 183


tkows@hotmail.com
Ver Perfil Email
« Respuesta #1 en: Noviembre 18, 2006, 06:45:25 »

me parece muy bien este curso, espero que tire hacia delante, voy ha hacer los ejerciciios, luego que? te lo envio por IM el codigo?

Saludos!
En línea
Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 695



Ver Perfil
« Respuesta #2 en: Noviembre 18, 2006, 07:04:13 »

En línea



.::Cr4m::.
Colaborador
*****
Desconectado Desconectado

Mensajes: 466


S Lchas Pueds prdr..pro si no luchas stas prdido..

cr4m@el-hacker.org
Ver Perfil
« Respuesta #3 en: Noviembre 18, 2006, 07:32:19 »

wo! me encanto este cursillo!! Wink  me aclaraste muchas dudas ya que siempre e tenido curiosidad acerca de batch. ya ice el ejercicio(el primero). te lo mando?.. creo k m salio bien, Cheesy

sal1dos
« Última modificación: Noviembre 18, 2006, 07:34:20 por .::Cr4m::. » En línea

Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 695



Ver Perfil
« Respuesta #4 en: Noviembre 18, 2006, 10:22:31 »

En línea



Laocoonte
Colaborador
*****
Desconectado Desconectado

Mensajes: 624



Ver Perfil
« Respuesta #5 en: Noviembre 19, 2006, 09:59:03 »

« Última modificación: Noviembre 19, 2006, 10:04:33 por Judas Macabeos » En línea





Clan Pancitas Indigestaditas

Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 695



Ver Perfil
« Respuesta #6 en: Noviembre 20, 2006, 08:17:11 »

En línea



NumaH
Miembro
*****
Desconectado Desconectado

Mensajes: 135


Ver Perfil
« Respuesta #7 en: Noviembre 23, 2006, 07:14:24 »

En línea
iobh
Colaborador
*****
Desconectado Desconectado

Mensajes: 692


Odi Profanum Vulgus et Arceo


Ver Perfil WWW
« Respuesta #8 en: Noviembre 23, 2006, 07:24:09 »

Busca la funcion
>

y nul

hay un post cercano donde se explica esto Wink

Salu2
En línea

"No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela."

-Albert Einstein

Microchip
Miembro
*****
Desconectado Desconectado

Mensajes: 101


Microchip


Ver Perfil WWW
« Respuesta #9 en: Noviembre 23, 2006, 08:23:57 »

 @echo off
echo hola
pause
echo "pause es igual a presione una tecla para continuar"
pause
En línea

Visita*********
Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
WEB DE MICROCHIP
*********
Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 695



Ver Perfil
« Respuesta #10 en: Noviembre 24, 2006, 08:53:22 »

En línea



Microchip
Miembro
*****
Desconectado Desconectado

Mensajes: 101


Microchip


Ver Perfil WWW
« Respuesta #11 en: Noviembre 24, 2006, 11:18:58 »

Lo siento no explique lo que queria decir, era para el que pregunto lo de colocar en pausas "pulse una tecla para continuar" je je!!!

Bueno ya lo explique Wink
En línea

Visita*********
Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
WEB DE MICROCHIP
*********
Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 695



Ver Perfil
« Respuesta #12 en: Noviembre 24, 2006, 12:34:40 »

En línea



NumaH
Miembro
*****
Desconectado Desconectado

Mensajes: 135


Ver Perfil
« Respuesta #13 en: Noviembre 24, 2006, 01:17:41 »

En línea
Toxicalfire
Recien Llegado
*
Desconectado Desconectado

Mensajes: 1


Ver Perfil
« Respuesta #14 en: Noviembre 27, 2006, 07:30:47 »

Hola, soy nuevo, vi tu curso y creo que esta muy bien.
A ver si lo continuas, que estoy esperando la continuacion con impaciencia. Grin Grin Grin
En línea
Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 695



Ver Perfil
« Respuesta #15 en: Noviembre 27, 2006, 09:41:26 »

En línea



Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 695



Ver Perfil
« Respuesta #16 en: Diciembre 05, 2006, 04:42:46 »

En línea



NumaH
Miembro
*****
Desconectado Desconectado

Mensajes: 135


Ver Perfil
« Respuesta #17 en: Diciembre 06, 2006, 09:36:40 »

En línea
$$Zer0$$
Miembro
*****
Desconectado Desconectado

Mensajes: 88


wrung_division@hotmail.com
Ver Perfil
« Respuesta #18 en: Diciembre 07, 2006, 08:45:26 »

En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 695



Ver Perfil
« Respuesta #19 en: Diciembre 07, 2006, 08:50:37 »

En línea



$$Zer0$$
Miembro
*****
Desconectado Desconectado

Mensajes: 88


wrung_division@hotmail.com
Ver Perfil
« Respuesta #20 en: Diciembre 07, 2006, 09:24:14 »

En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
*redshark*
Recien Llegado
*
Desconectado Desconectado

Mensajes: 35



Ver Perfil
« Respuesta #21 en: Diciembre 07, 2006, 04:17:20 »

uno mas para aprender batch!  O Cheesy Grin

nos vemos!
En línea
naidikitov
Recien Llegado
*
Desconectado Desconectado

Mensajes: 23


Aprendiz de hacker


Ver Perfil
« Respuesta #22 en: Diciembre 08, 2006, 09:08:56 »

Yo tambien me apunto!!!!!


SALUDOS Grin
En línea

Si quieres desayunar en la cama, duerme en la cocina
Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 695



Ver Perfil
« Respuesta #23 en: Diciembre 08, 2006, 03:16:04 »

En línea



$$Zer0$$
Miembro
*****
Desconectado Desconectado

Mensajes: 88


wrung_division@hotmail.com
Ver Perfil
« Respuesta #24 en: Diciembre 09, 2006, 11:15:05 »

En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Páginas: [1] 2 3 4 Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, The Shadow)  |  Tema: Curso Batch desde 0 By: Espectro Infernal / CLASES DISPONIBLES: Clase 0, 1 / « anterior próximo »
Ir a:  
Novedades, Dudas, Comentarios Y Sugerencias, Top 100, Off-Topic, Revista E-Zine, Revista E-Zine, Sistemas operativos libres. , HacK GeneraL, Phreaking, Bug y Exploits, Networking & Wireless, Overclocking, Refrigeracion y demas, Hardware, Electronica Y Robotica, Hack para newbies, Todo Messenger, Troyanos y virus, Programacion, Programacion para webmasters, Software, Cracks & Serialz, P2p, Bittorrent, Elinks, Diseño Grafico, Juegos PC, Mp3, Multimedia, Peliculas Divx, Juegos, Humor y Adultos. (Diversion), Paginas Webs Recomendadas, Videos,


Zona-Musical Juegos online Juego Gratis10 Solucion Hosting Videos De Musica 1juegogratis