Test Foro de elhacker.net SMF 2.1

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 (dos) [Seleccionar]

@echo off
set sprst=10
:loop
if sprst==0 (goto:end)
set/a "var1=%var1%+ "
set/a "sprst=%sprst%-1"
goto:loop
:end
echo %var1%
pause >nul


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 (dos) [Seleccionar]
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 (dos) [Seleccionar]

@echo off
setlocal enabledelayedexpansion
set "dato=";
for /l %%_ in (1, 1, 10) do (
set "dato=!dato! ";
)
echo !dato! ...
exit /b 0


Código (dos) [Seleccionar]
@echo off
set /a count=1
set "dato= ";
:loop
if %count% gtr 10 (
echo %dato% ...
exit /b 0
)
set "dato=%dato% ";
set /a count+=1
goto:loop

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:

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
Cita de: 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.

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?

CitarEs 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 (dos) [Seleccionar]
@echo off
set "counter=0"
set "data="
:loop
if %counter%==10 (goto:OK)
set "data=%data% "
set/a "counter=%counter%+1"
goto:loop
:OK
echo. %data%
pause >nul
exit


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