2014-01-06 1 views
3

У меня есть часть кода, где я сравниваю два файла, используя Beyond compare.Как сохранить сравниваемые отчеты, сгенерированные за пределами сравнения программно

string s = @""C:\Program Files\Beyond Compare 2\BC2.exe""; 

Process.Start(s, @"c:\temp\File1.txt c:\temp\File2.txt"); 

Теперь я хочу, чтобы сохранить Сравнить отчет с именем файла и на locationon мой рабочий стол программно.

Я искал документы, но ничего не смог найти при сохранении отчетов.

В настоящее время выше выполнение кода открывает окно, как видно на изображении (не запутаться с черной части на окне, я красил его таким образом, чтобы скрыть расположение файлов) don't get confused with the black part on the window, i have colored it that way to hide file locations

Заранее спасибо.

ответ

1

Я нашел решение на странице документации Beyond compare.

Добавьте следующие строки в файл и сохраните его с My script.txt

file-report layout:side-by-side & 
options:ignore-unimportant,display-context & 
output-to:%3 output-options:html-color %1 %2 

Теперь с помощью командной строки запустить следующий код BeyondCompate.exe @ "Мой script.txt" "1.txt" " 2.txt "" Save.html " Это сохранит отчет в Save.html.

я включил это в моем коде, как:

System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); 
startInfo.FileName = "cmd.exe" ; 
startInfo.Arguments = "/c" + "BeyondCompare.exe" + " " + @"My Script.txt" + " " + "1.txt" + " " + "2.txt" + " " +"Save.html"; 
System.Diagnostics.Process.Start(startInfo); 
+0

Чтобы узнать, почему это «/ с» используется, см http://stackoverflow.com/questions/5047171/passing-an-argument-to -cmd-ех – anurag

Смежные вопросы