将命令行参数传递给Beyond Compare

时间:2012-08-18 16:47:09

标签: c# beyondcompare

我有一个dataGridView中的文件列表,我希望能够选择其中的两个(我可以弄清楚如何检查selectedRows计数)并将这些文件传递给Beyond Compare 3 for比较。我浏览了他们的支持页面,但我找不到办法。

在程序中,我需要打开应用程序(BC3)并将参数中的2个文件路径传递给应用程序以开始比较。

我只是使用System.Diagnostics.Process.Start(bc3.exe path)启动而不是比较。

2 个答案:

答案 0 :(得分:6)

查看他们的support page以配置版本控制系统。一般语法似乎是

  

" C:\ Program Files \ Beyond Compare 3 \ bcomp.exe" %1 %% 2%/ lefttitle ="%3%" / righttitle ="%4%"

所以看起来你需要传递四个参数,即左右文件,然后是左右标题。因此,您希望使用Start

two-argument form
System.Diagnostics.Process.Start("C:\Program Files\Beyond Compare 3\bcomp.exe",
     "file1.txt file2.txt /lefttitle=\"foo\" /righttitle=\"bar\"")

我目前没有安装BC3,所以我还没有对上述内容进行测试,但它应该非常接近。

有关于将BC与git,svn等集成在一起的各种其他问题。他们将为您提供从命令行启动BC的其他示例。

答案 1 :(得分:3)

以下适用于我。

string bc3 = @"C:\Program files (x86)\Beyond Compare 3\bcompare.exe";

Process.Start(bc3, @"c:\temp\File1.cs c:\temp\File2.cs" );

或者如果你的文件名中有空格

Process.Start(bc3, @"""c:\temp\File 1.cs"" ""c:\temp\File 2.cs""" );