我有一个文件列表dataGridView
,我希望能够从中选择 2 个(我可以弄清楚如何检查 selectedRows 计数)并将这些文件传递给 Beyond Compare 3 进行比较。我浏览了他们的支持页面,但找不到这样做的方法。
在程序中,我需要打开应用程序 (BC3) 并将参数中的 2 个文件路径传递给应用程序以开始比较。
我只是System.Diagnostics.Process.Start(bc3.exe path)
用来推出无与伦比的。
我有一个文件列表dataGridView
,我希望能够从中选择 2 个(我可以弄清楚如何检查 selectedRows 计数)并将这些文件传递给 Beyond Compare 3 进行比较。我浏览了他们的支持页面,但找不到这样做的方法。
在程序中,我需要打开应用程序 (BC3) 并将参数中的 2 个文件路径传递给应用程序以开始比较。
我只是System.Diagnostics.Process.Start(bc3.exe path)
用来推出无与伦比的。
查看他们的支持页面以配置版本控制系统。一般语法似乎是
"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 的其他示例。
以下对我有用。
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""" );