В этой теме предлагается обсуждение и обмен информацией, касающейся взаимодейсвия Total Commander, его кнопок и скриптов.
Для простоты и удобства указания относительного пути к объекту предлагаю ввести некую условную переменную %pp%. Эта переменная никоим образом не относится к системным переменным или внутренним переменным Total Commander. Повторю, она будет использоваться только в настоящем форуме для простоты и удобства указания условного пути к объекту.
Этим условным путем может быть любой абсолютный или относительный путь к объекту вашей системы, который вы, как предполагается, в дальнейшем, исправите на свой.
Итак, назову эту переменную для простоты и краткости %pp% (от %program_path% — путь к программе). Таким образом, конструкция полного пути к объекту будет выглядеть следующим образом
Назначение: эта кнопка будет помогать создавать и дополнять Вам информацию. Можно использовать ее для мгновенной записи любой нужной информации в файл, а также, что немаловажно, дополнять этот файл новой информацией, то есть, попросту говоря, кнопка будет записывать любую информацию из буфера обмена в указанный Вами файл на панель тотала...
сохраните этот код как файл *.vbs, например, desc.vbs и поместите в удобное для вас место, (можно и нужно в какой либо каталог внутри тотала :), после чего используйте такую кнопку
Код:
TOTALCMD#BAR#DATA
%pp%\*.vbs
?"Имя файла.txt"
write.exe
Создание и добавление описания в файл
Если нужно всегда одно и то же имя файла, в 3-й строке кнопки убрать начальный знак вопроса В кнопке, разумеется, можно и нужно использовать внутреннюю переменную %commander_path% Можно забиндить этот процесс на горячую клавишу :), как? ищем здесь.
Примечание: здесь в указании пути к wget допускается использование %commander_path%, думаю, это должно понравиться любителям портативности.
2. Кнопка для него
Код:
TOTALCMD#BAR#DATA
%pp%\download.vbs
%pp%\значок
Загрузить ссылку
Принцип работы: копируем адрес ссылки, нажимаем кнопку, и файл через некоторое время у вас в активной панели, причем, если версия файла на сервере та же, что и у вас на панели, то загрузки не будет, а, следовательно, и трафик на повторную загрузку расходоваться не будет. Если, по каким-либо причинам, загрузка сорвалась, повторите загрузку и она продолжится с места разъединения. В отличие от копирования самим тоталом, операция будет проходить в фоне, так что вы можете смело закрывать тотал, перезапускать его и продолжать работать в нем дальше, а также забыть об обрывах, ..., и т.д., ну вы сами знаете, что такое встроенный загрузчик тотала.
Внимание: поскольку до сих пор существует баг при работе скриптов в русской раскладке, вы должны либо сами контролировать, чтобы раскладка была английской, либо использовать программу-автопереключатель раскладки клавиатуры Punto Switcher и забыть о проблеме раз и навсегда.
JS-cкрипт для создания RaR-архивов из выделенных объектов. Основные задачи, поставленные перед скриптом, таковы: архивирование выделенных объектов (файлов и/или папок) одним нажатием, получая в имени будущего архива родительский каталог и дату со временем такой структуры ParentDirName_[year.month.day-hours.minutes.seconds]
cmd='cmd /c title 7z-packing... &%commander_path%\\arc\\7z a -m0=bcj -m1=lzma:d=21 -ms -mmt -pПАРОЛЬ "'+objFolder+'_'+fDateTime()+'.7z"'+strArg
WScript.CreateObject('WScript.Shell').Run(cmd,2)
Для создания самораспаковывающихся архивов создаем схожий скрипт и добавляем к команде параметр -sfx%pp%\\7z.sfx, при этом не забываем сменить расширение .7z на .exe
cmd='cmd /c title 7ip-packing... &%commander_path%\\arc\\7z a -tzip -pПАРОЛЬ "'+objFolder+'_'+fDateTime()+'.zip"'+strArg
WScript.CreateObject('WScript.Shell').Run(cmd,2)
Для создания самораспаковывающихся архивов создаем схожий скрипт и добавляем к команде параметр -sfx%commander_path%\\SFXHEAD.SFX, при этом не забываем сменить расширение .zip на .exe
Ситуация такова: Вы работаете в Total Commander и обнаружили, что версия Total Commander обновилась Вы загрузили новую версию, распаковали дистрибутив и... Для того, чтобы обновить Total Commander, Вам нужно выполнить много лишних телодвижений Поскольку главный исполняемый файл TOTALCMD.EME и некоторые библиотеки DLL заняты процессом TOTALCMD.EME, их не удаётся заменить Специально для таких ситуаций был разработан Скрипт для обновления Total Commander прямо из Total Commander Задача которого: заменить занятые файлы из указанной папки с новым дистрибутивом в папку с Вашим рабочим Total Commander