PDA

View Full Version : batch para informes sobre modificaciones .PHP



13-Feb-2006, 05:00 PM
Estoy probando el BC2 en modo Batch para comprobar modificaciones y sincronizar backups.

Os dejo un ejemplo de .BAT

-diffs.txt---------------------------------------
load %1 %2
expand all
select all.files
filter "*.php"
file-report layout:side-by-side options:display-context,line-numbers output-to:%3 output-options:html-color
----------------------------------------------------

-diffs.bat------------------------------------------
@ECHO OFF
REM Use ERRTIME.EXE by Phil Money, Advantig LLC,
REM for a sorted date (or time) in DOS batch files
REM ERRTIME 1.4 is avalable at
REM http://www.advantig.com/files/ErrTime14.zip

ERRTIME -y > NUL

FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %%A0 SET ERR10=%%A
FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %ERR10%%%A SET ERR1=%%A
SET YEAR=%ERR10%%ERR1%

ERRTIME -m > NUL

FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %%A0 SET ERR10=%%A
FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %ERR10%%%A SET ERR1=%%A
SET MONTH=%ERR10%%ERR1%

ERRTIME -d > NUL

FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %%A0 SET ERR10=%%A
FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %ERR10%%%A SET ERR1=%%A
SET DAY=%ERR10%%ERR1%

ERRTIME -h > NUL

FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %%A0 SET ERR10=%%A
FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %ERR10%%%A SET ERR1=%%A
SET HOUR=%ERR10%%ERR1%

ERRTIME -M > NUL

FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %%A0 SET ERR10=%%A
FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %ERR10%%%A SET ERR1=%%A
SET MIN=%ERR10%%ERR1%

ERRTIME -s > NUL

FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %%A0 SET ERR10=%%A
FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL %ERR10%%%A SET ERR1=%%A
SET SEC=%ERR10%%ERR1%


SET THEDATE13=%YEAR%%MONTH%%DAY%-%HOUR%%MIN%%SEC%
SET THEDATE11=%YEAR%%MONTH%%DAY%-%HOUR%%MIN%
SET THEDATE10=%YEAR%%MONTH%%DAY%%HOUR%%MIN%

bc2.exe @diffs.txt "d:\WEBS\" "z:\WEBS\" "z:\WEBS-%THEDATE13%.htm"
----------------------------------------------------

un saludo sigo leyendo el foro atentamente y esperando nuevas versiones :)

jruiz
13-Feb-2006, 06:45 PM
Hola!

Muy interesante este post con un ejemplo para hacer backups. Realmente chocante el uso de la utilidad ERRTIME.EXE para incluir la fecha en el fichero de informe de salida.

Prueba lo siguiente: el motor de scripting de Beyond Compare, incluye dos variables muy útiles que son %date% y %time%. Quizás incluyendo estas dos variables en tu script te puedes ahorrar todo el .BAT que es un poco enfarragoso.
También puedes incluir variables de entorno, como por ejemplo %THEDATE13% directamente.

Por ejemplo, para tu caso prueba lo siguiente:


load %1 %2
expand all
select all.files
filter "*.php"
file-report layout:side-by-side &
options:display-context,line-numbers &
output-to:WEBS-%date%-%time%.html &
output-options:html-color


En principio el formato de %date% es "yyyy-mm-dd", que te será igual de util que "yyyymmdd". Desconozco si se puede cambiar este formato, pero lo puedo mirar.

Saludos.

14-Feb-2006, 01:01 PM
Gracias por tu consejo, ya lo habia leido por algun post en ingles, pero me da problemas por que me lo crea como año/mes/dia, o algo asi y fallaba al grabar el fichero, igual son cosas de la configuracion regional que la tengo mal :?

Sabrias como evitar que salgan los nombres de los ficheros que son identicos y solo salgan las diferencias?

un saludo

jruiz
15-Feb-2006, 04:00 PM
Gracias por tu consejo, ya lo habia leido por algun post en ingles, pero me da problemas por que me lo crea como año/mes/dia, o algo asi y fallaba al grabar el fichero, igual son cosas de la configuracion regional que la tengo mal :?

Sabrias como evitar que salgan los nombres de los ficheros que son identicos y solo salgan las diferencias?

un saludo



Si, es cierto que la fecha y hora usa la configuración regional (lo pone en la ayuda :-) Y para el caso de españa, el separador de fechas es la barra /, vaya casualidad. Jeje. Voy a preguntarles al servicio técnico a ver si hay alguna opción de cambiar el formato de fecha y hora. Mientras tanto, puedes intentar cambiar en el sistema operativo el carácter separador de fechas por el guión.

En cuanto a tu segunda cuestión, la verdad es que no tengo mucha esperiencia con los scripts. Releyendo la ayuda, imagino que lo podrás hacer mediante el comando "folder-report", en lugar de "file-report". Si usas "folder-report", hay una opción que puede ser interesante: "display-mismatches".

Saludos.