Buscar y Reemplazar v3

Utilidad para buscar y reemplazar en ficheros

 

Publicado: 24/Feb/2005
Actualizado: 24/Feb/2005
Autor: Guillermo ' guille' Som



Si después de leer todas las cosas que esta nueva versión de Buscar y Reemplazar trae o, prefieres una utilidad que incluya el código fuente, puedes ver la página con las versiones anteriores.

Si sigues leyendo es que te interesa saber que novedades tiene esta nueva versión, así que voy a explicártelas, aunque sea por encima.

Nota:
Te recuerdo que en el zip no incluyo el código fuente, aunque es posible que cualquier día de estos lo ponga para que lo bajes, así que, si bajas el zip y ves que no hay código fuente, no me lo pidas...
Gracias.

Bueno, vamos al lío que hay muchas cosas que explicar.

Empezaré por las novedades "globales", es decir, lo gordo que trae de nuevo esta versión de Buscar y Reemplazar.

Las Novedades (a grosso modo):

Lo primero que vamos a notar es que ahora esta utilidad, además de que ha cambiado de nombre, no viene sola aunque tampoco necesita a ninguna de las otras dos.

Las tres utilidades, o mejor dicho, ejecutables son:

gsByRAX.exe   Esta es la utilidad principal, que aunque tanto por fuera como por dentro ha cambiado un poco, la funcionalidad sigue siendo la misma que en las versiones anteriores.
   
gsByRCmd.exe   Esta es una utilidad para usarla desde la línea de comandos, aunque también se puede usar como aplicación "normal", pero como realmente está pensada para que acepte parámetros desde la línea de comandos, pues... mejor usarla desde una ventana de MS-DOS.
   
gsCrearByR.exe   Esta utilidad sirve para crear y modificar ficheros con la extensión .byr. Estos ficheros los utiliza gsByRCmd para procesar varias órdenes de una vez, en lugar de sólo realizar una búsqueda, puedes indicarle varias búsquedas y reemplazos. Y como eso de modificar los ficheros de forma manual es algo que puede convertirse en peligroso, sobre todo si vas a reemplazar, pues... he preferido hacer una utilidad que los maneje y así nos resulte más fácil saber que es lo que estamos haciendo.
   

Todas estos ejecutables necesitan de la librería gsBuscarAX.dll que es la que se encarga de buscar los ficheros y buscar dentro de ellos, esta DLL realmente contiene el código de la clase cBuscar y de SelDir que es el mismo que usé en las versiones anteriores, salvo por pequeños cambios, como la posibilidad de usar expresiones regulares; lo he hecho así para que resulte más fácil hacer correcciones al código, de forma que si algún día actualizo la librería, los programas seguirán funcionando y no será necesario reemplazarlos. O al revés, puede que cambie el código de alguna de las utilidades y de esta forma, el "motor" de búsqueda sigue siendo el mismo.
 

Las novedades al detalle

Veamos que novedades tenemos, empecemos por la utilidad principal, que al fin y al cabo es la que mejor puedes conocer, después entraremos en detalle con la utilidad de la línea de comandos.

Veamos algunas capturas en tiempo de ejecución.
 

Figura 1. La utilidad en tiempo de ejecución
Figura 1. La utilidad en tiempo de ejecución

 

En la figura 1 tienes la utilidad de buscar y reemplazar en ejecución. Como puedes comprobar el "look" es parecido al de la versión anterior, salvo por el detalle de que ahora tiene menús y antes no tenía.

Aquí, a simple vista no se "notan" las nuevas opciones (ahora te cuento cuales son), ya que tampoco tenía muchas ganas de "reestructurar" el formulario principal, así que le he añadido menús para que se puedan elegir desde allí.

Entre las novedades (o nuevas características) de la versión 3, básicamente tenemos:

  1. Permite usar expresiones regulares en la búsqueda y en el reemplazo
  2. Permite hacer copias de seguridad de los ficheros en los que se han hecho cambios
  3. Está previsto buscar dentro de ficheros comprimidos

Además he actualizado o mejorado algunas de las cosas que ya tenía, por ejemplo, poder elegir editores para abrir los ficheros hallados, mostrar una ventana con ejemplos de expresiones regulares (solo si está instalada algunas de las dos librerías usadas para usar las expresiones regulares) y algunas otras monerías. Realmente en esta utilidad los cambios son menores y la justificación para el "salto" de versión es porque ahora el motor de búsqueda está en una librería.

Veamos los distintos menús que tiene la aplicación:

Figura 2. El menú de ficheros
Figura 2. El menú de ficheros
 

Figura 3. El menú de edición y el de los editores
Figura 3. El menú de edición y el de los editores
 

Figura 4. El menú de opciones
Figura 4. El menú de opciones
 

Figura 5. El menú de Expresiones Regulares
Figura 5. El menú de Expresiones Regulares
 

Figura 6. El menú de herramientas
Figura 6. El menú de herramientas
 

El menú de ficheros (figura 2) solo tiene las opciones Acerca de... y Salir.
En Acerca de te muestra la información de la utilidad y te permite enviarme un mensaje si es que encuentras algún bug (que seguro los habrá) o alguna mejora.

Figura 7. La ventana de Acerca de...
Figura 7. La ventana de Acerca de...

El menú de Edición (figura 3), te permite abrir un fichero con cualquiera de los dos editores "normales", uno para textos pequeños y otro para textos grandes, así como definir qué editor quieres usar, con idea de que tengas varios dependiendo del tipo de fichero.
También te permite seleccionar todos los ficheros mostrados en la lista y copiar en el portapapeles los nombres (con el path completo), con idea de que puedas usar esos nombres en cualquier otra aplicación, (en la utilidad de línea de comandos, se puede indicar que genere un fichero con el resultado de la búsqueda).
Además de copiar, puedes pegar del Clipboard (portapapeles) cualquier lista que tengas, con idea de poder realizar búsqueda en esos ficheros.
Después de realizar la búsqueda, si se han producido errores, se pueden ver los ficheros que han generado esos errores e incluso podemos abrirlos mediante cualquiera de los editores que hemos configurado.

El menú de opciones (figura 4) te permite seleccionar dos de las opciones que ya están en la propia ventana, además de dos nuevas: realizar copia de seguridad y buscar en ficheros comprimidos, aunque esto último aún no lo he implementado, más que nada, porque no se si al final lo haré... ya que algunos tipos, por ejemplo el RAR, necesitan de otra librería más y no se yo si es bueno eso de tener tantas librerías.
Lo que casi seguro que haré, será usar esa opción cuando solo se quiere "listar" ficheros según la especificación indicada en extensión, ya que si no indicas nada que buscar o poner, simplemente busca los ficheros que coincidan con dicha especificación, pero sin buscar nada dentro. Esto es útil para cuando simplemente quieres "listar" ficheros, pero sin buscar ni reemplazar... a lo mejor te parece una tontería, pero a mi me es de utilidad...

En el menú de expresiones regulares (figura 5) puedes indicar si se usarán o no expresiones regulares, además de poder elegir el "motor" a usar... Ya que en el zip que tienes más abajo se incluyen dos librerías para usar las expresiones regulares con estas utilidades; realmente se pueden usar con cualquier otra utilidad y en otra ocasión publicaré una utilidad que usa esas librerías, para que, entre otras cosas, puedas comprobar las expresiones regulares y veas los resultados obtenidos al aplicarlas, ya que esto de las expresiones regulares es un "mundo" y aunque uno piense que se las sabe todas... pues no es así... aprovechando este comentario, te diré que "ojito" al indicar que use expresiones regulares para cambiar... ya que el resultado puede que no sea del todo satisfactorio, (esa es una de las razones de permitir hacer copia al reemplazar, para que no pierdas el trabajo).
De las tres opciones que hay, la primera es obvia: NO USAR LAS EXPRESIONES REGULARES. Las otras dos te permiten indicar que librería se usará, si la que he creado con VB6 y utiliza el Script Control de Microsoft (msscript.ocx) o bien la que he creado con Visual Basic .NET y que por tanto necesita que esté instalado el .NET Framework 1.1 o superior.
La última opción te muestra algunos ejemplos de expresiones regulares. Esos ejemplos están dentro de las librerías, por tanto si no has instalado ninguna, no se mostrarán los ejemplos.
En la siguiente imagen tienes una captura de la pantalla:

Figura 8. La ventana con los ejemplos de expresiones regulares
Figura 8. La ventana con los ejemplos de expresiones regulares
 

Por último, el menú de herramientas (figura 6) te permite llamar a las otras dos utilidades, en el caso de la primera, te pedirá lo que quieres hacer y usará esos valores para realizar la búsqueda, si escribes "help" te mostrará las distintas formas de usar esa utilidad.
La segunda opción abrirá la utilidad para configurar (crear o modificar) ficheros con extensión .byr que son los usados por la utilidad de la línea de comandos para cuando queramos que procese un fichero "por lotes", de esta forma podemos indicar un número "grande" (hasta 10 000) de cosas que buscar y reemplazar.

Para terminar con el repaso a esta utilidad, decirte dos cosas:
1- El fichero de configuración de las versiones anteriores es compatible con esta nueva.
2- Se puede usar esta aplicación pasándole valores en la línea de comando, esos valores a su vez se pasarán a la utilidad de línea de comandos (gsByRCmd) y el resultado de la búsqueda se mostrará en la ventana correspondiente, de todas formas, como el proceso de búsqueda puede ser largo, antes de llamar a dicha utilidad, nos pregunta si la queremos ejecutar.

 

Como ya es tarde y llevo nosecuantas horas liado con esto... voy a dejar aquí la explicación y en otra ocasión te mostraré y explicaré cómo usar las otras dos utilidades.

Lo que si te recomiendo es que leas el fichero "leeme.txt" que está en el zip para que sepas cómo registrar las librerías y así no tengas problemas.

Espero que te sea de tanta utilidad como lo es para mi.

Nos vemos.
Guillermo

Nerja, 23 y 24 de Febrero de 2005


El link para bajarte los ejecutables y librerías: gsByR3_exe.zip 207 KB

Dentro del zip también incluyo la definición del formato del fichero .byr que será el que utilice (si así lo quieres) la utilidad de buscar y reemplazar desde la línea de comandos.
También explico cómo registrar las librerías, todo esto ya lo he comentado en líneas anteriores, pero lo aclaro por si eres persona que te gusta ir directamente al "asunto" ;-))

 


Mis Utilidades - . - Índice VB6

la Luna del Guille o... el Guille que está en la Luna... tanto monta...