elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 06:53  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  [BATCH] asignar variables con set desde un for /f[Solucionado]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH] asignar variables con set desde un for /f[Solucionado]  (Leído 1,959 veces)
haveavigar

Desconectado Desconectado

Mensajes: 6


Ver Perfil
[BATCH] asignar variables con set desde un for /f[Solucionado]
« en: 12 Enero 2011, 23:14 »

Estoy haciendo esto para bajar galerias de una pagina pero
me trabe en el siguiente script:
Código
@echo off
set /a contador=1
setlocal enabledelayedexpansion
for /f "usebackq eol=- delims=^=>/ tokens=6,12,13,14" %%A in (`find /i "prev.jpg" masdiosas.php@id^=10123`) do (
@echo !contador!=%% style="color: #448888;">A_%%B_%%C_%%D
@set /a contador+=1
)
 

Este script devuelve esto:
Citar
1=17330"_2010_12
2=17320"_2010_12
3=17307"_2010_12
4=17298"_2010_12
5=17287"_2010_11
6=17266"_2010_11
7=17244"_2010_11
8=17225"_2010_11

lo que quiero hacer es que los numeros del uno al ocho sean las variables,
intente asignar poniendo la instruccion
Código
@set !contador!=%% style="color: #448888;">A_%%B_%%C_%%D
adentro del DO pero el set no lo deja poner,
tampoco funciona poner "!contador!"

Bueno, eso es todo, espero puedan ayudarme, saludos.


« Última modificación: 14 Enero 2011, 22:39 por Leo Gutiérrez. » En línea
haveavigar

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [BATCH] asignar variables con set desde un for /f
« Respuesta #1 en: 13 Enero 2011, 00:22 »

este codigo devuelve solo la ultima linea
de temp.txt, lo que intento es sacar las comillas despues de los primeros
numeros,
Tengo que usar "setlocal enabledelayedexpansion" y hago referencia a la variable con !variable!, de esa forma no la puedo asignar

Código
for /f "" %%A in (temp.txt) do (
set sacar=%%A
set sacado=%sacar:"=%
@echo %sacado% >> actual.txt
)

este es el txt:
Citar
17330",2010/12
17320",2010/12
17307",2010/12
17298",2010/12
17287",2010/11
17266",2010/11
17244",2010/11
17225",2010/11



« Última modificación: 13 Enero 2011, 00:57 por Leo Gutiérrez. » En línea
haveavigar

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [BATCH] asignar variables con set desde un for /f
« Respuesta #2 en: 13 Enero 2011, 01:04 »

las variables se borran cuando termina el batch, se puede ver en este script:
Código
@echo off
setlocal enabledelayedexpansion
set /a n = 1
for /L %%i in (1,1,5) do (
set /a contador = !contador! + %% style="color: #448888;">i
if "!contador!"=="4" set cinco=Variablecinco
echo !contador!
)
echo %cinco%

« Última modificación: 13 Enero 2011, 01:10 por Leo Gutiérrez. » En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: [BATCH] asignar variables con set desde un for /f
« Respuesta #3 en: 13 Enero 2011, 01:13 »

Código
@echo off
setlocal enabledelayedexpansion
for /f %%_ in (temp.txt) do (
set "line=%%_";
set line=!line:"=!
echo !line!
)


Citar
C:\>type temp.txt
17330",2010/12
17320",2010/12
17307",2010/12
17298",2010/12
17287",2010/11
17266",2010/11
17244",2010/11
17225",2010/11

C:\>code.bat
17330,2010/12
17320,2010/12
17307,2010/12
17298,2010/12
17287,2010/11
17266,2010/11
17244,2010/11
17225,2010/11

C:\>


Para tu primera duda prueba esto:
Código
@echo off
 
setlocal enabledelayedexpansion
set /a contador=1
for /f "usebackq eol=- delims=^=>/ tokens=6,12,13,14" %%A in (`find /i "prev.jpg" masdiosas.php@id^=10123`) do (
set line_!contador!=% style="color: #448888;">% style^="color: #448888;"^>A_%%B_%%C_%%D
set /a contador+=1
)
 
set line_
 

Es imposible ayudarte con la primera duda si no pones el contenido del archivo que estás trabajando y qué es lo que quieres obtener.
« Última modificación: 13 Enero 2011, 01:18 por Leo Gutiérrez. » En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
haveavigar

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [BATCH] asignar variables con set desde un for /f
« Respuesta #4 en: 14 Enero 2011, 19:38 »

ah ok, el segundo ejemplo funciona!, yo ponia
en el comando "set" la variable !contador!=...  , sola, sin nada.

gracias por tu respuesta Leo, saludos.
trabajas en algo que tenga que ver con programacion??
En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: [BATCH] asignar variables con set desde un for /f
« Respuesta #5 en: 14 Enero 2011, 20:31 »

Cita de: haveavigar
gracias por tu respuesta Leo, saludos.
trabajas en algo que tenga que ver con programacion??


De nada. No, no trabajo de esto, es lo que yo quisiera, trabajar de esto, pero lamentablemente todavía no tengo el placer.

Saludos.
« Última modificación: 14 Enero 2011, 20:37 por Leo Gutiérrez. » En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines