PDA

View Full Version : Script comparar dos archivos o carpetas y resultados de comparacion



lewismora
10-Mar-2010, 09:09 AM
Hola que tal necesito un script para comparar dos archivos o carpetas con el bcompare3 y que este me haga un reporte de las diferencias de los archivos analizados. Gracias

Aaron
10-Mar-2010, 05:50 PM
Hello,

You can use the file-report command in BC2 or the text-report command in BC3 to generate a report showing the text differences inside of the files.
There are examples in the BC Help file (BC3: F1: Scripting Reference or Using Beyond Compare->Automating with Script). Or the BC2 Help file: Command Line and Scripting.


file-report layout:side-by-side &
options:display-mismatches &
output-to:%3 %1 %2

called with Bcompare.exe @c:\folder\BCScript.txt

Or you can generate a summary report listing the filenames with the folder-report command.

Let us know if you have any questions.

http://translate.google.com/#
Hola,

Usted puede utilizar el archivo de comandos informe en BC2 o el texto de comandos informe en BC3 para generar un informe que muestra las diferencias de texto dentro de los archivos.
Hay ejemplos en el archivo de Ayuda BC (BC3: F1: Secuencias de comandos de referencia o Uso de Beyond Compare-> Automatizar con secuencias de comandos). O el archivo de Ayuda BC2: Línea de comandos y secuencias de comandos.


file-report layout:side-by-side &
options:display-mismatches &
output-to:%3 %1 %2

llamado con Bcompare.exe @c:\carpeta\BCScript.txt

O bien, puede generar un informe de resumen que incluye los nombres de archivo con la carpeta de comandos informe.

Háganos saber si usted tiene alguna pregunta.

lewismora
23-Mar-2010, 09:49 AM
Gracias Aaron fue de mucha ayuda.

Ok tengo listo el sistema, ya me compara los archivos de mi carpeta y me da el reporte en archivo .txt, ahora necesito orientacion de como puedo hacer para que en la consola de msdos me diga si hubo o no errores en los archivos revisados o la posibilidad de que si hay diferencias me genere el reporte y si no hay diferencias que no me lo genere.
Cabe destacar que todo esto lo estoy generando desde un archivo .bat no directamente desde consola DOS.

De antemano muchas gracias

Aaron
23-Mar-2010, 03:55 PM
Hello,

Are you saying there are differences in your files, but the Beyond Compare Report does not show the differences?

Try opening your files using the graphical interface, and make sure the differences are considered Important (Red) differences.

To troubleshoot script problems, it is always best to first generate the correct information in the Graphical Interface. Then try generating a script that can be called from the command line manually. Then try automating the script with the bat file.

Which step of the process are you having trouble with?

translate.google.com
Hola,

¿Estás diciendo que hay diferencias en sus archivos, pero el Beyond Compare informe no muestra las diferencias?

Trate de abrir los archivos usando la interfaz gráfica, y asegúrese de que las diferencias son considerados importantes (Red) las diferencias.

Para solucionar problemas de secuencias de comandos, siempre es mejor a la primera generación de la información correcta en la interfaz gráfica. A continuación, intente generar un script que puede ser llamado desde la línea de comandos manualmente. A continuación, intente automatizar la secuencia de comandos con el bat.

¿Qué paso del proceso ¿Está teniendo problemas con?

lewismora
23-Mar-2010, 09:55 PM
Hola aaron gracias por las respuestas tan rápidas, me alegra que puedas ayudarme te explico.
Estoy comparando unas carpetas que contienen una serie de archivos desde un programa .bat, ya logre que me comparara los archivos que hay dentro de esas carpetas y que me guardara en otra carpeta el reporte de las diferencias(.txt), hasta hay bien. Ahora necesito, si es posible, que salga en la consola de MS-DOS,ya que todo el programa lo ejecuto desde hay, si BC3 encontró o no diferencias. Lo unico que necesito es que si BC3 encontró o no diferencias me devuelva un mensaje a la consola de MS-DOS. Disculpa si soy insistente pero en verdad necesito eso, si logro hacerlo me gustaría compartir en el foro lo que hice. Ya me he leido varias veces la ayuda pero no encuentro nada que solucione eso. Gracias

Aaron
24-Mar-2010, 10:36 AM
Hello,

If you want to know if the files are different, but not where the differences are, you can use Beyond Compare 3's /quickcompare or /qc command line argument. This returns a value to the %ErrorLevel% varialbe, which can be checked from the command line by typing in:
bcompare.exe /qc file1 file2
echo %errorlevel%

The list of error levels is available in the Help file, under the Command Line Reference section:
"
0
Success

1
Binary Same

2
Rules-Based Same

11
Binary Difference

12
Similar

13
Rules-Based Difference

14
Conflicts Detected

100
Unknown error

101
Conflicts Detected. Merge output not written.
"

How does that work for you?

translate.google.com
Hola,

Si usted desea saber si los archivos son diferentes, pero no cuando las diferencias son, puede utilizar Beyond Compare 3's /quickcompare o /qc argumento de línea de comandos. Esto devuelve un valor a la varialbe %ErrorLevel%, lo que puede comprobarse desde la línea de comandos escribiendo:
bcompare.exe /qc archivo1 archivo2
echo %ErrorLevel%

La lista de los niveles de error está disponible en el archivo de Ayuda, en la sección de línea de comandos de referencia:
"
0
Éxito

1
Binario

2
Basado en normas, en la misma

11
Binary Diferencia

12
Similares

13
Basado en normas Diferencia

14
Los conflictos detectados

100
Error desconocido

101
Los conflictos detectados. De mezcla de salida no por escrito.
"

¿Cómo funciona eso para usted?

lewismora
25-Mar-2010, 03:50 PM
Ok ya lo hice, pero la comparacion la tengo que hacer a una serie de archivos dentro de una carpeta y no a un archivo especifico, estos comandos siempre me dan error 100 y me interesa que me de 1 o 11, debe haber alguna manera de poder comparar los archivos dentro de una carpeta.
Gracias Aaron por la ayuda

Aaron
26-Mar-2010, 09:20 AM
Hello,

The /quickcompare command is only for file comparisons. You would need to call it once specifically on each pair of files. The only other solution is to use BC Script and make a folder-report instead of a file-report. You will then need to parse the output.txt for the information you need.

translate.google.com
Hola,

El comando / QuickCompare es sólo para las comparaciones de archivos. Usted tendría que llamar una vez específicamente en cada par de archivos. La única otra solución es usar secuencias de comandos antes de Cristo y hacer una carpeta-informe en lugar de un archivo de informe. A continuación, tendrá que analizar el output.txt de la información que necesita.



load c:\folder1 c:\folder2
expand all
folder-report layout:summary &
options:display-mismatches &
output-to:c:\output.txt