3

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

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

我只是System.Diagnostics.Process.Start(bc3.exe path)用来推出无与伦比的。

4

2 回答 2

7

查看他们的支持页面以配置版本控制系统。一般语法似乎是

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

所以看起来你需要传递四个参数,分别是左右文件,然后是左右标题。所以你会想要使用两个参数的形式Start

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

我目前没有安装BC3,所以我没有测试过上面的,但它应该非常接近。

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

于 2012-08-18T16:59:08.697 回答
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""" );
于 2012-08-18T17:06:48.020 回答