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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [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 7,240 veces)
haveavigar

Desconectado Desconectado

Mensajes: 6


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

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

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
  1. @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 pm 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 am »

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
  1. for /f "" %%A in (temp.txt) do (
  2. set sacar=%%A
  3. set sacado=%sacar:"=%
  4. @echo %sacado% >> actual.txt
  5. )

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 am 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 am »

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

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

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


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

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%_ in (temp.txt) do (
  4. set "line=%%_";
  5. set line=!line:"=!
  6. echo !line!
  7. )


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
  1. @echo off
  2.  
  3. setlocal enabledelayedexpansion
  4. set /a contador=1
  5. for /f "usebackq eol=- delims=^=>/ tokens=6,12,13,14" %%A in (`find /i "prev.jpg" masdiosas.php@id^=10123`) do (
  6. set line_!contador!=% style="color: #448888;">% style^="color: #448888;"^>A_%%B_%%C_%%D
  7. set /a contador+=1
  8. )
  9.  
  10. set line_
  11.  

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 am por Leo Gutiérrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
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 pm »

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

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


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

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 pm por Leo Gutiérrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[BATCH] Asignar a una variable el resultado de un comando (Solucionado)
Scripting
TaRGaZo 2 18,886 Último mensaje 30 Junio 2009, 10:59 am
por TaRGaZo
[batch] problema con variables y espacios[Solucionado]
Scripting
corax 4 14,230 Último mensaje 10 Octubre 2009, 19:12 pm
por corax
[Batch] Problema con las variables [Solucionado] « 1 2 »
Scripting
DA KILLER 17 13,177 Último mensaje 19 Mayo 2010, 03:54 am
por DA KILLER
[batch]unir dos o mas variables en una sola [Solucionado]
Scripting
z_ane_666 3 17,886 Último mensaje 3 Enero 2011, 22:32 pm
por klaine
Crear un batch desde otro batch con variables
Scripting
Javiito_32 3 3,418 Último mensaje 26 Septiembre 2018, 17:52 pm
por Javiito_32
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines