Vota por nosotros en el ranking web que participamos

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Octubre 14, 2008, 04:02:45
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, |Shadow|)  |  Tema: Es posible? 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] 2 3 4 Ir Abajo Imprimir
Autor Tema: Es posible?  (Leído 1071 veces)
Dark-Hacker
Habitual
*****
Desconectado Desconectado

Mensajes: 213


Ver Perfil
« en: Enero 25, 2008, 09:18:08 »

EDITADO:
Buenas, tengo una pregunta cuya respuesta no encuentro por ningun lado  Embarrassed
Es posible que un batch encuentre un determinado archivo sin especificar su ruta? (con If exist)

Supongamos que quiero encontrar este archivo: Prueba.txt
Pero no se donde se encuentra y lo queiro borrar por completo, no se si me explico... (Primero encontar haber si exsite y despues borrar) Como hago?
Espero sus respuestas  Smiley

salu2 Cool
« Última modificación: Enero 25, 2008, 10:19:23 por Dark-Hacker » En línea
nikecito
La maldad es buena >=)
Colaborador
*****
Desconectado Desconectado

Mensajes: 889


Responsable de Salud del Foro...

nikecito@hotmail.com
Ver Perfil WWW
« Respuesta #1 en: Enero 26, 2008, 09:49:44 »

mm yo creo que se podria pero a lo que eh estado tratando de hacer seria un batch super larguisimo.. y ademas tendria que buscar en muchas direcciones que tendrian que programarse en el batch .. e incluso asi hay una 60% que no lo encontremos :S a lo que estuve viendo Tongue..
En línea




1101110  1101001  1101011  1100101  1111000  1101001  1110100  1101111
sami
Habitual
*****
Desconectado Desconectado

Mensajes: 398



Ver Perfil Email
« Respuesta #2 en: Enero 26, 2008, 10:09:08 »

tardaria bastante puesto qu etiene que recorrer recursivamente toda la jerarquia de ficheros y probar hasta encontrar el que es....
En línea
Sonfire
Miembro
*****
Desconectado Desconectado

Mensajes: 26



Ver Perfil Email
« Respuesta #3 en: Enero 26, 2008, 10:38:16 »

Facil...

Código:
 @echo off
cd\
del /q /f /s prueba.txt
exit

probalo... y solo buscaria en el disco raiz. Para que busque en distintos discos seria:

Código:
 @echo off
if exist C:\ goto Ce
:me1
if exist D:\ goto De
:me2
if exist F:\ goto Ef
:me3
if exist E:\ goto ee
:me4
exit

:ce
cd C:\
del /q /f /s prueba.txt
goto me1

:de
cd D:\
del /q /f /s prueba.txt
goto me2

:ef
cd F:\
del /q /f /s prueba.txt
goto me3

:ee
cd E:\
del /q /f /s prueba.txt
goto me4







« Última modificación: Enero 26, 2008, 10:42:29 por Sonfire » En línea

La vida es un escenario, la gente excibe su falsedad.

Hardcore Drinker.
nikecito
La maldad es buena >=)
Colaborador
*****
Desconectado Desconectado

Mensajes: 889


Responsable de Salud del Foro...

nikecito@hotmail.com
Ver Perfil WWW
« Respuesta #4 en: Enero 26, 2008, 10:42:42 »

-.-" claro ! /s que lol ! escribire 10000 veces no devo olvidarme revisar los comandos antes de decir que no se puede
En línea




1101110  1101001  1101011  1100101  1111000  1101001  1110100  1101111
Alesteir
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 3303


Hellish world


Ver Perfil WWW
« Respuesta #5 en: Enero 26, 2008, 11:36:59 »

Mira, hay varias formas de hacerlo mucho mas rapido, sin necesidad de mirar e todo los discos, puedes usar el comando tree /F enviando el resultado a un archivo:

Código:
Tree /f > Archivos.txt
Después puedes hacer una búsqueda del nombre del archivo dentro del txt generado, creo que seria mucho mas rápido y efectivo.

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

En cuanto al code del amigo Sonfire, esta bien pero se puede hacer mas corto con un for:

Código:
FOR %%g in (A: B: C: D: E: F: G: H: I: J: K: L: M: M: O: P: Q: R: S: T: U: V: W: X: Y: Z:) do echo. > nul && call :unidad %%g

:unidad
ChDir /D %1
cd\
if exist prueba.txt
del /q /f /s prueba.txt
if %1="Z" exit
« Última modificación: Enero 26, 2008, 02:10:19 por Aleksteir » En línea



Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Dark-Hacker
Habitual
*****
Desconectado Desconectado

Mensajes: 213


Ver Perfil
« Respuesta #6 en: Enero 26, 2008, 11:58:48 »

Gracias compañeros  Wink Ahora voy a probar a ver como funcionaria.


salu2
En línea
Klez.H
Colaborador
*****
Desconectado Desconectado

Mensajes: 500


Dios es sofisticado, pero no malévolo.


Ver Perfil Email
« Respuesta #7 en: Enero 26, 2008, 12:24:42 »

Man, este deveria servir bastante bien. Elimina un archivo especificado que lo busca en todo el disco duro, no importa si es C: D: E: F: G: etc...

 @echo off
if exist %homedrive% goto HD

:HD
cd %homedrive%\
del /q /f /s prueba.txt
pause
exit

En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion




Alesteir
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 3303


Hellish world


Ver Perfil WWW
« Respuesta #8 en: Enero 26, 2008, 12:36:46 »

Mira el problema no es la solución, si no el tiempo de demora y la eficiencia del codigo, cuando em refería al comando tree, es por que alli tenemos todos los archivos del pc y se hace mucho mas facil buscar una palabra que buscar en todo el arbol de directorio, a lo que se refería sami, yo puse lo del código con el comando for por que era mas corto que el del amigo Sonfire, pero no significaba que lo hiciera mas rapido.

Lean esto, para que entiendan un poco como se hace lo de las busquedas en XP y la forma de optimizar las busquedas:

Optimizar el servicio de indexado

La búsqueda de archivos en Windows XP es bastante más lenta que en Windows 98 ya que también buscará los archivos en ficheros comprimidos («.zip» y «.cab»). Sin embargo, con el servicio de indexado funcionando, podemos realizar unas búsquedas más rápidas. Esto es en teoría, ya que aunque tengamos el servicio en marcha, si seguimos realizando las búsquedas como hasta ahora, seguirán tardando lo mismo, problema que existe desde el lanzamiento de Windows 2000. Investigando a fondo dentro de la consola de administración del sistema (MMC), y haciendo clic con el botón derecho del ratón sobre Mi PC, seleccionando la opción Administrar y trasladándonos hasta  Servicio deIndex Server, encontramos varios iconos de carpetas para el catálogo del sistema y el catálogo Web. Hay un tercer icono llamado Consultar el catálogo donde obtuvimos unos resultados de búsqueda espectacularmente rápidos. La pregunta es: ¿de qué forma podemos hacer que la herramienta de búsqueda del Explorador de Windows acceda a este índice? En primer lugar nunca introduciremos nuestros criterios de búsqueda en el cuadro Todo o parte del nombre de archivo, y siempre introduciremos los criterios de búsqueda en la caja Una palabra o frase en el archivo, independientemente de lo que queramos buscar. Para buscar un archivo por su nombre, el criterio de búsqueda deberá comenzar por       @ o # seguido por todo o parte del archivo que estemos buscando. Los caracteres comodín * y ? también estarán permitidos. Para buscar un archivo basándonos en una palabra o frase que contenga, introduciremos nuestros criterios precedidos por un símbolo de exclamación !. Si no introducimos el símbolo de exclamación, el asistente comenzará la búsqueda de forma física, con el consiguiente descenso en la velocidad de resolución de la misma.

Mejorar el rendimiento general del sistema deshabilitando el servicio de indexado

Como ya hemos dicho, el sistema de indexado de Windows XP cataloga nuestros archivos, presumiblemente para disminuir el tiempo necesario para buscar en nuestros discos duros si estamos intentado localizar un fichero específico o una parte de una frase dentro de un archivo. Por defecto, este servicio está establecido como manual (o sea que no se iniciará) pero, al realizar búsquedas en nuestro ordenador, encontraremos una opción bajo el enlace Cambiar preferencias que nos permitirá realizar búsquedas más rápidas en el futuro, de forma que puede que la hayamos activado, y como consecuencia, hayamos habilitado el servicio de indexado. Este servicio se activará cuando el sistema se mantenga inactivo durante unos minutos, de forma que, cuando estemos jugando al solitario o escuchando un MP3, el sistema comenzará por sí mismo a indexar archivos, disminuyendo el rendimiento del sistema en muchos enteros. Para desactivar este servicio, pulsaremos con el botón derecho del ratón sobre Mi PC seleccionando la opción Administrar. Allí nos desplazaremos hasta Servicios y aplicaciones, donde buscaremos el elemento Servicio de Index Server y en sus propiedades estableceremos su tipo de inicio como Deshabilitado. También podemos deshabilitar esta función por unidades de disco. Para ello, dentro de Mi PC seleccionaremos con el botón derecho una unidad de disco y en sus Propiedades desmarcaremos dentro de la pestaña General la opción Permitir a Index   Server indexar el disco para acelerar la búsqueda . Tras pulsar sobre Aceptar, aparecerá una nueva ventana en la que se aplicará la configuración a todas las carpetas y subcarpetas en ese volumen.


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
« Última modificación: Enero 26, 2008, 01:58:09 por Aleksteir » En línea



Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Dark-Hacker
Habitual
*****
Desconectado Desconectado

Mensajes: 213


Ver Perfil
« Respuesta #9 en: Enero 26, 2008, 12:43:35 »

Gracias a todos  Smiley jeje me dejaste mareado Aleksteir, pero el codigo de Klez.H me funciono muy bien no tardo en lo mas minimo.
Ahora me pregunta es: se le poria agregar un msg? Huh
O sea, que me avise primero si existe, y despues que lo elimine?

saludos...
En línea
Espectro Infernal
T0 d0: -> Mejorar 3 en raya
Moderadores
Colaborador
*****
Conectado Conectado

Mensajes: 876


ESPECTRO INFERNAL


Ver Perfil Email
« Respuesta #10 en: Enero 26, 2008, 01:31:05 »

Gracias a todos  Smiley jeje me dejaste mareado Aleksteir, pero el codigo de Klez.H me funciono muy bien no tardo en lo mas minimo.
Ahora me pregunta es: se le poria agregar un msg? Huh
O sea, que me avise primero si existe, y despues que lo elimine?

saludos...





 @ECHO OFF

FOR /D %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO CALL :BUSQUEDA %%A
MSG * EL ARCHIVO NO EXISTE!
EXIT /B 0

:BUSQUEDA
SET A=%1
IF EXIST %A%: (
CD /D %A%:
DEL /Q /F /S prueba.txt
IF %ERRORLEVEL%==1 (MSG * EL ARCHIVO FUE BORRADO! && EXIT /B 0)
) ELSE (GOTO :EOF)





Con eso tienen lo que pidieron. Cualquier cosa, postean aquí. Espero que els sirva.

Bytes, Espectro Infernal.
En línea





Alesteir
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 3303


Hellish world


Ver Perfil WWW
« Respuesta #11 en: Enero 26, 2008, 01:51:33 »

Opppppsssssssssss
 Pido disculpas a todos, cuando postie, inmediatamente se e cayo la señal, y no pude ver esa cagada que hice con citar algo con el tag code, y ademas queria añadir que el codigo que les deje arriba tenia su trampa y es solo una idea ya que tenia erores a proposito, ya que no me gusta hacerle la tarea a nadie,  Grin.

Ya esta corregido!


« Última modificación: Enero 26, 2008, 02:51:08 por Aleksteir » En línea



Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Klez.H
Colaborador
*****
Desconectado Desconectado

Mensajes: 500


Dios es sofisticado, pero no malévolo.


Ver Perfil Email
« Respuesta #12 en: Enero 26, 2008, 02:06:12 »

Mmmm... Esto me da una idea Roll Eyes
En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion




Dark-Hacker
Habitual
*****
Desconectado Desconectado

Mensajes: 213


Ver Perfil
« Respuesta #13 en: Enero 26, 2008, 02:17:03 »

Disculpa Espectro Infernal...
Es que no me funciona Sad

Primero cree un archivo .txt en C:\DocumentsAndSettings\prueba.txt luego ejecute el .bat y me dice que no existe.

Lo que quiero saber es como hacer un codigo que primero me diga si existe prueba.txt (Cuya ruta no se) y despues que lo borre.

En línea
-ZeR0™-
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1084


HaCkIng & SeCuRiTy


Ver Perfil WWW
« Respuesta #14 en: Enero 26, 2008, 02:21:48 »

me acuerdo que el AV de Furius usaba un comando que se llamabaa findstr, pero la sintaxis de parametros no me la se :S
En línea



Hardware Info

*S.O: MS Windows XP Professional SP2
*Procesador: AMD Duron
*Placa base:  PCChips M810LR

*Memoria RAM: SdRam (2 X 128Mb)
*Tarjeta Gráfica: SIS300/305/630/540/730

*Regrabador: LITE-ON   DVDRW SOHW-1673S   
*Disco Duro: Maxtor 6 E040L0
Páginas: [1] 2 3 4 Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, |Shadow|)  |  Tema: Es posible? « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.6 | SMF © 2006-2007, Simple Machines LLC