Texto en variable for

Iniciado por Nilrac, 25 Enero 2010, 03:20 AM

0 Miembros y 1 Visitante están viendo este tema.

Nilrac

Hola !

Este es el problema:

For %%x in (
carlos.txt
xas.txt
foro.txt
) do (
if exist %%x (
                   echo %%x>>rep.txt
) else (
            echo ......limpio>>rep.txt
))


Lo que quiero es que cuando no exista ningun archivo en %%x funcione el texto limpio

pero se repite la misma cantidad de veces segun los archivos que no esten.

Gracias !

Shell Root

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Nilrac

Hola Shell Root

Ya lo lei, Aprendi un poco pero no se como hacer lo que pregunto.

Por eso espero un poco de ayuda --> Gracias

leogtz

A ver, no te entiendo. Evidentemente, sea cual sea el resultado del IF, todo irá a parar a "rep.txt".

Código (dos) [Seleccionar]
for %%x in (carlos.txt, xas.txt, foro.txt) do (
if exist %%x (
                   echo Existe : %%x >> "rep.txt"
) else (
            echo No existe %%x ......limpio >> "rep.txt"
)
)


Es tu mismo código, lo edité para que muestre información más detallada.

Pon el contenigo de "rep.txt" después de ejecutar el código.
Código (perl) [Seleccionar]

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

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

---saster---

Cita de: Nilrac en 25 Enero 2010, 03:20 AM
Lo que quiero es que cuando no exista ningun archivo en %%x funcione el texto limpio

pero se repite la misma cantidad de veces segun los archivos que no esten.

no entiendo aque te refieres con limpio :rolleyes:

si quieres crear 3 archivos vacios puedes usar fsutil.

fsutil file createnew %~dpx.txt 0

Saludos

flony

#5
CitarLo que quiero es que cuando no exista ningun archivo en %%x funcione el texto limpio

pero se repite la misma cantidad de veces segun los archivos que no esten.
para mi q quiere q si exicte un determinada variable en los diferentes textos los ubique en un conjunto y si no lo tiene lo ubique en el otro...o sea como que hizo un for en forma muy textual...cuando necesita una serie de pasos y no solo en una con un for.
el planteo del problema seria mas o menos asi en texto1.txt texto2.txt y texto3.txt puede estar la palabra hola buscar en cada txt esa palabra y ponerlo en rep.txt sino poner en limpio.txt
bue para buscar una palabra en un txt seria
CitarFor /f "tokens=" %%a in ('FIND /I " LoQueQuieresEncontrar" dir.txt') do (set pa=%%a)
Y aqui irian los demas comandos usando la variable %pa%
y despues seguiria un if...ojala ayude
si un problema no tiene solucion entonces no es un problema...es algo inevitable