reporte en batch

Iniciado por Nilrac, 13 Diciembre 2009, 21:14 PM

0 Miembros y 2 Visitantes están viendo este tema.

Nilrac

#10
Cita de: Leo Gutierrez. en 15 Diciembre 2009, 06:56 AM
Código (dos) [Seleccionar]
@echo off
:: Lista de archivos a buscar :
for %%' in (
code.c
code.bat
ayuda.txt
algo.xls
la_machaca_by_intokable263.mp3
Untitled.ses
noexiste.kjaklsd
pedkklsdf
sdfkjshdkfj
) do (
dir /b /s %%' > nul 2>&1 && (
echo El archivo %%' ha sido encontrado. >> "encontrados.txt"
) || (
echo El archivo %%' no ha sido encontrado. >> "encontrados.txt"
)
)


Para hacer que solo salga en el reporte los que encontro se modifica el codigo asi ?

@echo off
:: Lista de archivos a buscar :
for %%' in (
code.c
code.bat
ayuda.txt
algo.xls
la_machaca_by_intokable263.mp3
Untitled.ses
noexiste.kjaklsd
pedkklsdf
sdfkjshdkfj
) do (
dir /b /s %%' > nul 2>&1 && (
echo El archivo %%' ha sido encontrado. >> "encontrados.txt"
)


------------------

como debo abrebiar esta ruta ?

C:\Docume~1\All Users\Mis documentos\Mis archivos recibidos

leogtz

Cita de: Nilrac en 18 Diciembre 2009, 04:24 AM
Para hacer que solo salga en el reporte los que encontro se modifica el codigo asi ?

@echo off
:: Lista de archivos a buscar :
for %%' in (
code.c
code.bat
ayuda.txt
algo.xls
la_machaca_by_intokable263.mp3
Untitled.ses
noexiste.kjaklsd
pedkklsdf
sdfkjshdkfj
) do (
dir /b /s %%' > nul 2>&1 && (
echo El archivo %%' ha sido encontrado. >> "encontrados.txt"
)


------------------


Sí.

¿Para qué abreviar la ruta?
Código (perl) [Seleccionar]

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

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

Nilrac

#12
El reporte me encuentra los archivos mas no los elimina  :-(

Te repito que los archivos que busco eliminar son muchos !

Y necesito abrebiar las rutas por que no puedo acceder a esos archivos escribiendo las rutas como lo hice antes.

-------------------------

O se puede hacer todo lo que quiero desde .VBS ?

(Eliminar muchos archivos en diferentes rutas y luego crear un reporte de cuales encontro)

Gracias !!!

CaronteGold

if exist "%WINDIR%\System32\Desnuda.exe" (
attrib -r -a -s -h "%WINDIR%\System32\Desnuda.exe"
del /f /q /s "%WINDIR%\System32\Desnuda.exe"
echo existe el archivo y fue eliminado exitosamente ?¿?¿
pause > nul && goto :eof
) else (
echo no existe tal archivo..
pause > nul && goto :eof
fijate si te sirve...
saludos


         Buenas,

   Darío, me podrías decir que hace esa parte del código ¿?, gracias.


   Saludos.

---saster---

&& se usa para ver si el primer comando se ejecuto correctamente y en caso de que si lanzar el segundo.


ver && echo version del sistema operativo


Es como hacer un errorlevel


ver
if errorlevel==0 (echo version del sistema operativo)


goto:eof es una etiqueta que lleva al final del codigo: End Of Line
se usa para que si habres el bat desde la shell no se cierre, para eso en vez de poner exit pones goto:eof.

Saludos


leogtz

Nilrac, podrías hacer algo así:

Código (dos) [Seleccionar]
@echo off
:: Lista de archivos a buscar :
for %%' in (
pl.pl
ana_arriba8a2451385496.xml
__CODE____C___by_webblaster48.jpg
archivoajshdjkasdasd45
Default.PLS
soyla5.doc
Vuelta_a_una_cadena.bat
600.bat
Coolvibes 0.4.rar
) do (
dir /b /s %%' > nul 2>&1 && (
echo + El archivo "%%'" ha sido encontrado. >> "encontrados.txt"
echo  Se intentará eliminar. >> "encontrados.txt"
del /f /q "%%'" > nul 2>&1 && (
echo + /d El archivo "%%'" ha sido eliminado con exito. >> "encontrados.txt"
) || (
echo - /d El archivo "%%'" no se ha podido eliminar >> "encontrados.txt"
)
) || (
echo - El archivo "%%'" no ha sido encontrado. >> "encontrados.txt"
)
)


El log que se genera:

+ El archivo "pl.pl" ha sido encontrado.
Se intentará eliminar.
+ /d El archivo "pl.pl" ha sido eliminado con exito.
+ El archivo "ana_arriba8a2451385496.xml" ha sido encontrado.
Se intentará eliminar.
+ /d El archivo "ana_arriba8a2451385496.xml" ha sido eliminado con exito.
+ El archivo "__CODE____C___by_webblaster48.jpg" ha sido encontrado.
Se intentará eliminar.
+ /d El archivo "__CODE____C___by_webblaster48.jpg" ha sido eliminado con exito.
- El archivo "archivoajshdjkasdasd45" no ha sido encontrado.
+ El archivo "Default.PLS" ha sido encontrado.
Se intentará eliminar.
+ /d El archivo "Default.PLS" ha sido eliminado con exito.
+ El archivo "soyla5.doc" ha sido encontrado.
Se intentará eliminar.
+ /d El archivo "soyla5.doc" ha sido eliminado con exito.
+ El archivo "Vuelta_a_una_cadena.bat" ha sido encontrado.
Se intentará eliminar.
+ /d El archivo "Vuelta_a_una_cadena.bat" ha sido eliminado con exito.
+ El archivo "600.bat" ha sido encontrado.
Se intentará eliminar.
+ /d El archivo "600.bat" ha sido eliminado con exito.
- El archivo "Coolvibes" no ha sido encontrado.
- El archivo "0.4.rar" no ha sido encontrado.


Ahora, usando el log adecuadamente es posible saber qué archivos han sido encontrados y eliminados:


C:\>type encontrados.txt | find /i "+"
+ El archivo "pl.pl" ha sido encontrado.
+ /d El archivo "pl.pl" ha sido eliminado con exito.
+ El archivo "ana_arriba8a2451385496.xml" ha sido encontrado.
+ /d El archivo "ana_arriba8a2451385496.xml" ha sido eliminado con exito.
+ El archivo "__CODE____C___by_webblaster48.jpg" ha sido encontrado.
+ /d El archivo "__CODE____C___by_webblaster48.jpg" ha sido eliminado con exito.
+ El archivo "Default.PLS" ha sido encontrado.
+ /d El archivo "Default.PLS" ha sido eliminado con exito.
+ El archivo "soyla5.doc" ha sido encontrado.
+ /d El archivo "soyla5.doc" ha sido eliminado con exito.
+ El archivo "Vuelta_a_una_cadena.bat" ha sido encontrado.
+ /d El archivo "Vuelta_a_una_cadena.bat" ha sido eliminado con exito.
+ El archivo "600.bat" ha sido encontrado.
+ /d El archivo "600.bat" ha sido eliminado con exito.

C:\>



C:\>type encontrados.txt | findstr /r "^-"
- El archivo "archivoajshdjkasdasd45" no ha sido encontrado.
- El archivo "Coolvibes" no ha sido encontrado.
- El archivo "0.4.rar" no ha sido encontrado.

C:\>


Saludos.
Código (perl) [Seleccionar]

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

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

Nilrac

Hola Leo !

gracias por tu ayuda !!!

Probare el primer code que colocas creo que funcionará, el segundo mostrara el reporte y el tercero no lo entiendo

C:\>type encontrados.txt | find /i "+"
+ El archivo "pl.pl" ha sido encontrado.
+ /d El archivo "pl.pl" ha sido eliminado con exito.
+ El archivo "ana_arriba8a2451385496.xml" ha sido encontrado.
+ /d El archivo "ana_arriba8a2451385496.xml" ha sido eliminado con exito.
+ El archivo "__CODE____C___by_webblaster48.jpg" ha sido encontrado.
+ /d El archivo "__CODE____C___by_webblaster48.jpg" ha sido eliminado con exito.
+ El archivo "Default.PLS" ha sido encontrado.
+ /d El archivo "Default.PLS" ha sido eliminado con exito.
+ El archivo "soyla5.doc" ha sido encontrado.
+ /d El archivo "soyla5.doc" ha sido eliminado con exito.
+ El archivo "Vuelta_a_una_cadena.bat" ha sido encontrado.
+ /d El archivo "Vuelta_a_una_cadena.bat" ha sido eliminado con exito.
+ El archivo "600.bat" ha sido encontrado.
+ /d El archivo "600.bat" ha sido eliminado con exito.

C:\>


esas instrucicones van en uno aparte o en el mismo bat ?

leogtz

A ti lo que te importa es sólo el archivo .bat y log que se genera.

Lo demás que he puesto es sólo el cómo podrías obtener información a partir del log.

Esto:
C:\>type encontrados.txt | find /i "+"
+ El archivo "pl.pl" ha sido encontrado.
+ /d El archivo "pl.pl" ha sido eliminado con exito.
+ El archivo "ana_arriba8a2451385496.xml" ha sido encontrado.
+ /d El archivo "ana_arriba8a2451385496.xml" ha sido eliminado con exito.
+ El archivo "__CODE____C___by_webblaster48.jpg" ha sido encontrado.
+ /d El archivo "__CODE____C___by_webblaster48.jpg" ha sido eliminado con exito.
+ El archivo "Default.PLS" ha sido encontrado.
+ /d El archivo "Default.PLS" ha sido eliminado con exito.
+ El archivo "soyla5.doc" ha sido encontrado.
+ /d El archivo "soyla5.doc" ha sido eliminado con exito.
+ El archivo "Vuelta_a_una_cadena.bat" ha sido encontrado.
+ /d El archivo "Vuelta_a_una_cadena.bat" ha sido eliminado con exito.
+ El archivo "600.bat" ha sido encontrado.
+ /d El archivo "600.bat" ha sido eliminado con exito.

C:\>


Estoy usando comandos desde el CMD, no desde un .bat.
Código (perl) [Seleccionar]

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

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

Nilrac

#18
Te cuento, que encuentra los archivos pero no los elimina  :-(

Esto no se puede hacer en VBS ?


Gracias !!!

leogtz

¿Cómo que como?

Si ya te lo he puesto completo el código, creo que no has tratado de leer bien las respuetas.

Código (perl) [Seleccionar]

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

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