2010-05-06 4 views
2

У меня есть Beyond Compare 3 установлен на;Начиная с сравнения с командной строкой

"C:\Program Files\Beyond Compare 3\BCompare.exe" 

и Cygwin;

"C:\Cygwin\bin\bash.exe" 

Я хотел бы использовать эту команду, такую ​​как;

diff <file1> <file2> 

в оболочку Cygwin и иметь оболочку для запуска процесса, открывающего два файла за пределами сравнения.

Я посмотрел на Beyond Compare Support Page, но я боюсь, что это было слишком кратким для меня. Я попытался скопировать текст дословно (кроме пути к исполняемому) безрезультатно;

Instead of using a batch file, create a file named "bc.sh" with the following line: 
"$(cygpath 'C:\Progra~1\Beyond~1\bcomp.exe')" `cygpath -w "$6"` `cygpath -w "$7"` /title1="$3" /title2="$5" /readonly 

Должен ли я заменить cygpath? Я получаю ошибку «Command not found», когда я ввожу имя скрипта в командной строке.

[email protected] /cygdrive 
$ "C:\Documents and Settings\gavina\Desktop\bc.sh" 
bash: C:\Documents and Settings\gavina\Desktop\bc.sh: command not found 

У кого-либо есть Beyond Compare, как я уже описал? Возможно ли это в среде Windows?

Заранее благодарен!

+0

В вашем скрипте вы можете отсылать $ 1 -> $ 9, чтобы узнать, что вы проходите? Также выделите командную строку, которую вы пытаетесь запустить, чтобы увидеть, что вы пытаетесь выполнить. Затем опубликуйте это. –

ответ

0

Внутри Cygwin файловая система больше похожа на unix. Компонент cygpath существует потому, что корень диска отображается в другом месте пути. «C: \» ничего не значит для Cygwin, он считает, что «/» является корнем, и ваши диски должны начинаться оттуда, следовательно, расширение cygpath. Кроме того, попробуйте использовать 8,3 форму, как от указанной странице:

"$ (cygpath 'C: \ PROGRA ~ 1 \ Beyond ~ 1 \ bcomp.exe')"

+0

Привет, Келли, это здорово, но у меня есть некоторые вопросы, передающие аргументы программе. Как бы вы передали две ссылки на файлы в формате Windows? – Logan

0

@Romain Hippeau Спасибо, я был немного придурком.

Чтобы запустить скрипт оболочки в Cygwin, вы должны сделать его исполняемым.

chmod 755 bc.sh 

Затем для запуска использования сценария;

./bc.sh 

Если сценарий находится в текущем каталоге.

0

Добавьте эту функцию в свой файл ~/.bashrc.

bc() { 
    "/cygdrive/c/Program Files/Beyond Compare 3/BCompare.exe" $1 $2 -fv "Text Compare" 
} 

Тогда вы можете просто написать bc file1.txt file2.txt в командной строке и получить хорошее сравнение текста с помощью Beyond Compare.

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