[Batch]Numero de archivos enconrtrados

Iniciado por Nilrac, 24 Julio 2010, 02:30 AM

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

Nilrac

Hola !

Quisiera que me ayudaran a completar el codigo

echo.>archivo.txt

for %%a in (

Varios archivos

) do (
       if exist %%a (
                            Echo %%a se encontro >> archivo.txt
                            ::COlocar aquí el numero de archivos que se encontraron
)


Es decir, si encontro 2 archivos que especifique en archivo.txt

Gracias

maxx93

Modifique un poco el code...


setlocal enabledelayedexpansion
set n=0
for /f "delims=" %%a in (lista.txt) do (if exist %%a (set /a n=!n!+1&echo %%a se encontro >> archivo.txt))
echo -------------------------------->>archivo.txt
echo Se encontraron %n% archivos>>archivo.txt


En lista.txt estan las rutas de los archivos
Salu2

leogtz

#2
Cita de: maxx93 en 24 Julio 2010, 03:44 AM
Modifique un poco el code...


setlocal enabledelayedexpansion
set n=0
for /f "delims=" %%a in (lista.txt) do (if exist %%a (set /a n=!n!+1&echo %%a se encontro >> archivo.txt))
echo -------------------------------->>archivo.txt
echo Se encontraron %n% archivos>>archivo.txt


En lista.txt estan las rutas de los archivos
Salu2

¿Dónde quedó el concepto de indentación?
Es un mal hábito de programación poner varias líneas de código en una sola, sacrificas las el número de líneas por la legibilidad.

Quedaría mucho mejor así:
Código (dos) [Seleccionar]

set /a n=0
for /f "tokens=*" %%_ in (lista.txt) do (
if exist "%%_" (
set /a n+=1
echo Se encontró [%%_] >> "archivo.txt"
)
)
echo Se encontraron %n% archivos >> "archivo.txt"
Código (perl) [Seleccionar]

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

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

maxx93

#3
Cita de: Leo Gutiérrez. en 24 Julio 2010, 04:00 AM
Quedaría mucho mejor así:
Código (dos) [Seleccionar]

set /a n=0
for /f "tokens=*" %%_ in (lista.txt) do (
if exist "%%_" (
set /a n+=1
echo Se encontro [%%_] >> "archivo.txt"
)
echo Se encontraron %n% archivos >> "archivo.txt"


En la anteúltima linea falto cerrar el ) del for. Salu2.


Editado 24/07/2010 19:01 (GMT -03:00)...
Cita de: Leo Gutiérrez. en 24 Julio 2010, 04:00 AM
Quedaría mucho mejor así:
Código (dos) [Seleccionar]

set /a n=0
for /f "tokens=*" %%_ in (lista.txt) do (
if exist "%%_" (
set /a n+=1
echo Se encontró [%%_] >> "archivo.txt"
)
)
echo Se encontraron %n% archivos >> "archivo.txt"


Ahora esta mejor... Salu2.

Nilrac


maxx93

Crea un archivo lista.txt con las rutas de los archivos, despues fijate ultilizando mi code...
Cita de: maxx93 en 24 Julio 2010, 03:44 AM

setlocal enabledelayedexpansion
set n=0
for /f "delims=" %%a in (lista.txt) do (if exist %%a (set /a n=!n!+1&echo %%a se encontro >> archivo.txt))
echo -------------------------------->>archivo.txt
echo Se encontraron %n% archivos>>archivo.txt


Salu2.

Nilrac

#6
Perfecto Maxx93  ;-)

Ahora tengo una simple duda:

para desactivar el setlocal enabledelayedexpansion es con setlocal disabledelayedexpansion ?

FranciskoAsdf

Asdf debería ser algún tipo de función.

leogtz

Código (perl) [Seleccionar]

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

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