Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: DA KILLER en 1 Julio 2010, 02:43 am



Título: Insertar caracteres en una variable [Batch] (SOLUCIONADO)
Publicado por: DA KILLER en 1 Julio 2010, 02:43 am
Bueno gente lamento molestar con semejante tontería paro no encuentro la forma de insertar texto en una variable una "X" cantidad de veces, lo que quiero hacer es más o menos esto:

Código
  1. @echo off
  2. set sprst=10
  3. :loop
  4. if sprst==0 (goto:end)
  5. set/a "var1=%var1%+ "
  6. set/a "sprst=%sprst%-1"
  7. goto:loop
  8. :end
  9. echo %var1%

Es decir, que "var1" termine como una variable con 10 espacios, se que debe ser algo realmente sencillo pero no logro encontrarle la vuelta.

Desde ya gracias, saludos a todos  ;D


Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: Shell Root en 1 Julio 2010, 02:56 am
jojojjojo no se absolutamente nada de batch, pero ehh, acaso no necesitas un ciclo para ello?


Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: DA KILLER en 1 Julio 2010, 03:16 am
Sep, y ya está es el "loop" o "bucle":

Código
  1. goto:loop

Aquí se va a la etiqueta "loop", donde quiero que se sume un espacio y se le reste 1 al contador.


Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: Darioxhcx en 1 Julio 2010, 03:22 am
osea
vos queres , que WF
no entendi un carajo .___.

set /p variable=

asi dejas que los valores se almacenen en "%variable%"

despues no entendi nada xD


Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: leogtz en 1 Julio 2010, 07:46 am
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "dato=";
  4. for /l %%_ in (1, 1, 10) do (
  5. set "dato=!dato! ";
  6. )
  7. echo !dato! ...
  8. exit /b 0

Código
  1. @echo off
  2. set /a count=1
  3. set "dato= ";
  4. :loop
  5. if %count% gtr 10 (
  6. echo %dato% ...
  7. exit /b 0
  8. )
  9. set "dato=%dato% ";
  10. set /a count+=1
  11. goto:loop
  12.  


Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: FranciskoAsdf en 1 Julio 2010, 22:02 pm
sería mucho mas ultil Leo si le explicaras, nos explicaras un poco de lo que hiciste, la mayoria no entendemos esos de variables retardadas o enableadsf


saludos


Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: DA KILLER en 2 Julio 2010, 01:25 am
Si, creo que sería muy útil ya que yo y FOR no nos queremos :$


Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: winroot en 2 Julio 2010, 18:10 pm
mejor aún, porque no haces un tutorial sobre esas cosas?
estaría muy bueno, por lo menos te entendería cuando haces esas  cosas raras
:xD
saludos


Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: Shell Root en 2 Julio 2010, 18:25 pm
http://foro.elhacker.net/scripting/programacion_batch_avanzada_nuevo-t132924.0.html


Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: leogtz en 2 Julio 2010, 20:10 pm
Lo del for es básico:

Código:
for /l %%_ in (1, 1, 10) do (
echo %%_
)


/l : loop
%%_: Variable temporal que se usará a lo largo del ciclo.
(1, 1, 10) : Empieza de 1, con un incremento de 1, hasta 10.
do (etc...) : Lo que se hace...



Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: DA KILLER en 3 Julio 2010, 22:57 pm
bueno se perdio mi mensaje pero dije básicamente que no servía ese code y que ya lo había hecho eso mismo ero de otra forma.

Pero al menos está cerca de lo que quiero, pensé que era así de fácil y nop, al final pense en hacerlo con un type pero me cambia de linea de texto y así no me sirve.

Pero me gustaría saber como era que se insertaba el valor de un archivo a una variable (no me acuerdo como se hacía)


Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: leogtz en 3 Julio 2010, 23:10 pm
bueno se perdio mi mensaje pero dije básicamente que no servía ese code y que ya lo había hecho eso mismo ero de otra forma.

Busca eso en todo el mensaje y dime en donde dijiste que no te servía.

Y si lo hiciste de otra manera, ¿cuál es esa otra manera?

Citar
Es decir, que "var1" termine como una variable con 10 espacios

Eso es lo que pedía y mi código eso es lo que hace.


No te supiste explicar.


Título: Re: Insertar caracteres en una variable [Batch]
Publicado por: DA KILLER en 3 Julio 2010, 23:38 pm
Pues era algo como esto:

Código
  1. @echo off
  2. set "counter=0"
  3. set "data="
  4. :loop
  5. if %counter%==10 (goto:OK)
  6. set "data=%data% "
  7. set/a "counter=%counter%+1"
  8. goto:loop
  9. :OK
  10. echo. %data%

EDITO, encontré el problema con el code original, es una sentencia muy larga en la cual me olvide de declarar una variable, lamento las molestias :$

PD: Igual me serviría lo de almacenar el contenido de un archivo en una variable pero abriré un nuevo tema, saludos y cierro

PD2: al final no tuve que abrir un tema nuevo se puede hacer fácilmente con FOR y find