脚本示例

Beyond Compare

脚本示例

上一个向上下一个

下面给出一些Beyond Compare如何使用脚本的示例。  你可以使用这些脚本或者拿这些脚本作为模板。

一个基本的脚本复制所有较新或者孤立的文件,使用之前生成的会话:

 load "Sync Laptop"

 sync update:left->right

 

同步两个文件夹

高级脚本应用高级过滤器同步化两个特定的文件夹。  它的功能与文件夹比较中的加载文件夹相同,其作用为“将左侧镜像至右侧”同步化。

# Turn logging on.

log normal "C:\My Log.txt"

# Load the default session and exclude all but certain file types.

load <default>

filter "*.html;*.htm;*.png;*.jpg"

# Load the base folders.

load "C:\My Folder" ftp://用户@网站.com/文件夹

# Copy different files left to right, delete orphans on right.

sync mirror:left->right

 

根据文件名比较两个文件

脚本根据文件名比较两个文件。

file-report layout:side-by-side &

 options:display-mismatches &

 output-to:%3 %1 %2

 

命令行示例调用上面脚本:

BCompare.exe @"My Script.txt" "My File.txt" "Your File.txt" "My Report.txt"

 

注意  一行结尾处的(&)表示命令行延续至下一行。

注意  %1、%2、%3表示命令行中的第一个、第二个、第三个参数。

生成报表

脚本通过名称比较两个文件并生成HTML报表,显示上下文的不同变化:

text-report layout:side-by-side &

 options:ignore-unimportant,display-context &

 output-to:%3 output-options:html-color %1 %2

 

保持网站同步

这个脚本在网站和开发文件之间保持同步。

# Turn verbose logging on.

log verbose append:"C:\My Log.txt"

# Set the comparison criteria.

criteria timestamp size

# Load source and target folders.

load "C:\My Folder" ftp://用户@网站.com/文件夹

# Filter to only include source files, ignore CVS subfolders.

filter "*.htm;*.html;*.php;*.jpg;*.gif;-CVS\"

# Sync the local files to the web site, creating empty folders.

sync create-empty mirror:left->right

 

执行基于规则的比较并将比较结果计入日志文件

这个脚本将结果记录至文件并使用当前的日期作为文件名的一部分。  如果是英语环境,则脚本将变量%date%展开为2012-12-31的美式英语格式,否则为当地语言形式。  脚本对Pascal源文件执行基于规则的比较并报告不匹配的部分。

# Log to a file of the form "C:\My Log 2012-12-31.txt".

# The exact format depends on your regional and language settings.

log verbose append:"C:\My Log %date%.txt"

# Compare the text contents of the files.

criteria rules-based

# Only compare Delphi source files, ignore the archive folder.

filter "*.pas;*.dfm;*.dpr;*.inc;-archive\"

load "C:\My Folder" "C:\Your Folder"

folder-report layout:summary &

 options:display-mismatches,column-attributes,column-timestamp,column-size &

 output-to:"My Report.txt"

 

比较当前文件夹状态和快照

这个脚本将当前文件夹的状态和最近更新的一个快照做比较。  接下来把变化内容和新的文件复制到一个zip文件,并更新文件夹中的快照。

option confirm:yes-to-all

# Compare using crc.

criteria crc

# Load current files against snapshot from the last patch.

load "C:\My Folder" "C:\My Snapshot.bcss"

# Expand to affect subfolders and files.

expand all

# Select updated files.

select left.diff.files left.orphan.files

# Copy changes to a zip file.

copyto left path:relative "C:\My Archive.zip"

# Update the snapshot.

snapshot save-crc left output:"C:\My Snapshot.bcss"

 

生成差异报表

这个脚本生成一个只包含差异的报表。

# Set up basic comparison features.

criteria timestamp:2sec

# Filter out log files.

filter "-*.log"

# Load first comparison.

load "C:\My Folder" "C:\Your Folder"

# Compare files with timestamp differences.

select newer.files older.files

# Generate a report of the differences.

folder-report layout:summary options:display-mismatches output-to:"C:\My Report.txt"