脚本参考

Beyond Compare

脚本参考

上一个向上下一个

脚本是一个包含一个命令列表的简单的文本文件,它可以控制程序,自动执行文件操作或生成报表。  参考用脚本自动化脚本示例

在任何命令中用户可以用 lt代替left,或者用rt代替right

下面是脚本命令(按照字母顺序排列):

ATTRIB BEEP COLLAPSE COMPARE COPY COPYTO CRITERIA DATA-REPORT DELETE EXPAND FILE-REPORT FILTER FOLDER-REPORT HEX-REPORT LOAD LOG MOVE MP3-REPORT OPTION PICTURE-REPORT REGISTRY-REPORT RENAME SELECT SNAPSHOT SYNC TEXT-REPORT TOUCH VERSION-REPORT


ATTRIB (文件的属性)

用法:

attrib (+|-)<attribute set 1> [(+|-)<attribute set 2> [...]]

 

Where <attribute set> is:

[a][s][h][r]

 

The Linux version does not support attrib.

在当前的选择中设置(+) 或清除(-) DOS文件属性。  使用a为存档,s为系统,h为隐藏,r为只读。

示例:

attrib +h

attrib +sh -a

 


BEEP (蜂鸣)

用法:

beep

 

蜂鸣计算机扬声器。  无论/silent命令行开关如何设置,均会蜂鸣。


COLLAPSE (折叠)

用法:

collapse all

collapse <路径 1> [<路径 2> [...]]

 

折叠所有文件夹或指定路径的文件夹。  路径是相对基准文件夹而言,且不能包含通配符。

示例:

collapse "My Folder 1" "My Folder 2"

 


COMPARE (比较)

用法:

compare [CRC|binary|rules-based]

 

使用比较类型比较当前选择内容。  默认使用最近一次的比较类型。

这个命令只比较文件一次。  使用CRITERIA去改变比较修改后文件的方法。


COPY (复制)

用法:

copy (left->right|right->left)

 

复制选定的文件/文件夹至指示的方向。


COPYTO (复制到)

用法:

copyto [left|right|all] [path:(relative|base|none)] <路径>

 

使用路径选项,复制选定一侧指定的文件/文件夹至指定的路径。

·base保存完整文件夹结构相对所有选定项的基准文件夹。
·relative保持所有选定项最小的相对文件夹结构。
·默认为allpath:none

 


CRITERIA (比较条件)

用法:

criteria \

   [attrib:<attribute set>] \

   [version] \

   [timestamp[:[<number of seconds>sec][;IgnoreDST]]] \

   [size|CRC|binary|rules-based] \

   [timezone:(ignore|(left|right)(+|-)<0..12>)] \

   [follow-symlinks]

 

Where <attribute set> is:

[a][s][h][r]

 

The Linux version does not support attrib.

选择所有comparison criteria的设置。

·attrib启动指定DOS文件的属性。  使用a为存档,s为系统,h为隐藏,r为只读。
·版本启用版本信息比较,用于exe可执行文件和dll动态链接库。
·时间戳启用时间戳比较。
o<number of seconds>sec将秒级在一定误差范围内时间视为匹配。
oIgnoreDST 将差别恰好为一个小时的时间视为匹配。
·sizeCRCbinaryrules-based均为比较文件内容的方法。
·时区忽略时区差异,不在指定侧使用时区的时间偏移。
·follow-symlinks treats symbolic links and NTFS junctions as the target file or folder, rather than the link itself.

示例:

criteria attrib:sh timestamp:2sec;IgnoreDST rules-based timezone:left+6

 


DATA-REPORT (Data Report)

用法:

data-report \

   layout:<布局> \

   [options:<选项>] \

   [title:<报告标题>] \

   output-to:(printer|clipboard|<文件名>) \

   [output-options:<选项>] \

   [<比较>]

 

生成当前所选文件的数据比较报表。

·layout控制报表的外观,包括side-by-sidesummary或者 interleaved
·options为可选,对每个布局有不同用法。
oignore-unimportant将不重要文本中的差异视为相同,且在所有布局中有效。
odisplay-alldisplay-mismatchesdisplay-matches可被用于控制哪些比较的行,在除了summary之外所有的布局中。  默认使用display-all
oline-numbersside-by-side布局中的行号。
·Common Report Arguments文档中找到关于titleoutput-tooutput-options参数的描述。

DELETE (删除)

用法:

delete [recyclebin=(yes|no)] (left|right|all)

 

在指定侧删除当前选定的文件/文件夹。  recyclebin 参数只有在Windows系统支持下有效。

Windows不会将网络驱动器、FTP站点和压缩文档中的文件放入回收站。


EXPAND (展开)

用法:

expand all

expand <路径 1> [<路径 2> [...]]

 

展开指定的子文件夹或所有子文件夹。  路径相对基准文件夹,且不包含通配符。  子文件夹必须被展开以便使用其它命令,如 SELECT。  expand all命令不会展开被文件过滤器排除的子文件夹。


FILE-REPORT (文件报告)

用法:

file-report \

   layout:<布局> \

   [options:<选项>] \

   [title:<报告标题>] \

   output-to:(printer|clipboard|<文件名>) \

   [output-options:<选项>] \

   [<比较>]

 

基于所处理文件的类型生成当前选定文件的报表。  例如,为数据比较文件格式生成DATA-REPORT。

·layout控制报表的外观,可以是side-by-side或者 summary
·options为可选,对每个布局有不同用法。
oignore-unimportant将不重要文本中的差异视为相同,且在所有布局中有效。
odisplay-alldisplay-mismatchesdisplay-matches可被用于控制哪些比较的行,在除了summary之外所有的布局中。  默认使用display-all
oline-numbersside-by-side布局中的行号。
·Common Report Arguments文档中找到关于titleoutput-tooutput-options参数的描述。

示例:

file-report layout:side-by-side options:display-mismatches &

   output-to:printer output-options:print-color,wrap-word

 


FILTER (过滤器)

用法:

filter <文件掩码>

filter cutoff:([<|>](<时间戳>|<number of days>[days])|none)

filter attrib:((+|-)<attribute set>|none)

filter size:([<|>]<数字>[KB|MB|GB|TB]|none)

filter exclude-protected

filter include-protected

 

Where <attribute set> is:

[a][s][h][r]

 

The Linux version does not support attrib, exclude-protected or include-protected.

Controls which folders and types of files are compared by using name filtering (file masks), date filtering (cutoff) or other filtering (attrib, size, exclude-protected or include-protected).

·文件过滤器根据文件的名称和路径去包括或排除文件以及文件夹。  多个掩码可以使用分号隔离。  前面的减号(-)表示排除掩码。  后面的斜线(\)表示作用域文件夹。
·cutoff排除所有相对当前系统时间的时间戳或天数(<number of days>days)较旧 (<)或较新(>)的文件。  默认使用cutoff:<。  none用于移除日期过滤器。  日期过滤是宽松的,如果希望得到正确的分析结果,则使用操作系统区域设置指定的格式。  (参考 控制面板 > 区域和语言设置。)  )时间是可选的,且应该位于日期之后 (cutoff:"12/31/2012 12:00pm")。  记住使用引号(" ")如果表达式中包含空格。
·attrib限制比较某些文件具有包含DOS文件属性(+),而不具有排除属性(-)。  使用a为存档,s为系统,h为隐藏,r为只读。  none可被用于移除属性过滤器。
·size排除所有小于 (<)或大于(>)指定大小的文件。  默认的单位为字节,但用户也可以指定其它单位如KBMBGBTB 。  使用none去清楚文件大小过滤器。
·exclude-protected excludes files and folders that have both system and hidden attributes set.
·include-protected includes files and folders that have both system and hidden attributes set.

示例:

filter "*.pas;*.dpr;*.dfm"

filter cutoff:<7days

filter cutoff:>"Dec 31, 2012"

filter cutoff:"12/31/2012 12:00pm"

filter attrib:-sh

filter "*.txt;-My Folder\" attrib:+r

 


FOLDER-REPORT (Folder Report)

用法:

folder-report \

   layout:<布局> \

   [options:<选项>] \

   [title:<报告标题>] \

   output-to:(printer|clipboard|<文件名>) \

   [output-options:<选项>]

 

生成一个文件夹比较报表。  文件夹显示在它们的当前状态。  在脚本前添加expand all去在报表中包含自文件。

·layout控制报表的外观为 side-by-sidesummaryxml
·options是可选的。
o显示过滤器控制报表包括哪些文件。  可能的值为display-alldisplay-mismatchesdisplay-no-orphansdisplay-mismatches-no-orphansdisplay-orphansdisplay-left-newerdisplay-right-newerdisplay-left-newer-orphansdisplay-right-newer-orphansdisplay-matches。  默认使用display-all
o可选的列可以被报表包含并用逗号分开 在报表中使用标记column-versioncolumn-sizecolumn-crccolumn-timestampcolumn-attributescolumn-groupcolumn-ownercolumn-vcs。  默认column-sizecolumn-timestamp。  column-none被用于清除默认的列。
·Common Report Arguments文档中找到关于titleoutput-tooutput-options参数的描述。

示例:

folder-report layout:side-by-side &

   options:column-size,column-version,column-timestamp &

   output-to:clipboard output-options:html-color

folder-report layout:xml output-to:"C:\My Report.xml"

 


HEX-REPORT (Hex Report)

用法:

hex-report \

   layout:<布局> \

   [options:<选项>] \

   [title:<报告标题>] \

   output-to:(printer|clipboard|<文件名>) \

   [output-options:<选项>] \

   [<比较>]

 

生成当前文件的十六进制比较报表。

·layout控制报表的外观,包括side-by-sidesummary或者 interleaved
·options为可选,对每个布局有不同用法。
odisplay-alldisplay-mismatchesdisplay-matches可被用于控制哪些比较的行,在除了summary之外所有的布局中。  默认使用display-all
oline-numbers包含side-by-side布局中的字节地址。
·Common Report Arguments文档中找到关于titleoutput-tooutput-options参数的描述。

LOAD (加载)

用法:

load <会话>

load [create:(all|left|right)] <left path> [<right path>]

load <default>

 

加载指定的文件夹比较会话、指定的基准文件夹或默认设置下的新文件夹比较会话 (load <default>)。  加载基准文件夹失败会导致脚本运行被终止。

·加载使得所有会话设置除了显示过滤器以外全部停止的会话。
·使用当前的活动设置加载基准文件夹。  默认使用program defaults
·可选的create参数创建原先不存在的基准文件夹。

示例:

load "我的会话"

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

load <default>

 


LOG (日志)

用法:

log [none|normal|verbose] [[append:]<文件名>]

 

控制日志记录多少细节以及日志的的存储位置。

·nonenormalverbose决定日志中的内容。  日志初始时被禁用,当模式由none开始变化时启用。
·append:将日志添加至文件而非替换该文件。  默认的,日志在当前目录下被输出为Log.txt (例如,Windows "Start In"文件夹在快捷方式属性下)。

MOVE 移动

用法:

move (left->right|right->left)

 

通过指定的方向移动选定的文件/文件夹。


MP3-REPORT (MP3 Report)

用法:

mp3-report \

   layout:<布局> \

   [options:<选项>] \

   [title:<报告标题>] \

   output-to:(printer|clipboard|<文件名>) \

   [output-options:<选项>] \

   [<比较>]

 

为当前选定的文件生成MP3比较报表。

·layout控制报表的外观,可以是side-by-side或者 summary
·options为可选,对每个布局有不同用法。
oignore-unimportant将不重要文本中的差异视为相同,且在所有布局中有效。
odisplay-alldisplay-mismatchesdisplay-matches可被用于控制哪些比较的行,在除了summary之外所有的布局中。  默认使用display-all
·Common Report Arguments文档中找到关于titleoutput-tooutput-options参数的描述。

OPTION (打开)

用法:

option stop-on-error

option confirm:(prompt|yes-to-all|no-to-all)

 

调整脚本处理选项。

·stop-on-error让脚本观测不同的错误状态,包括文件操作错误 当错误发生时,在继续执行之前弹出提示。
·确认可以使用promptyes-to-allno-to-all去操纵由文件操作引起的确认对话框。  默认使用 prompt

PICTURE-REPORT (Picture Report)

用法:

picture-report \

   layout:<布局> \

   [options:<选项>] \

   [title:<报告标题>] \

   output-to:(printer|clipboard|<文件名>) \

   [output-options:<选项>] \

   [<比较>]

 

为当前选定的文件生成图片比较报表。

·layout控制报表的外观,可以是side-by-side或者 summary
·options为可选,对每个布局有不同用法。
osummary布局中,ignore-unimportant将不重要文本中的差异视为相同。
·Common Report Arguments文档中找到关于titleoutput-tooutput-options参数的描述。

REGISTRY-REPORT (Registry Report)

用法:

registry-report \

   layout:<布局> \

   [options:<选项>] \

   [title:<报告标题>] \

   output-to:(printer|clipboard|<文件名>) \

   [output-options:<选项>] \

   [<比较>]

 

为当前选定的文件生成注册表比较报表。

·layout控制报表的外观,可以是side-by-side或者 summary
·options为可选,对每个布局有不同用法。
oignore-unimportant将不重要文本中的差异视为相同,且在所有布局中有效。
odisplay-alldisplay-mismatchesdisplay-matches可被用于控制哪些比较的行,在除了summary之外所有的布局中。  默认使用display-all
·Common Report Arguments文档中找到关于titleoutput-tooutput-options参数的描述。

RENAME (重命名)

用法:

rename [regexpr <旧过滤>] <新建掩码>

 

使用指定的新掩码,对当前选择执行多个文件重命名。  regexpr使用一个旧的掩码去执行"Regular Expression Rename"。  默认的执行DOS格式重命名。

示例:

rename *.bak

rename regexpr (...)(...)\.txt $2$1.txt

 


SELECT (选择)

用法:

select <selection mask 1> [<selection mask 2> [...]]

 

Where <selection mask> is one of the following:

all

[(left|right|all).][(exact|diff|newer|older|orphan|all).][(files|folders|all)]

empty.folders

 

选择控制哪个文件或文件夹可以可以被操作。  只有匹配至少一个选择模板的文件和文件夹才被选中。

·leftrightall将选择限制在指定一侧。  默认使用all
·exactdiffnewerolderorphanall基于比较结果去限制选择。  diff引用差异标准而非时间戳。  使用newerolder去比较时间戳。  文件夹必须包含指定的结果类型。  默认使用all
·filesfoldersall限制文件、文件夹和二者的选择。  默认使用all
·empty.folders是一个特殊的选择掩码用于选择空白文件夹。

示例:

select all

select left

select exact

select files

select right.diff

select left.folders

select newer.files right.older.files

 


SNAPSHOT (快照)

用法:

snapshot \

   [save-crc] \

   [save-version] \

   [expand-archives] \

   [follow-symlinks] \

   [no-filters] \

   left|right|path:<路径> \

   [output:<目标>]

 

保存只读快照至指定的文件夹。

·save-crc计算所有文件的CRC并将它们存储为快照的一部分。
·save-crc保存可执行文件的版本信息。
·expand-archives将存档文件的内容以扩展格式保存。
·follow-symlinks保存指向文件和文件夹的符号链接。
·no-filters保存所有的文件,不管激活的文件名过滤器。
·leftrightpath指示哪个文件夹被保存。  leftright保存快照至加载的基准文件夹之一,path将快照保存至指定路径。
·output为可选并且决定快照被保存的地点。  默认保存地点为当前文件夹。
o如果目标是一个完全符合标准的文件名,则其会成为快照的文件名。  如果目标没有扩展名,则将使用.bcss作为扩展名。
o如果目标不被包含或引用到一个文件夹,则生成一个基于源文件夹和当前系统日期的文件名,例如folder_2012-12-31.bcss。  If necessary an additional number will be added to the generated name to keep it from overwriting existing snapshots.

示例:

snapshot save-crc save-version no-filters path:C:\ output:D:\

snapshot left output:"My Snapshot.bcss"

 


SYNC (同步)

用法:

sync \

   [visible] \

   [create-empty] \

   (update|mirror):(left->right|right->left|all)

 

通过复制和删除文件从而同步化文件夹。  这个命令不再使用当前的选择。

·visible启用“只影响可见文件”的行为。  只有在扩展的文件夹中的文件会被影响。
·create-empty启用“创建空白文件夹”行为。
·update根据指定的方向复制较新和孤立文件,保持另一侧的孤立和较新文件不变。  使用all作为方向指示,从而双向同步化以及双向复制较新和孤立文件。
·mirror使得目标文件夹和源文件夹相同。  较新、较旧、差异和孤立文件均被复制到目的地址。  Orphans in the destination are deleted.  双向all在这里不适用。

示例:

sync create-empty mirror:left->right

 


TEXT-REPORT (Text Report)

用法:

text-report \

   layout:<布局> \

   [options:<选项>] \

   [title:<报告标题>] \

   output-to:(printer|clipboard|<文件名>) \

   [output-options:<选项>] \

   [<比较>]

 

生成当前选定文件的文本比较报表。

·layout 控制报表的外观,包括 side-by-sidesummaryinterleavedpatchstatisticsxml。  不推荐使用的布局over-undercomposite被替换为interleaved
·options为可选,对每个布局有不同用法。
oignore-unimportant将不重要文本中的差异视为相同,且在所有布局中有效。
odisplay-alldisplay-mismatchesdisplay-contextdisplay-matches可被用于控制比较的哪些行可以被包括到除了summarypatchstatistics之外的所有布局。  默认使用display-all
oline-numbersside-by-side布局中的行号。
ostrikeout-left-orphans用删除线划掉interleaved布局中只存在于左侧的行。
ostrikeout-right-orphans用删除线划掉interleaved布局中只存在于右侧的行。
opatch-normalpatch-contextpatch-unified 格式在patch布局中有效。  默认使用patch-normal
·Common Report Arguments文档中找到关于titleoutput-tooutput-options参数的描述。

stats-descriptive生成总结报表而非在日志中发布一个警告。  不推荐使用的stats-tabular选项在statistics布局中被忽略,目前statistics布局一直是表格格式(CSV)。

示例:

text-report layout:interleaved options:display-context &

   output-to:printer output-options:print-color,wrap-word

text-report layout:patch options:patch-unified &

   output-to:"My Report.txt"

 


TOUCH (接触)

用法:

touch (left->right|right->left)

touch (left|right|all):(now|<时间戳>)

 

从一侧复制时间戳至另外一侧,或一组一侧所有文件时间戳复制为当前系统时间 (now)或一个指定时间戳。  用户必须首先选择文件然后再接触。


VERSION-REPORT (Version Report)

用法:

version-report \

   layout:<布局> \

   [options:<选项>] \

   [title:<报告标题>] \

   output-to:(printer|clipboard|<文件名>) \

   [output-options:<选项>] \

   [<比较>]

 

生成当前选定文件的版本报表。

·layout控制报表的外观,可以是side-by-side或者 summary
·options为可选,对每个布局有不同用法。
oignore-unimportant将不重要文本中的差异视为相同,且在所有布局中有效。
odisplay-alldisplay-mismatchesdisplay-matches可被用于控制哪些比较的行,在除了summary之外所有的布局中。  默认使用display-all
·Common Report Arguments文档中找到关于titleoutput-tooutput-options参数的描述。

常用报表参数

报表命令(data-reportfile-reportfolder-reporthex-reportmp3-reportpix-reportregistry-reporttext-report以及version-report)必须包含将报表送到哪里的信息,且包含输出格式的附加信息。

·title控制标题如何显示在报表的顶部。
·output-to控制输出对象。  可以是printerclipboard或文件名。
·output-options为可选,根据不同的输出对象用法不同。
oprint-colorprint-mono配色方案对printer输出有效。  默认使用 print-mono
oprint-portrait>或print-landscape打印方向对printer输出有效。  默认使用 print-portrait
owrap-nonewrap-characterwrap-word 控制是否对很长的一行进行自动换行。  printer 输出使用三个选项。  HTML输出使用 wrap-nonewrap-word。  默认使用wrap-none
ohtml-colorhtml-monohtml-custom 样式表在clipboardfile输出中有效。  如果html-custom被使用,其应该包括一个URL或者路径用于HTML的外部样式表。  默认使用html-mono
·<comparison> can either be a session name or a pair of filenames.  The file report will use the specified comparison instead of the files that have been selected within the script.  When using a saved session, the comparison type must match the report type (e.g., a Data Compare session must use data-report or file-report).

示例:

data-report layout:interleaved output-to:printer &

   output-options:print-color,print-landscape

file-report layout:summary output-to:clipboard &

   output-options:wrap-word,html-color

text-report layout:patch options:patch-unified &

   output-to:"My Report.txt"