Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Deiv

#1
Tutoriales - Documentación / Find
5 Febrero 2006, 16:28 PM
Bueno Investigando un poco encontré esto de como hallar los archivos que requieres (en tu caso RAR o ZIP) existen 2 formas que las puedes combinar:

CASO 1 (Detecta en el Directorio actual).-
@echo off

set fichtemp=%temp%\temporal.txt

if exist *.rar dir *.rar /b >%fichtemp%
if exist *.zip dir *.zip /b >>%fichtemp%

type %fichtemp% |sort |more
del %fichtemp%
set fichtemp=
echo.


CASO 2 (Detecta en la Raiz principal y los Subdirectorios).-
@echo off
echo.
dir \%1 /b /s /p
echo.

Ejecución:
C:\Documents and Settings\Administrador\Mis documentos\BATs>buscar *.RAR (enter)


Bueno para mi pregunta lo que hice es el 2do Caso:

@echo off
set fichtemp=%temp%\temporal.txt

if exist *.rc dir *.rc /b >%fichtemp%

type %fichtemp% |sort |more
del %fichtemp%
set fichtemp=
echo.

Ahora lo único que queda es implementar un contador y para cada archivo encontrado me ejecute el "brcc32" para todos los *.rc encontrados a través de un for (o tal vez sin for) pero ahora necesito de tu ayuda ante el FOR y la Ejecución, creo ahí no tienes problemas verdad?, a recordar el mío:

Lo que requiero es que mi Archivo BAT haga lo siguiente:
1- Detecte los archivos *.rc que existan en el actual directorio (Ya esta resuelto)
2- Que los Cuente, ¿Cuantos encontró? (O que directamente ejecute el bcc32 con los encontrados)
3- Hacer un FOR hasta la cantidad que Contó
4- Dentro del FOR Hacer funcionar: brcc32 para todos los archivos encontrados *.rc a *.res en el directorio que me encuentro) y así transformarlos.

Pienso que mi problema ahora está solamente en el punto 2 y 3. Pero además me entró otra duda, ¿Como capturo cada archivo encontrado individualmente? ¿Alguna sugerencia?
Saludos
#2
Hola,
En cuanto a MS-DOS se refiere casi nunca intenté crear un Archivos por lotes (BAT) o programar, y ahora desde Windows XP necesito crear un archivo CONVERSOR.BAT que me realice una tarea, ya que estoy trabajando con Delphi7 (con una de sus herramientas "brcc32" que transforma archivos creando recursos de Archivo.rc a Archivo.res). Mi BAT, contiene estas líneas:

PATH C:Archivos de programaBorlandDelphi7Bin
brcc32 PRUEBA.rc  PRUEBA.res


Lo que hace CONVERSOR.BAT es detectar donde se encuentra el ejecutable "brcc32" para transformar un archivo de recursos de ".rc"  a  ".res", este trabaja muy bien en el directorio que me encuentre al darle doble click.

El problema es, que cuando creo otro fichero .rc, cada vez tengo que estar editando mi CONVERSOR.BAT para cambiar los nombres del archivo en la segunda línea (Ej.: brcc32 OtraPrueba.rc  OtraPrueba.res)

Entonces lo que requiero es que mi Archivo BAT haga lo siguiente al doble click:

- Detecte los archivos *.rc que existan en el directorio actual que me encuentre.
- Que los cuente.
- Hacer un FOR hasta la cantidad que contó.
- Dentro del FOR Hacer funcionar: brcc32 para todos los archivos encontrados *.rc     a     *.res en el directorio actual) y así transformarlos.

De repente sea un código sencillo para muchos, pero redundo que no he creado buenos archivos por lotes, he ahí la razón del porque de mi pregunta.

Estaré atento a vuestros post de orientación.
Un saludo