Hola amigos !
Quisiera que me ayudaran un poco....
Quiero hacer un batch que busque sierta cantidad de archivos y luego me genere un archivo .txt mostrando cuales encontro
Muchas gracias !
donde quieres que los busque?
Intenta con for /R
%WINDIR%\System32\Desnuda.exe
ese es un virus que se transmite por el MSN
quiero eliminarlo y que me genere el reporte si lo encontro o no
No se la sintaxis me pueden ayudar ?
gracias
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
Gracias amigo
pero como dije al principio son muchos archivos
por eso quiero aue al final me aparescan en un .txt cuales archivos me encontro
Gracias !
Dame un poco de tiempo.
@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"
)
)
El log que me genera:
C:\>type encontrados.txt
El archivo code.c ha sido encontrado.
El archivo code.bat ha sido encontrado.
El archivo ayuda.txt ha sido encontrado.
El archivo algo.xls ha sido encontrado.
El archivo la_machaca_by_intokable263.mp3 ha sido encontrado.
El archivo Untitled.ses ha sido encontrado.
El archivo noexiste.kjaklsd no ha sido encontrado.
El archivo pedkklsdf no ha sido encontrado.
El archivo sdfkjshdkfj no ha sido encontrado.
C:\>
Saludos.
Hola Leo !
se supone que en
code.c
code.bat
ayuda.txt
algo.xls
la_machaca_by_intokable263.mp3
Untitled.ses
noexiste.kjaklsd
pedkklsdf
sdfkjshdkfj
Coloquen mis archivos en vez de esos ?
Que significan esos 3 ultimos ?
Gracias !!!
Cita de: Nilrac en 16 Diciembre 2009, 03:05 AM
Hola Leo !
se supone que en
code.c
code.bat
ayuda.txt
algo.xls
la_machaca_by_intokable263.mp3
Untitled.ses
noexiste.kjaklsd
pedkklsdf
sdfkjshdkfj
Coloquen mis archivos en vez de esos ?
Que significan esos 3 ultimos ?
Gracias !!!
asi es....
leo tiene la costumbre o tenia de dejar en la carpeta system codigos a los cuales les pasa parametros x ejemplo
code.c
code.bat
el los usa y sabe que existen , lo hizo para verificar si el script funcionaba
y
noexiste.kjaklsd
pedkklsdf
sdfkjshdkfj
los puso para comprobar si el script funcionaba tmb , esos no existen xD
y si...
tenes que cambiar esos archivos por los que vos queres encontrar....
saludos
Entendido ;-)
Pruebo y les aviso !!!!
Gracias !!!
Cita de: Leo Gutierrez. en 15 Diciembre 2009, 06:56 AM
@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
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?
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 !!!
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.
&& 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
Nilrac, podrías hacer algo así:
@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.
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 ?
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.
Te cuento, que encuentra los archivos pero no los elimina :-(
Esto no se puede hacer en VBS ?
Gracias !!!
¿Cómo que como?
Si ya te lo he puesto completo el código, creo que no has tratado de leer bien las respuetas.
ya descubri cual es el error !!!
lo que pasa es que tengo Win 7 tengo que ejecutarlo como administrador y funciona !
Sobre las rutas, como las abrevio ?
Gracias !!!
Cita de: Nilrac en 20 Diciembre 2009, 04:12 AM
Sobre las rutas, como las abrevio ?
¿Otra vez?
El hecho de que sean muchos archivos no da la necesidad de abreviar rutas.
Si tienes un archivo asi:
c:\Documents and settings\Algo\Escritorio\Ruta con espacios\carpeta.file.txt
No trae ningún problema al procesarlo, solo debes de utilizar comillas dobles ("").
O pon el problema que tienes.
Como se colocarian estas rutas ?
%ALLUSERSPROFILE%\Mis documentos\Mis archivos recibidos\W32 LechucK.exe
%ALLUSERSPROFILE%\Mis documentos\Mis archivos recibidos\Feliz_Natal.exe
asi ?
""%ALLUSERSPROFILE%\Mis documentos\Mis archivos recibidos\W32 LechucK.exe""
""%ALLUSERSPROFILE%\Mis documentos\Mis archivos recibidos\Feliz_Natal.exe""
"%ALLUSERSPROFILE%\Mis documentos\Mis archivos recibidos\W32 LechucK.exe"
"%ALLUSERSPROFILE%\Mis documentos\Mis archivos recibidos\Feliz_Natal.exe"
Cita de: Leo Gutierrez. en 20 Diciembre 2009, 04:41 AM
No trae ningún problema al procesarlo, solo debes de utilizar comillas dobles ("").
Lo probaré a ver que tal, pero me dices anteriormente que era con comillas dobles, por que solo colocas las comillas normales ?
Son comillas normales, a las cuales se le dice comillas dobles :xD
Saludos
perdon fue un error de apreciacion :xD
Hola !
He modificado un poco tu codigo
Cita de: Leo Gutierrez. en 19 Diciembre 2009, 20:28 PM
@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 && (
del /f /q "%%'"
echo + El archivo "%%'" ha sido encontrado. >> "encontrados.txt"
)
)
Hasta ahi bien, pero ...
Cuando quiero generan el reporte de que no encontro nada
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 && (
del /f /q "%%'"
echo + El archivo "%%'" ha sido encontrado. >> "encontrados.txt"
)
) || (
echo No se encontraron archivos
)
)
Notaras que se duplican
CitarNo se encontraron archivos
No se encontraron archivos
No se encontraron archivos
Como puedo hacer para que el segundo reporte (No se ha encontrado) salga normal ?
Ya lo habia intentado con else pero tampoco
gracias !!
CitarComo puedo hacer para que el segundo reporte (No se ha encontrado) salga normal ?
¿Salga normal cómo?
Lo que quiero lograr es un .txt cuando encuentre algo
Y cuando no encuentre tambien que se genere un .txt
Es que cuando se genera el segundo reporte (no se no encontro nada) sale duplicado el mensaje en su interior
algo asi:
No se encontraron archivos
No se encontraron archivos
No se encontraron archivos
Cuando digo normal me refiero a que salga solo una vez asi:
No se encontraron archivos
Gracias por tu atencion !
Ya logre generar los reportes ;D
Pueden dar el tema por solucionado
Cita de: Leo Gutierrez. en 19 Diciembre 2009, 20:28 PM
dir /b /s %%' > nul 2>&1 &&
Quisiera saber para que sirve
2>&1 &&Gracias !!!
http://www.google.com.mx/search?hl=es&q=2>%261&btnG=Buscar&meta=lr%3Dlang_es&aq=f&oq=
Lo de && está tratado en un tema aquí en este subforo, llamado "Ejecución condicional".