elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Pasarle la variable %%A de un FOR a un segundo FOR
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pasarle la variable %%A de un FOR a un segundo FOR  (Leído 2,046 veces)
nhaalclkiemr


Desconectado Desconectado

Mensajes: 1.678


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Pasarle la variable %%A de un FOR a un segundo FOR
« en: 23 Mayo 2007, 19:10 pm »

Como puedo solucionar esto?

Código:
for /D %%A IN (C:\*) DO for /R "%%A" %%Q IN (*) DO echo "%%Q" | find "archivo" >> tmp.tmp

Lo que quiero hacer es cojer de C:\ la lista de directorios con un FOR y pasarselo a otro FOR que realizará una accion en sus subcarpetas.
Ya sé k como con FOR /D voy a conseguir las subcarpetaas y despues voy a analizar estas se podría hacer de esta manera:

Código:
for /R "C:\" %%Q IN (*) DO echo "%%Q" | find "archivo" >> tmp.tmp

Pero esto no me sirve por unas razones, concretamente pork hay carpetas de C:\ que quiero excluír...es decir, el primer for guarda en %%A las subcarpetas de C:\ y despues le pasa al segundo FOR las subcarpetas que por ejemplo cumplan un cierto atributo...pero esto no importa...la cuestion es komo puedo pasarle la variable %%A a el segundo FOR, puesto que en el code que puse al principio %%A no se expande...Yo prové varias maneras pero nada:

Código:
for /D %%A IN (C:\*) DO (for /R "%%A" %%Q IN (*) DO echo "%%Q" | find "archivo" >> tmp.tmp)

Código:
for /D %%A IN (C:\*) DO (
for /R "%%A" %%Q IN (*) DO echo "%%Q" | find "archivo" >> tmp.tmp
)

Código:
for /D %%A IN (C:\*) DO (
for /R "!!A" %%Q IN (*) DO echo "%%Q" | find "archivo" >> tmp.tmp
)

Código:
for /D %%A IN (C:\*) DO (
set tm=%%A
for /R "%tm%" %%Q IN (*) DO echo "%%Q" | find "archivo" >> tmp.tmp
)

Código:
for /D %%A IN (C:\*) DO (
set tm=%%A
for /R "!tm!" %%Q IN (*) DO echo "%%Q" | find "archivo" >> tmp.tmp
)

Pues ninguno de estos me funciona, por el tema de las extensiones de comando para usar !variable! ya lo habia comentado aki y no me funcionaba eso de que dentro de un parentesis si pones !variable! y tienes las extensiones de comando activadas...eso lo digo por los dos ultimos ejemplos k puse k no funcionan sobre todo...



¿¿Posibles soluciones?? :huh: :huh:


En línea

StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%
sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Pasarle la variable %%A de un FOR a un segundo FOR
« Respuesta #1 en: 24 Mayo 2007, 02:09 am »

usa funciones :P
cuando mandas llamar:
Código:
for /D %%A IN (C:\*) DO (
     funcion %%A
)
goto:EOF
:funcion
for /R "%1" %%Q IN (*) DO  (
     echo "%%Q" | find "archivo" >> tmp.tmp
)
es una forma no documentada de expandir variables.

Saludos!!


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Velneo.... y esto?
Dudas Generales
Luna71c0 4 3,900 Último mensaje 22 Noviembre 2014, 16:02 pm
por ea3000
pasarle argumentos a un bat?
Scripting
x64core 3 6,992 Último mensaje 22 Octubre 2012, 05:06 am
por x64core
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines