将命令行参数传递给Beyond Compare

3
我有一个文件列表在dataGridView中,我想选择其中的2个文件(我可以弄清楚如何检查所选行数),并将这些文件传递给Beyond Compare 3进行比较。我查看了他们的支持页面,但找不到方法。
在程序中,我需要打开应用程序(BC3),并传递两个文件路径作为参数以启动比较。
我只是使用System.Diagnostics.Process.Start(bc3.exe路径)来启动Beyond Compare。
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,所以我没有测试以上内容,但它应该非常接近正确。

在SO上还有其他关于将BC与git、svn等集成的问题。它们会给你其他从命令行启动BC的示例。


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""" );

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接