Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Autorun
Goto page Previous  1, 2, 3 ... 216, 217, 218
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
FallenAngel



Joined: 30 Dec 2025
Posts: 12

Post (Separately) Posted: Fri Feb 06, 2026 13:12    Post subject: Reply with quote

Orion9
TCFS2, точно, спасибо.

Про CompareTool расскажу что хочу. Решение пока не могу придумать. Идея, условно:
if exist WinMergeU.exe then (выполняем как обычно CompareTool=WinMergeU.exe) else (предлагаем скачать перекинув на условный BAT-ник).
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 995

Post (Separately) Posted: Fri Feb 06, 2026 19:13    Post subject: Reply with quote

FallenAngel
А что тут думать? Нужно брать и делать, как вы написали )

Сначала считать ключ CompareTool и проверить путь в его значении: если путь существует, то выполнить cm_CompareFilesByContent, если не существует, то вывести MsgBox с вопросом, нужно ли скачивать WinMerge.

Опционально можно добавить возможность сравнения внутренним инструментом, если пользователь откажется от скачивания.

Небольшой пример:
Code:
RegisterCommand 60050 "CompareTwoFiles"

Func CompareTwoFiles()
    Local sTool
    # чтение ключа   
    sTool = IniRead("~/R", COMMANDER_INI, "Configuration", "CompareTool", 0)
    # раскрытие переменных окружения в значении ключа, если они есть
    sTool = Set(sTool)
    # проверка существования файла   
    If FileExist(sTool) Then
       # файл существует
       # послать команду сравнения и выйти   
       SendCommand(2022)    # cm_CompareFilesByContent
       Return
    EndIf
    # файл не существует   
    MsgBox("Инструмент сравнения не найден " & sTool & auCRLF & auCRLF & _
           "Загрузить из Интернета?", "Autorun", 3+0+48)
    # кнопка "Да" не была нажата, выйти из скрипта             
    If EXTENDED <> 6 Then Return
    # запуск батника для загрузки                 
    ShellExec(COMMANDER_PATH & "\Scripts\WinMergedownload.bat")   
EndFunc

Как у вас со скриптингом, можете дальше развить этот пример, а то я через неделю только освобожусь.

Кстати, вместо батника можно использовать функцию WinInetDownloadFile для загрузки файла прямо из Autorun
Code:
Local url = "https://downloads.sourceforge.net/winmerge/winmerge-2.16.54-x64-exe.zip"
WinInetDownloadFile(url, TEMP & "\winmerge.zip")

WinMerge загрузится во временный каталог в архиве winmerge.zip. Останется распаковать этот архив в нужное место и сообщить пользователю об окончании операции.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 216, 217, 218
Page 218 of 218

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group