Что нового

Сравнение файлов с помощю WinMerge. Как правильно задать параметры?

IoffeMax

Новичок
Сообщения
22
Репутация
1
Всем привет :smile:
Код:
If( 1 <> ShellExecute( "C:\Program Files\WinMerge\WinMergeU.exe",  $LocalCopyPath &' '& $PathToOldPreferencesFile ) ) Then ;;; Start the comparison "Preferences" with WinMerge
		$LocalVerChromeError += 1
		_FileWriteLog( $LastFoundVerErrorsPathInServer, " If( 1 <> ShellExecute( $PathToLocalWebDataFile, $PathToServerWebDataFile ) ) Then ;;; Start the comparison 'Preferences' with WinMerge" )
	EndIf
	Sleep( 1000 )

Проблема: WinMerge принимает имена файлов разделенные пробелом, а в самом имени файла тоже есть пробел :(
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.
 
Автор
I

IoffeMax

Новичок
Сообщения
22
Репутация
1
Вот стало чуть чуть лучше:
Код:
ShellExecute( "C:\Program Files\WinMerge\WinMergeU.exe",  '"C:\Users\maxi\Desktop\Das Boot.txt"' &' '&  @DesktopDir & '\Submarine.txt' ) ;;; Start the comparison "Preferences" with WinMerge
А как теперь сделать это кошерненько? Путь к сравниваемым файлам указать с помощью макросов?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
IoffeMax [?]
Путь к сравниваемым файлам указать с помощью макросов
Код:
ShellExecute("C:\Program Files\WinMerge\WinMergeU.exe",  '"' & @DesktopDir & '\Das Boot.txt" ' & @DesktopDir & '\Submarine.txt' )


или так (легче для разбора)

Код:
$sWinMerge_Exe = @ProgramFilesDir & '\WinMerge\WinMergeU.exe'

$sFile1 = @DesktopDir & '\Das Boot.txt'
$sFile2 = @DesktopDir & '\Submarine.txt'

ShellExecute($sWinMerge_Exe, StringFormat('"%s" "%s"', $sFile1, $sFile2))
 
Автор
I

IoffeMax

Новичок
Сообщения
22
Репутация
1
Ага!!! StringFormat() !!!

Спасибо огромное! :smile:
 
Верх