加入社区

订阅:www.yunweipai.com/feed

QQ群:
1群:201777608 - 运维综合
2群:526871767 - 运维综合
3群:1689067 - Linux Shell脚本

微博:weibo.com/tektea

微信:yunweipai(或扫描以下二维码)

合作伙伴

小猪动图 - GIF动图素材库_GIF在线工具

Beyond Compare强大的脚本功能

Beyond Compare是开发兄弟用得非常多的工具,不过相信好多兄弟其实用了这么些的年都没用过bc很强大的脚本功能。bc提供了一个脚本可以用来做自动化任务, bc的脚本也是一些简单的命令列表,能够用来自动控制处理文件的操作以及生成执行报告。bc脚本功能运行可以不需要我们通常见到的bc用户UI,不过脚本运行过程可能会弹出一些需要确认的提示。bc脚本在AT或者是做一些比对合入的时候非常有用。关于bc一些高级的用法和详细介绍,有兴趣的同学可以参考原文链接。

一个非常简单的删除指定目录下所有文件的bc脚本例子:参考其他更多的命令,请参考的附件罗列的命令
load "C:\My Folder"
select all
delete all

执行的命令行,例如:
windows BCompare.exe @"C:\My Script.txt"
linux/unix bcompare @"/My Script"

脚本实际上是做一个隐藏的文件夹操作会话: 包括选择文件操作,"display"可以用来过滤指定属性的文件,"expanded"可以递归进入展开文件夹,任何目录名称都可以作为参数,可以是你自己本地上的文件夹,也可以是网络上或者是ftp上的文件夹,甚至一些象.ZIP, .CAB压缩包之类的文件,或者是bc的快照文件都支持。

脚本是逐行解析执行的,脚本对内容是大小写不敏感的(不知道linux/unix上这里是咋支持的),空行和#符号注释是会被忽略的掉的。参数之间是以空格作为分隔的。如果是参数中带有空格就需要用双引号了(linux/unix默认就这么玩的),支持在一些超长的行尾用&符号换行(和多数脚本中的\默认换行符不一样)。

另外,命令行参数和环境变量可以在调用的时候传入脚本,命令行变量用%1-%9这种格式,脚本和调用的命令都不包括在这个参数个数里头。
例如:

命令行:
BCompare.exe @"My Script.txt" "My Session"

脚本中读取参数
load "%1"

环境变量直接就用两个百分号闭合的形式%TMP%,而且是大小写敏感的。
例如:
load "%TMP%"
select all
delete all

这里有几个动态的变量可以嵌入bc的脚本中,%date%就是获取当前日期的,格式是yyyy-mm-dd, %time%是获取当前时间的,格式依赖于你的地区设置,%fn_time%输出时间格式是hh-mm-ss,这些都可以用来作为时间后缀给文件命名。

原文:http://www.scootersoftware.com/help/index.html?scripts_overview.html
Scripting Reference

转载请注明:运维派 » Beyond Compare强大的脚本功能

0
5.8k
5
    • @Guang bc还是很有用处的,UI上能做的操作都可以用bc脚本 例如比对两个目录中文件内容更新差异,比对时间点后差异 之类的操作