示例脚本

以下是一些示例脚本,展示 Beyond Compare 如何使用脚本。  您可以按原样使用这些脚本,或根据它们建模自己的脚本。

这是一个基本脚本,它使用之前创建的会话将所有较新和孤立的文件从一个文件夹复制到另一个文件夹:

 load "同步笔记本电脑"

 sync update:left->right

 

同步两个文件夹

这是一个更高级的脚本,它使用高级过滤器同步两个特定文件夹。  这与在文件夹比较会话中加载文件夹并执行"镜像左侧到右侧"文件夹同步的效果相同。

# 开启日志记录。

log normal "C:\我的日志.txt"

# 加载默认会话并排除除特定文件类型之外的所有文件。

load <default>

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

# 加载基文件夹。

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

# 将不同的文件从左侧复制到右侧,删除右侧的孤立项。

sync mirror:left->right

 

按名称比较两个文件

此脚本按名称比较两个文件。

file-report layout:side-by-side &

 options:display-mismatches &

 output-to:"%3" "%1" "%2"

 

调用上述脚本的示例命令行:

BCompare.exe @"我的脚本.txt" "我的文件.txt" "你的文件夹.txt" "我的报告.txt"

 

注意  行尾的与号(&)表示命令在下一行继续。

注意  %1、%2 和 %3 分别指第 1、第 2 和第 3 个命令行参数。

生成报告

此脚本按名称比较两个文件并生成显示带有上下文的差异的 html 报告:

text-report layout:side-by-side &

 options:ignore-unimportant,display-context &

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

 

保持网站与开发文件同步

此脚本使网站与开发文件保持同步。

# 开启详细日志记录。

log verbose append:"C:\我的日志.txt"

# 设置比较条件。

criteria timestamp size

# 加载源文件夹和目标文件夹。

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

# 仅包括源文件,忽略 CVS 子文件夹。

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

# 将本地文件同步到网站,创建空文件夹。

sync create-empty mirror:left->right

 

执行基于规则的比较并将结果记录到文件

此脚本将脚本结果记录到使用当前日期作为名称一部分的文件中。  变量 %date% 由脚本以 2012-12-31 格式展开,在美国英语系统上,在其他系统上它将匹配系统语言环境。  它对 Pascal 源文件执行基于规则的比较,并生成不匹配项的报告。

# 记录到格式为"C:\My Log 2012-12-31.txt"的文件。

# 确切的格式取决于您的区域和语言设置。

log verbose append:"C:\我的日志 %date%.txt"

# 比较文件的文本内容。

criteria rules-based

# 仅比较 Delphi 源文件,忽略存档文件夹。

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

load "C:\我的文件夹" "C:\你的文件夹"

folder-report layout:summary &

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

 output-to:"我的报告.txt"

 

将当前文件夹状态与快照进行比较

此脚本将文件夹的当前状态与上次发送更新时的快照进行比较。  然后,它将更改的和新文件复制到存档文件中,并更新文件夹的快照。

option confirm:yes-to-all

# 使用 crc 进行比较。

criteria crc

# 加载当前文件与上次补丁的快照。

load "C:\我的文件夹" "C:\我的快照.bcss"

# 展开以影响子文件夹和文件。

expand all

# 选择更新的文件。

select left.diff.files left.orphan.files

# 将更改复制到存档文件。

copyto left path:relative "C:\我的档案.zip"

# 更新快照。

snapshot save-crc left output:"C:\我的快照.bcss"

 

生成仅差异的报告

此脚本生成仅差异的报告。

# 设置基本比较功能。

criteria timestamp:2sec

# 过滤掉日志文件。

filter "-*.log"

# 加载第一个比较。

load "C:\我的文件夹" "C:\你的文件夹"

# 比较具有时间戳差异的文件。

select newer.files older.files

# 生成差异报告。

folder-report layout:summary options:display-mismatches output-to:"C:\我的报告.txt"