Russian Total Commander Knowledge Base

Russian Total Commander Knowledge Base 1.7 BETA

База RU.TCKB является крупнейшим сборником знаний о файловом менеджере Total Commander на русском языке. RU.TCKB - это не обычный FAQ, дающий ответы на самые часто задаваемые вопросы. Это - и учебник, и справочник, и практическое руководство одновременно.
В базу включены материалы различного авторства - как и отдельные статьи, посящённые отдельным вопросам использования Total Commander, так и небольшие по объёму ответы на вопросы. Авторство всех материалов указано везде, где это было возможно, также все известные авторы перечислены в соответствующем разделе, а большинство ресурсов, на которых были найдены материалы, я внёс в список ресурсов. В случае, если ответ на вопрос был скомпонован из разрозненных ответов разных людей, либо был очень сильно мной откорректирован, я указывал лишь откуда этот ответ взят.
Иногда я брал на себя смелость дополнить или поправить чужие материалы в тех случаях, когда данные, в них содержащиеся, потеряли актуальность или требовали дополнения. Все исправления отмечены вот таким цветом. Также иногда я вставлял скриншоты, поясняющие материал, или заменял авторские рисунки в тех случаях, когда это было действительно необходимо. Все материалы тщательно вычитываются, и найденные ошибки исправляются.

Проект RU.TCKB является абсолютно бесплатным, однако составление и обновление базы - большой труд. Поэтому я буду очень рад, если вы захотите дополнить проект каким-нибудь материалом.

RU.TCKB не претендует на абсолютную полноту знаний о Total Commander, но это лишь значит, что мне есть к чему стремиться.

Павел Дубровский

Новое в этой версии:
- Сменился адрес онлайн-версии базы. Теперь её можно найти на http://tckb.megabyte-web.ru
- Исправления ошибок, найденных в предыдущей версии.
- Многочисленные добавления и изменения.
- Множество материала по новой версии Total Commander. В том числе исправлены ответы на те вопросы, которые в TC 7.0 решаются иначе, чем в предыдущих версиях.
- По просьбе автора удалена статья "Скрипты PowerPro - опыт новичка" (заменена на статью "Пример создания скрипта для PowerPro" того же автора).

Советы:
- ссылки на добавленные и исправленные материалы этой версии отмечены в html-оглавлении.
- для изменения размера шрифта используйте Ctrl+Колесо мыши.
- для навигации по базе при просмотре через Lister используйте html-оглавление.


Статьи

Статьи по разделам:

Введение: обзор TC для новичков

Статьи, посвящённые новым версиям Total Commander:

· Total Commander 5.5. Что нового?
· Total Commander 6.0: Что нового?
· Total Commander 6.0: Ушки, регэкспы, юникод и не только
· Total Commander 6.02: Что нового?
· Total Commander 6.5. Что нового?
· Total Commander 7.0. Что нового?

Статьи, посвящённые установке, настройке и освоению Total Commander:

· Total Commander - тотальный файловый менеджер
· Total Commander: раз и навсегда
· Total Commander: создание собственной инсталляции
· Автоматическое открытие сменных носителей в TC
· Как привести TC 7.0 к виду TC 6.5?
· Контроллеры OTi vs. Total Commander
· Подключаем свои иконки
· Подпанели Total Commander
· Пользуемся панелью инструментов
· Своё меню: разбираемся за десять минут
· Тотальные хитрости

Статьи, посвящённые FTP-клиенту Total Commander:

· FTP-клиент Total Commander
· WebDrive: FTP без проблем

Статьи, посвященные инструменту поиска Total Commander:

· Директории синего цвета. Работа с условиями поиска и масками файлов
· Найди двойника! Поиск дубликатов в Total Commander

Статьи, посвящённые инструменту внутреннего просмотра (Lister):

· Как видеть всё: Lister и его плагины
· Настройка Lister-а для просмотра текстов в кодировке KOI8

Статьи, посвящённые архиваторным плагинам:

· Все об архиваторных плагинах

Статьи, посвящённые контентным плагинам:

· Контентные плагины, и с чем их едят

Статьи, посвящённые файлсистемным плагинам:

· Файлсистемные плагины: обзор возможностей

Статьи для создателей плагинов и утилит:

· Lister-плагин на Borland C++ Builder 6 для начинающих
· Lister-плагин на Borland Delphi 7 для начинающих
· К вопросу об анатомии окна Multi-Rename Tool и раздела [rename]
· Находим местоположение WINCMD.INI
· Основы написания WFX-плагина на Borland Delphi
· Пример создания скрипта для PowerPro
· Структура раздела [Searches]
· Структура разделов [lefttabs] и [righttabs]

Статьи, относящиеся к другим вопросам, и косвенно связанные с TC:

· Интервью с Кристианом Гислером (Christian Ghisler, автор Total Commander)
· Мифы о Total Commander
· Персональный Total Commander: за и против
· Почему была переименована программа
· Сравнение файл-менеджеров Total Commander и Frigate


Введение: обзор TC для новичков

Написать обзор, в котором будет упомянуто обо всех возможностях Total Commander, наверное, нереально. И даже если опустить разные мелкие "полезности" и попробовать описать только основные возможности TC - всё равно сложно. Глаза разбегаются, мысли рассредоточиваются, и про что писать сначала - просто не знаешь. За более чем десять лет своего развития, TC оброс очень и очень многими функциями, что, к сожалению, иногда отпугивает новичков - наверное, страшно даже подступиться к такому "монстру" :) Конечно, отыскать и разобраться во всём этом разнообразии трудновато, но, поверьте, - оно того стоит.

Наверное, начать следует с того, что Total Commander, в первую очередь - файловый менеджер.

Файловый менеджер

TC с самого начала был задуман, как классический двухпанельный файловый менеджер, наподобие легендарного файлового менеджера Norton Commander времён DOS. Однако TC не был простым клоном NC - он с самого начала создавался как GUI-приложение для Windows, и, соответственно, мог использовать возможности, предоставляемые графическим интерфейсом. Итак, файловый менеджер Total Commander имеет:
- Две (а, начиная с версии 6.0 - сколько угодно) файловые панели с удобной навигацией. Перемещаться по панелям можно как мышкой, так и с помощью клавиатуры. Панели можно настроить так, чтобы видеть всю необходимую информацию о содержимом дисков - причём ограничений по настройке нет практически никаких. Панели имеют богатые возможности сортировки, каждая панель ведёт историю переходов, имеет возможность быстрого перехода на избранные каталоги и многое, очень многое, другое. Чуть выше сказано, что панелей может быть сколько угодно - но об этом ниже.
- Панель инструментов - место, где вы можете размещать ярлыки к запускаемым программам, кнопки, запускающие инструменты TC, делать там закладки на избранные файлы и каталоги. Подробнее о применении панели инструментов вы можете прочесть здесь. По сути, панель инструментов заменяет меню "Пуск" в Windows и его рабочий стол, а по удобству использования она превосходит и то и другое.
- Меню, которое можно настроить абсолютно как угодно. В него можно вынести любые команды (как внешние программы, так и внутренние инструменты), меню можно реорганизовать так, как вам кажется удобным, и, в конце концов, в меню есть одна очень полезная вещь - "Запуск". Это, практически, аналог "Пуска" Windows, за теми отличиями, что вы настраиваете его самостоятельно и можете назначать клавиатурные сочетания на выполнение тех или иных пунктов.
- Командная строка. Наследие DOS, тем не менее - очень удобное и востребованное средство для выполнения многих повседневных операций. Естественно, хранится история выполненных команд.
- Функциональные кнопки. Стандартная ещё с тех самых нортоновских времён панель с кнопками, нажатие на которые запускает те или иные операции, а, заодно, заставляет быстро заучить самые необходимые клавиатурные сочетания.

TC 6.53 сразу после установки

Как видите - ничего страшного. Сразу после установки вы можете пользоваться TC - и сразу станет заметно, что перемещение по папкам ускорилось, а уж про операции с файлами не говорю. Стрелочками "бегаем" по диску, Enter заходит в папку или запускает файл под курсором, Alt+стрелки - перемещаемся по уже посещённым каталогам взад-вперёд. Вы предпочитаете пользоваться мышкой? Работайте мышкой, те же возможности, никуда они не денутся. Total Commander поддерживает работу с архивами как с папками (количество поддерживаемых типов архивов не поддаётся подсчёту), что очень удобно. Кстати, раз уж речь зашла об архивах, расскажу о возможностях TC, как архиватора.

Поддержка архивов

Лично для меня, в том далёком, уже-не-помню-каком году, тем, ради чего я стал пользоваться TC, была поддержка им неисчислимого количества архивов. Конечно, в большинстве случаев хватает всего двух самых распространённых форматов - zip и rar, однако я также часто сталкивался с arj, cab, tar/targz, lha, и даже ace архивами. И мне очень нравилось, и нравится, что TC может:
- Работать с архивами, как с папками. Это значит, что мы можем, к примеру, зайти в rar-архив абсолютно также, как в обычную папку и (в большинстве случаев) делать с упакованными файлами всё, что угодно. Некое подобие этой возможности появилось в WinXP, однако там поддерживаются только zip-архивы, и функционал работы внутри них сильно уступает имеющимся в TC возможностям.

Архив или папка?

- Упаковывать и распаковывать архивы. Нажатием двух клавиш я вызываю диалог, где могу выбрать любой поддерживаемый формат архивов и упаковать файлы. Архивация может проходить абсолютно незаметно для меня - я продолжу работать с файлами, пока TC архивирует мои данные. С распаковкой ещё проще - вы ещё не забыли, что архивы у нас приравниваются к каталогам? А что может быть проще, чем скопировать файлы из каталога в каталог? Кстати, добавлять файлы в архив так тоже можно - просто копируем в "каталог" архива файл, и он будет в архив добавлен.
Про тестирование архивов я упоминаю постольку поскольку - если потребуется, TC запросто проверит скачанный из интернета архив на целостность.

Упаковка файлов...

...и распаковка.

- Искать в архивах файлы. Скажите, вам приходилось искать в куче архивированных файлов какой-нибудь срочно понадобившийся документ? Хорошо, если вы помните его название, а если вы помните только то, что он был озаглавлен "Письмо к Татьяне"? Если вы пользуетесь обычным explorer'ом, вам придётся открывать каждый архивный документ, чтобы проверить, он это или нет. А TC может вот так запросто прошарить все ваши файлы, невзирая на то, упакованы они или нет, и найти среди них нужный. Гм, вот и повод рассказать о возможностях поиска, которые есть в TC:

Поиск файлов

Инструмент поиска файлов TC.

Посмотрите на скриншот. Скажите, разве тут может быть что-то неясно?
Инструмент поиска TC умеет искать файлы с любыми параметрами, и в то же время - он на порядок удобнее, и быстрее поиска, встроенного в explorer, и на несколько порядков функциональнее. Рассказывать о поиске TC можно очень долго, и, по сути, это требующая отдельного изучения утилита, очень и очень мощная. Сравниться с ней по мощи могут разве что средства поиска, имеющиеся в *nix-системах, а вот по удобству - не сравнится никто.
И всё-таки:
- Поиск может осуществляться в архивах. Об этом я уже сказал чуть выше.
- Можно осуществлять поиск файла с заданным текстом. Об этом вы уже и сами догадались, добавлю только, что текст может быть в любой поддерживаемой кодировке.
- Поддерживаются маски поиска. С их помощью мощно более точно указать где и какие файлы искать.
- Поддерживаются регулярные выражения. Регулярные выражения - это некое сложное условие поиска. Например, такое условие, как "найти все файлы, начинающиеся на doc, а заканчивающиеся на ument или на s или uments, и с расширением doc, rtf или txt" записанное при помощи регулярных выражений будет выглядеть так: doc(s|ument|uments).(doc|rtf|txt)

Ищем с помощью регулярных выражений.

Язык регулярных выражений довольно мощный, но, к сожалению, у неопытного пользователя действительно может вызвать недоумение и кучу вопросов. Могу посоветовать вам только один вариант - потренироваться в подобном поиске, время от времени заглядывая в справочный файл. Если вам это действительно требуется - вы научитесь.
- Можно искать дубликаты файлов. Эта крайне удобная возможность хорошо описана здесь.
- Для поиска могут использоваться плагины. И тут начинается такое раздолье, что представить невозможно. Те возможности поиска, которых не было в самом TC, реализованы с помощью контентных плагинов, которых написано никак не меньше 30 штук - этого хватает на все случаи жизни. На скриншоте видно, как TC нашёл мне все музыкальные файлы с битрейтом 320 kbps:

Поиск с плагинами

Подробнее о контентных плагинах и их применении написано в этой статье.
- Сохранение и загрузка шаблонов поиска. TC позволяет создавать шаблоны поиска, а потом использовать их в последующей работе. Простой пример, зачем это нужно: видеофайлы у меня хранятся в форматах avi, mpg, wmv, mov, а может быть где-нибудь и asf завалялся. Я объединю поиск по этим форматам в один шаблон, назову его "видеофайлы", а дальше мне будет очень просто искать именно среди видеофайлов то, что нужно. Впрочем, одной только такой возможностью использование шаблонов не ограничивается, как их можно использовать ещё - читайте здесь.

Шаблоны поиска: у меня их около сотни :)

- Навигация по найденным файлам. Очень востребованная и часто используемая возможность. Если вам надо найти один файл, чтобы отправить его по почте - это ничего. А если вам надо найти кучу файлов и отправить уже их? Согласитесь, глупо искать их поодиночке, гораздо быстрее найти все сразу, упаковать, если требуется, и отправить.
TC может вынести результаты поиска на панель, в этакую "виртуальную папку", которой на самом деле не существует. Зато вы с ней сможете делать всё, как будто она существует на самом деле - копировать и архивировать из неё файлы, отсылать их по почте, пересылать на FTP-сервер...
Это я к тому, что следующее, о чём я расскажу, будет FTP-клиент Total Commander.

FTP-клиент

Очень удобной возможностью TC является то, что он умеет работать с удалёнными FTP-серверами как с локальными дисками. Настраиваем подключение, соединяемся и работаем.
Конечно, с одной стороны - TC не супернавороченный FTP-клиент, и не умеет кое-что из того, что делают специальные программы, но с другой стороны:
- Имеется менеджер соединений, для каждого из которых можно указать свои настройки.
- Поддерживаются различные типы соединений и прокси-серверов, сжатие данных и прочее..
- Есть менеджер закачек, которого в большинстве случаев хватает непритязательному пользователю, и который умеет скачивать файлы в несколько потоков.
- Поддерживается большое количество различных FTP-серверов. Даже если вы наткнётесь на какой-то "непонятный" сервер, можно попробовать вручную подобрать параметры, при которых TC будет с ним работать.
- Все действия логируются, а логи - сохраняются.
- Можно вводить команды FTP напрямую. Если есть желание - вводим текст команды в командную строку, и она выполняется.
- Поддерживается перекачка с сервера на сервер без скачки на локальный компьютер (если это, конечно, поддерживается самим сервером).
Более подробно о возможностях FTP-клиента TC рассказано в отдельной статье.

Табы

Табы (они же - ушки или закладки) - одна из самых удобных и наглядных вкусностей TC. Часто, при работе не хватает двух панелей файлового менеджера, и табы убивают это неудобство раз и навсегда.

"Ушки", облегчающие работу

Взгляните на скриншот: с каждой стороны открыто по четыре файловые панели. Табы - это их заголовки, щёлкая по которым, можно переключаться с панели на панель. Каждая панель никак не зависит от остальных, то есть при переключении сохраняются установленные режимы сортировки и фильтры, а также (что очень удобно) - выделения файлов. Табы можно заблокировать - и тогда сменить открытый в табе каталог будет невозможно. А можно заблокировать таб так, что каталог можно будет сменить, но при перезапуске TC а нём всегда будет открываться заданный каталог...
У табов много возможностей, узнать о которых можно только их используя... ну или читая статьи о Total Commander.

Lister

Листер TC - это, по возможностям, такая же отдельная утилита, как, например поиск. Кстати, она действительно существует в виде отдельной утилиты, но при использовании в TC возможности и удобство работы с ней возрастают неизмеримо.
Листер - это "просмотрщик", вызываемый по нажатию клавиши F3. Вот и всё, вопрос только в том, что он умеет "смотреть"...
Нет, проще, наверное, вспомнить, чего он "смотреть" не умеет.

Lister TC.

Итак, попробуем перечислить основные возможности листера:
- Просмотр файлов в виде текста, двоичных данных, шестнадцатеричных кодов, rtf или html. Режимы быстро переключаются по мере надобности.
- Поддержка ANSI, ASCI, Unicode, UTF-8 и KOI-8. А с помощью дополнительных средств, о которых будет рассказано чуть ниже, можно читать самые редкие кодировки.
- Широкие возможности поиска по тексту. Регэкспы рулят, да и без них возможностей хватает.
- Возможность быстрого просмотра в файловой панели TC. Что это такое, лучше всего видно на скриншоте:

Быстрый просмотр (Quick view)

В таком режиме вы сможете перемещаться по диску, одновременно просматривая содержимое файлов на нём.
- Встроенный простой мультимедиа-проигрыватель. Он действительно очень простой, но чтобы быстро послушать какой-нибудь mp3-файл, большего и не требуется.
- Интеграция с XnView&IrfanView. Имеется возможность подключить любой из этих вьюверов для того, чтобы листер "научился" показывать поддерживаемые ими форматы.
- И, наконец, поддержка огромного числа различных форматов файлов. Опять плагины, и опять - такое разнообразие, что разбегаются глаза... Плагины для просмотра графики и видео, прослушивания музыки, редактирования текста и mp3-тегов. Плагины, которые показывают html и flash, читают документы самых различных форматов, сообщают информацию о содержимом архивов, и определяют, каким компилятором был создан бинарный файл... Возможности тут, воистину, безграничны, и это материал для отдельной статьи.

Групповое переименование

Групповое переименование (multirename tool) - очень полезный инструмент, который, как понятно из названия, предназначен для переименования файлов. Переименование может осуществляться по маске, с использованием регулярных выражений и плагинов... И при всём при этом - осваивается инструмент за несколько минут. Я советую вам побаловаться с ним интереса ради - в любом случае, даже если вы по неосторожности переименуете какой-нибудь файл так, что на него страшно будет смотреть :), то всегда имеется возможность откатить переименование назад.
Как всегда - плагины дают этому инструменту безграничные возможности, которые более подробно описаны в этой статье.

Инструмент мультипереименования TC.

Системные плагины

Системные (файлсистемные) плагины - расширения TC, превращающие его из файл-менеджера во что угодно. Я попросту не смогу перечислить все те функции, которые добавляются в TC этими плагинами... Авторы плагинов обладают такой бурной фантазией, что сумели приспособить TC для вещей, для которых, казалось бы, он ну никак приспособлен быть не может. Работать с файловыми системами мобильных телефонов, писать компакт-диски, управлять правами пользователей... Подробнее о системных плагинах можно прочитать в соответствующем разделе.

Системные плагины TC.

Другие возможности

Другие возможности - это те, о которых стоит упомянуть, но расписывать их подробно смысла нет.

Инструмент сравнения файлов по содержимому - находит различия в двух заданных файлах и наглядно их показывает.

Сравнение каталогов - команда, позволяющая находить различия в структуре двух выбранных каталогов и наглядно их отображать. Может применяться, скажем, для синхронизации двух каталогов.

Печать списка файлов - инструмент, позволяющий вывести на бумагу структуру ваших каталогов.

Соединение с другим компьютером через LPT-порт. Можно соединиться с другим компьютером, на котором установлен TC через простой LPT-кабель. Конечно, скорость работы через LPT-соединение очень мала, к тому же - передача файлов односторонняя, но помнится, году этак в 98 этой возможностью я ещё пользовался.

Изменение прав доступа файлов и аудит. Инструмент, по-моему, даже более удобный, чем имеющийся в Windows Explorer, а возможности у него те же.

Изменение атрибутов файлов. Позволяет быстро изменить атрибуты одного или нескольких файлов/папок, причём сделано это удобнее и функциональнее, чем в Explorer.

Работа с сетевыми ресурсами как с локальными. Собственно, тут тоже всё прозрачно - можно бродить по сети и работать с удалёнными ресурсами также, как будто это локальные файлы и папки.

Я прошёлся по функционалу Total Commander, как мне кажется, весьма поверхностно. Уже после завершения этой статьи я буду думать "ох, а я ведь про эту фичу забыл написать!" и"блин, ведь Тотал ещё и так умеет, а я не написал...".
Но, впрочем, я дал достаточно сведений, чтобы вам захотелось попробовать поработать с TC. А дальше вы будете сами открывать всё новые и новые его возможности и через какое-то время уже не сможете представить нормальную работу за компьютером без этой чудесной программы.

Павел Дубровский
03.02.06


О новых версиях TC

Статьи, посвящённые новым версиям Total Commander:

· Total Commander 5.5. Что нового?
· Total Commander 6.0: Что нового?
· Total Commander 6.0: Ушки, регэкспы, юникод и не только
· Total Commander 6.02: Что нового?
· Total Commander 6.5. Что нового?
· Total Commander 7.0. Что нового?


Total Commander 5.5. Что нового?

Предыдущая версия файлового менеджера Total Commander была последней версией под маркой Windows Commander. Красивое это название или нет, привыкли мы к нему или нет - неважно. Главное, что по сути своей Total Commander остался всеми нами любимым Windows Commander. О том, почему же было изменено название программы, вы можете прочитать здесь.
Лучше рассмотрим, что же подарил нам автор программы в новой версии, кроме нового имени. И сразу скажу, что очень много интересных и полезных новшеств будут найдены многими пользователями Total Commander. Но по порядку.
Как всегда, список всех изменений вы можете найти в файле History.txt, который находится в каталоге, куда вы установили Total Commander. Я же начну с самых значимых, на мой взгляд, изменений, постепенно переходя к менее значимым.

Поддержка комментариев в Total Commander

Это новшество я, пожалуй, поставлю на первое место, поскольку поддержку комментариев в Windows Commander просило очень много пользователей и уже очень давно. И вот, по-видимому, автор программы все же понял, что это действительно удобно. Кроме всего прочего, реализация поддержки комментариев оказалась на самом высшем уровне. На мой взгляд.

Чтобы вызвать вид окна с комментариями по умолчанию используется Ctrl+Shift+F2. Для возврата в предыдущий режим необходимо повторить это сочетание клавиш. Для редактирования комментариев используется сочетание Ctrl+Z, для сохранения комментария - F2. Все! Теперь вы можете описывать ваши файлы как хотите, а любой работающий с этими файлами за вашим компьютером или в сети сможет прочитать тот комментарий, что вы написали. Ну и, впрочем, и вы теперь не забудете, что это за документ у вас хранится под именем soprmat_dipl.rar, если предварительно вы его снабдили исчерпывающим комментарием. Далее, при копировании, перемещении, переименовании файлов комментарии будут сохраняться. А при удалении файла будет удаляться и комментарий.

Для хранения комментариев используются файлы descript.ion или files.bbs. Можно выбрать, в какой кодировке будут храниться комментарии - DOS или Windows. Файлы descript.ion создаются по умолчанию скрытыми, что очень удобно. Впрочем - это вы, кто заказывает музыку

Еще одно преимущество по сравнению с другими файловыми менеджерами в отношении работы с комментариями - это подсказки с комментариями над именами файлов в стиле Win32. Это очень удобно. Нет необходимости переключаться в режим отображения комментариев, для прочтения описания файла. Достаточно только подвести к нему курсор. Не забудьте только, что прежде вам необходимо зайти в Конфигурация - Настройка - Экран - Всплывающие подсказки (Configuration - Options - Display - Help Texts) и убедиться, что стоит галочка возле Подсказки/примечания в стиле Win32 (самая нижняя галочка).

По умолчанию в Win32 подсказке подгружаются также и OLE-комментарии, как в проводнике Windows XP. Что очень удобно - нет необходимости входить в свойства файла, чтобы посмотреть его "официальное" описание. Однако при наведении курсора на большие файлы компьютер будет слегка притормаживать. Поэтому в качестве компромисса, добавив в wincmd.ini параметр olecomments=0 в разделе [Configuration], мы заставим Total Commander показывать только те комментарии, которые мы сами создали, что совершенно не будет сказываться на скорости работы

Новый интерфейс для работы с плагинами файловых систем

Здесь слишком подробно останавливаться не буду, поскольку данное новшество еще мной не изучено хорошо, а главное - не протестировано (более поздние впечатления об файловых плагинах можно найти в этой статье). Если коротко, то теперь в Total Commander можно использовать плагины для работы с файловыми системами. Что это такое? Сейчас объясню на примерах, и вы убедитесь в их потенциальной пользе. Ну, например, теперь можно воспользоваться такими плагинами для Total Commander, как Linux ext2 partition plugin, который позволяет доступ к Linux Ext2-разделам, если они присутствуют на данном компьютере; или Windows CE/PocketPC plugin, который открывает доступ к PocketPC или другому Windows CE-устройству, соединенному с компьютером через ActiveSync; или Secure FTP (SFTP) plugin, который позволяет SFTP-соединения через SSH2. Подробнее о File System-плагинах вы можете узнать здесь, а описание интерфейса File System-плагинов для тех, кто хотел бы сам писать плагины, вы можете скачать здесь.
Говоря о новых плагинах, сразу же замечу, что, как и в случае с архиваторными плагинами, к FS-плагинам возможен нестандартный подход. И вот первый из них. Плагин - Procfs TaskManager. Подробнее о нем читайте здесь.

RTF-просмотрщик

Вот теперь, пожалуй, просмотрщик, встроенный в Total Commander, можно считать применимым практически ко всем случаям жизни. Ведь теперь, кроме просмотра текстовых файлов, большого количества графических и мультимедийных форматов (через IrfanView или XnView), просмотра html-файлов с возможностью перехода по гиперссылкам, просмотра текстовой части MS Word и MS Excel файлов и так далее (не буду здесь останавливаться) появилась возможность нормально просматривать документы в формате RTF!

Улучшенная работа с часто используемыми каталогами

Теперь при занесении каталога в список часто используемых через Ctrl+D можно сразу же назначить целевой каталог (который откроется на другой панели, если вы откроете основной каталог через меню часто используемых каталогов), что более удобно, чем делать это из окна редактирования часто используемых каталогов.

Исправлена ошибка открытия окна выбора программы для запуска по умолчанию под Windows XP

Раньше, если вы переназначили через Windows Commander программу для запуска определенных типов файлов по умолчанию, то вас в будущем будет раздражать постоянно открывающееся окошко для выбора программы для запуска файлов этого типа. В версии 5.11 был исправлен этот баг в системах на Windows ME, а теперь это исправлено и для Windows XP.

Расширенная поддержка драг-н-дропа адресов интернет в Total Commander

Теперь, если перетащить ссылку (из браузера, например) в окно Total Commander, то в открытом каталоге будет создан ярлык. А если это же процедуру сделать с нажатой клавишей Shift, то вам будет предложено закачать файл через FTP в Total Commander.

Возможность использования пробелов в названии архива при создании архивов RAR32 и ACE32

Если раньше вы через Windows Commander пробовали заархивировать файл, который называется Very Long file name.doc, то архив сохранялся под именем VeryLongfilename.rar, то есть без пробелов. Теперь это исправлено.

Новый пункт меню - "Изменить установочные файлы"

При активации запускается два блокнота. Один с файлом Wincmd.ini, второй - с файлом wcx_ftp.ini для прямого редактирования параметров Total Commander.
Кроме этого, можно еще долго перечислять, что добавлено и исправлено и в lister-e и в инструменте группового переименования и в синхронизации файлов и в сравнении файлов, однако, как мне кажется, основное я перечислил. Кто хочет узнать больше - читайте history.txt

Андрей Пясецкий


Total Commander 6.0: Ушки, регэкспы, юникод и не только

Более полугода ждали фаны появления новой версии Total Commander. Все надеялись, что этот классический двухпанельный менеджер файлов порадует своих пользователей чем-то необычным и революционным. Самое забавное, что членораздельно объяснить, в чем же это "необычное и революционное" могло бы заключаться, никто не мог, поскольку большинство юзеров и "старый" Total полностью устраивал. Однако вот она - новая версия. И не какая-нибудь 5.52, а сразу - 6.0! С замиранием сердца устанавливаешь, запускаешь и.. Тут же вздыхаешь с облегчением. Надо же, не обманули! Одного взгляда на экран достаточно, чтобы понять, что одними косметическими изменениями тут дело явно не обошлось.

А это чьи такие уши?

Первое, что бросается в глаза, - появление "ушек" у файловых панелей. Тебе это ничего не напоминает? Правильно, очень смахивает на Page Bar самого быстрого в мире браузера. И не только смахивает - работает также! Правда, если в Опере ты переключался между веб-страницами, то в новом Total Commander будешь переключаться между каталогами. Другими словами, программа обзавелась полноценным многооконным (MDI) интерфейсом, поработав с которым, ни на что другое смотреть уже не можешь.

Впрочем, "ушки" это не закладки на каталоги, а, скорее, закладки на другие файловые панели, в которых эти каталоги открыты. Почему я так говорю? Потому что при переключении между каталогами щелканьем мышкой "по ушам" (или по Ctrl+Tab) нетрудно заметить, что в каждом из них всегда сохраняется текущее выделение файлов и положение курсора.
Короче говоря, "ушки" - это сила! Они не только позволяют держать нужный каталог на расстоянии одного клика, но и поддерживают драг-анд-дроп! Фантастика! Если раньше нужно было копировать файлы из одной панели в другую, то теперь можно перетаскивать их из обеих панелей в требуемое "ушко" - все скопируется в лучшем виде!
Избранные "ушки"- закладки можно заблокировать от случайного закрытия и они будут каждый раз при загрузке радовать твой взгляд - между сессиями Total Commander запоминает открытые закладки и восстанавливает их. Кроме этого, имеется возможность сохранять наборы закладок в файл и, соответственно, загружать их при необходимости. Эх, да что там говорить! Даже результаты поиска после отправки на панель ("Feed to Listbox", "Файлы на панель") открываются на отдельной закладке и не будут потеряны вплоть до выхода из Total Commander.

Выражайтесь яснее

Уже не одно поколение пользователей Total Commander требовало реализовать поддержку регулярных выражений в поисковых запросах. И вот, дождались! Нажимаем Alt+F7, отмечаем опцию "Find text", вписываем простейший регэксп (Петя|Костя|Вася), ставим галочку напротив RegEx, кликаем по "Start Search" и... Вот мы уже нашли все текстовые файлы, в которых встречается хотя бы одно из трех имен.

Просек фишку? Надобность в специализированном поисковом инструменте отпадает, в Total'е он уже есть! Нужно лишь залезть разок в файл справки и разучить правила составления регулярных выражений. После этого можешь использовать регэкспы где угодно - во встроенном просмотрщике Листере, в инструментах для поиска или переименовании файлов.

Налаживаем теневой файлооборот

Но вот что действительно сделало меня счастливым, так это улучшенный менеджер фоновых операций (Background Transfer Manager - BTM). Суть BTM проста. Ты нажимаешь "копировать" или "переместить", но файловая операция не стартует, а становится в очередь и ждет окончания предыдущей. В чем же здесь кайф? А в том, что таким образом оптимизируется работа с винчестером, уменьшается фрагментация копируемых и перемещаемых файлов, ну и, чисто теоретически, растет общая скорость выполнения данных операций. Кстати, о скорости копирования. Посмотри на скриншот. Объяснять ничего не буду, знающие люди и так все поймут.

Но вернемся к нашему BTM'у. Хотел еще добавить, что отныне можно ограничивать скорость копирования-перемещения. На самом деле, менеджер фоновых операций появился еще в "пятерке", вот только пользоваться им было, мягко говоря, неудобно. А сейчас это просто праздник какой-то! Нажимай F5 или F6 и тебе будет предложено либо запустить операцию отдельным потоком, нажав по старинке ОК/Enter, либо отправить в BTM, нажав F2.
А еще по многочисленным просьбам юзеров "шестерка" обзавелась-таки "спидометром" в прогрессбаре. Отныне не надо гадать, сколько времени займет копирование и с какой скоростью идет передача данных.

Мая твоя отлично панимай

Так, с новшествами, которые сразу бросаются в глаза, разобрались. Осталось перечислить другие, не менее интересные фишечки. Начнем, пожалуй, с появившейся в шестой версии Total Commander полной поддержки юникода. Теперь ты сможешь со спокойной душой файлменеджерить файлы и каталоги полученные от твоих китайских, немецких и прочих не русско-английских товарищей. Кое-какие изменения претерпел и встроенный просмотрщик. Их оказалось не так много, ведь главную функциональную нагрузку в настоящее время несут плагины. Но порадоваться можно и тут - наконец-то в Листере появилась настройка цвета фона и шрифта.
Напоследок советую приглядеться к заголовкам файловых панелей. Видишь, в каждом из них появилось по две совершенно новых кнопочки. Одна из них вызывает список недавно посещенных директорий, вторая - часто используемых каталогов. Это было сделано специально для тех, кто горячие клавиши не хочет учить из принципа.

Уф, а ведь мой краткий обзор "What's new in this version?" подошел к концу. Осталось лишь упомянуть о том, что автор Total Commander-a, как один из самых консервативных разработчиков, всегда заботится о пользователях со стажем. Поэтому программа позволяет отключить большинство из описанных улучшений раз и навсегда. Хотя лично у меня на это просто рука не поднимется - ведь после того, как я впервые поюзал "шестерку", мне хотелось лишь улыбнуться и повторить вслед за героем известного рекламного ролика: "А все-таки не зря мы ждали, мужики!".

Новости плагиностроения

С момента появления плагинового API для Total Commander было разработано множество самых разнообразных дополнительных модулей. Сейчас уже никого не удивишь тем, что в Total Commander ты можешь войти в архив 7Zip (multiarc), затем в инсталляционный файл MSI (MSI plus), расположенный в нем, после чего, выбрав нужный cab-файл (multiarc) и найдя в нем необходимую динамическую библиотеку, просмотреть ее ресурсы (Wcres) прямо в Листере (Imagine). Последние полгода индустрия плагиностроения тоже не стояла на месте. На свет появился целый ряд интересных новинок. О некоторых из них хотелось бы рассказать подробнее.

Imagine 0.6.0.0
http://wincmd.ru/plugring/imagine.html

Рискует стать самым рульным плагином для Total Commander. Он предназначен для просмотра графики. Преимуществ перед IrfanView множество, и последний можно забыть, как пройденный этап. Во-первых, Imagine работает быстрее. Во-вторых, отличается повышенной функциональностью. Он позволяет отображать на экране достаточно информативную строку состояния. Из контекстного меню можно добраться до нескольких полезных и нехитрых операций над просматриваемым изображением: повороты, отображения, изменения цветовой гаммы. Результаты можно тут же сохранить. На все имеются горячие клавиши. Чего только стоит осуществление мечты многих пользователей - отображение анимированных гифов. И наконец-то можно установить режим Fit to window только для больших изображений.

hpg_ed 0.5.13

http://wincmd.ru/plugring/hpg_ed.html

Тенденция в плагинописании под Total Commander очевидна - народ хочет сделать так, чтобы их любимый файл-менеджер ничем не уступал своему главному конкуренту - FAR'у. На этот раз под угрозой оказалась святая святых "фаровцев" - текстовый редактор. С большим уважением относясь к встроенному в FAR текстовому редактору, я, например, не вижу ни грамма препятствий тому, чтобы использовать любой понравившийся внешний, и отдал свое предпочтение EditPlus. Но факт есть фактом - у Total Commander нет собственного текстового редактора. И если тебе кажется, что данный инструмент в Total Commander все-таки следует встроить, то обрати внимание на hpg_ed. Само собой, до полноценных текстовых редакторов ему еще далеко, но вот стандартный виндозный Блокнот он делает запросто, ведь в нем реализована и настраиваемая подсветка синтаксиса, и закладки, и поддержка файлов больших размеров и много еще чего.
Примечание: проект hpg_ed почил в бозе, однако имеется куда более продвинутый плагин-редактор synplus.

font.wlx 0.08
http://wincmd.ru/plugring/font.html

Особый плагин для просмотра шрифтов. Его возможности таковы, что в большинстве случаев можно со спокойной душой выкинуть остальной специализированный для этой цели софт. Font.wlx просматривает следующие типы шрифтов: Raster, Vector, TrueType, TrueType Collections, OpenType, PostScript Type 1. В первой закладке он отображает первые 256 символов просматриваемого шрифта, причем можно отображать или все символы, или только кириллические, или только специальные символы, и т.д. Вторая закладка представляет собой уже пример текста, отображенного этим шрифтом, а третья закладка - информационная - покажет самую разнообразную информацию о просматриваемом шрифте. Очень удобно реализовано изменение размера шрифтов - оно осуществляется с помощью специального ползунка.

Кстати: если в wincmd.ini в разделе [Configuration] добавить параметр SortUpper=2, то файлы с цифровым счетчиком будут сортироваться не по алфавиту, а логически. То есть, файл file10.txt будет идти после file1.txt.

Андрей Пясецкий


Total Commander 6.0: Что нового?

Сегодня официально вышла шестая версия Total Commander. Наверное, эта версия заключает в себе наибольшее количество нововведений за всю историю этого файлового менеджера. Постараюсь тезисно рассказать о самых заметных нововведениях в Total Commander 6.0.
1. Мультитабовость. О ней говорилось очень много. Теперь в рамках одной панели Total Commander можно открыть несколько директорий. Каждая из директорий будет представлена отдельной закладкой. При переходе между закладками сохраняется состояние директории: позиция курсора, выделенные файлы. Открытые закладки сохраняются после закрытия Total Commander-а, и при следующем запуске восстанавливаются. Избранные закладки можно заблокировать, так, чтобы их нельзя было случайно закрыть. С закладками можно работать как всегда: или с помощью горячих клавиш, или с помощью мышки, включая полный драг-н-дроп. Наборы закладок даже можно сохранять в файл и соответственно загружать из файлов. Здесь, конечно же, можно было бы остановиться подробнее, но некоторые вещи лучше один раз увидеть, чем сто раз прочитать. Подробнее читайте Help :)

2. Результаты поиска, отправленные на панель (Feed to listbox), открываются в отдельной закладке и сохраняются до тех пор, пока или не будут закрыты пользователем (а благодаря мультитабовости можно их не закрывать, а просто перейти к другой закладке), или пока не будет закрыт Total Commander.

3. Поддержка юникода. Теперь можно спокойно работать с файлами и папками, содержащими символы из немецкого или, скажем, китайского алфавита. Единственными ограничениями поддержки юникода являются невозможность паковать в ZIP (ограниченность самого ZIP-а собственно), и делать аплоад файлов содержащих юникодовые символы на FTP.
4. Регулярные выражения. Теперь можно использовать поиск с регулярными выражениями из инструмента поиска (Alt+F7) и просмотрщика Total Commander. Также регулярные выражения можно использовать в инструменте группового переименования файлов (Ctrl+M), быстром поиске и даже в фильтрах!

5. Улучшенный менеджер фоновых операций (BTM). Если раньше по F5 (копировать) и F6 (переместить) создавался отдельный поток копирования/перемещения (т.е. несколько процессов выполнялись параллельно), то теперь, нажав F2, вслед за F5 или F6, можно отправить копирование или перемещение в очередь в менеджер фоновых операций. Процессам, находящимся в менеджере фоновых операций (BTM), можно поставить ограничение по скорости.

6. Настройка цвета фона и цвета шрифта встроенного просмотрщика. Маленькое, но приятное и давно желанное многими пользователями Total Commander-а новшество.

7. Отображение скорости копирования (перемещения) и ориентировочное время до конца операции во время копирования (перемещения). По количеству запросов это пожелание в улучшении "командира" было одно из первых.
8. Кнопки истории и избранного над каждой из файловых панелей. Если раньше историю и избранные каталоги можно было вызвать с помощью затяжного левого клика мышки и с помощью двойного клика по заголовку панели соответственно, то теперь на помощь любителям работать с мышкой придут две небольшие кнопочки. Тех же, кого они не устраивают, могут спокойно их отключить.
9. Возможность перехода в "Мой компьютер" из корневой директории диска при нажатии на [..]. Это также отключаемое расширение функциональности. За включение этой опции отвечает галочка в настройках: Display - Show parent dir also in root of drive. Ну и не лишним будет добавить, что теперь из "My computer" можно увидеть свободное и занятое место на всех локальных дисках.

10. Множество новых внутренних команд. Конечно же, большинство внутренних команд относятся к введению мультитабовости, но среди новых команд можно найти и довольно полезные. Подробнее смотрите файл totalcmd.inc.
11. Изменено окно настроек Total Commander. Некоторые настройки, ранее доступные только через редактирование wincmd.ini, теперь перекочевали в интерфейс настроек.
12. Архивирование в фоне для внешних архиваторов. Если раньше только архивирование с помощью встроенного ZIP-архиватора можно было отправить в фон и продолжать заниматься файл-менеджментом (с) Я :), то теперь эта возможность присутствует и при архивировании внешними архиваторами. Стоит заметить, что архивирование через архиваторные плагины работу в фоне пока, к сожалению, не поддерживает.

13. Улучшена работа с архивами RAR. Теперь, например, можно добавлять файлы в директории внутри архивов, а также пользоваться синхронизацией.
14. Total Commander теперь поддерживает переменную окружения %COMMANDER_PATH%.
15. Теперь несколько запущенных копий Total Commander будут нумероваться. Впрочем, тоже отключаемо, правда уже из wincmd.ini

16. Если раньше в Total Commander можно было менять иконки папок, файлов, отображаемых на файловой панели, то теперь появилась поддержка еще одной библиотеки иконок - drivebmp.dll, которая будет отвечать за то, как будут выглядеть кнопки дисков на панели дисков. Скачать пример такой библиотеки с дефолтными изображениями можно здесь, а подключается такая библиотечка через параметр [Configuration] drivelib=C:\Totalcmd\drivebmp.dll.
Кроме этого, конечно же, множество незначительных изменений и исправлений, затронувших почти все компоненты Total Commander. Более подробный их список, как всегда можно найти в файле history.txt.

P.S. Благодарю давнего соратника BlackDog за внесение ценных замечаний при написании данной статьи :)

Андрей Пясецкий


Total Commander 6.02: Что нового?

Новая версия Total Commander 6.02, как нетрудно догадаться по номеру версии, не содержит существенных изменений, а призвана исправить те ошибки и недочеты Total Commander 6.0, которые не были исправлены в версии 6.01. Думаю что вполне вероятно появление и версий 6.03 и 6.04, поскольку слишком много новшеств было сделано в "шестерке", в которой можно найти эти самые ошибки и недочеты. Количество же исправленных ошибок и мелких изменений с момента выхода версии 6.01 впечатляет.
Впрочем, кое-что вкусное есть. Попробую рассказать о том, что мне показалось более-менее заслуживающим внимания.
Во-первых, появилось несколько новых возможных параметров в wincmd.ini.
AccessTime=1 - указав этот параметр в секции [Configuration], можно работать в Total Commander не со временем последнего изменения файла, а со временем последнего доступа к файлу. По всей видимости, это можно применять в довольно ограниченных операциях и, честно говоря, я пока не нашел этому подтверждения. Хотя, покопавшись в памяти, вспомнил, что отключил слежение за датой последнего доступа к файлам и папкам. Так что будьте уверены, что у вас не отключена эта функция каким-нибудь твикером Windows. Ну и, пожалуй, стоит напомнить, что это касается только NTFS разделов.
Дополнение от Константина Власова: Отключение времени доступа на NTFS не имеет ни малейшего отношения к этому ключу. Время последнего доступа обновляется всегда, и в реестре отключается только обновление времени доступа всех файлов каталога при заходе в этот каталог. При обращении непосредственно к файлу его время доступа обновляется, причём как на FAT, так и на NTFS.
ReverseHistory=1 - интересный параметр. Последние посещённые директории будут показываться первыми. Все особенности, упомянутые для предыдущего параметра, соответственно справедливы и здесь. Возможно, даже включу слежение времени последнего доступа ради этой интересной функции.
Дополнение от Павла Дубровского: Ergo снова ошибся. Этот параметр отвечает за отображение истории посещённых каталогов в прямом или обратном порядке.
RenameSelOnlyName=1 - еще один параметр, который понравится многим. Добавьте его в wincmd.ini и при переименовании файлов (inplace rename) теперь будет выделяться не все имя файла, а только та часть, которая идет до расширения. Я, например, такой способ нахожу более логичным и удобным.
Наконец-то стало возможным немного упорядочить работу со вкладками на панелях Total Commander. Теперь можно сделать так, чтобы они не размножались без причины. Для этого были введены два новых параметра: LockedTabChange и TabEnterDirChange, которые определяют поведение Total Commander при изменении директории на залоченной вкладке.
LockedTabChange может принимать следующие значения: 0 - открыть в новой вкладке, 1 - перейти в уже открытую вкладку с этой же директорией, 2 - открыть эту директорию в первой незалоченной открытой вкладке, 3 - открыть эту директорию в последней незалоченной открытой вкладке. Проверено. Действительно значительно усмиряет размножение вкладок. Я установил это параметр равный 1, что, на мой взгляд, наиболее логично.
TabEnterDirChange может принимать следующие значения на событие (если пользователь открывает новую директорию в залоченной вкладке): 0 - ничего не делать, 1 - открыть новую вкладку, 2 - спросить пользователя.
К сожалению, нужно отметить, что размножение вкладок еще не остановлено до конца. Так, если у вас есть залоченная вкладка Docs, то если из другой незалоченной вкладки вы откроете еще раз папку Docs, то будет открыто две вкладки Docs.
Во-вторых, файл totalcmd.inc содержащий список внутренних команд Total Commander теперь сортируется по назначению команд, что также можно поставить в плюс.
В-третьих, версия 6.02 содержит новую версию unrar.dll, с исправленными ошибками.
Вот список всех исправлений и добавлений:

24.02.04 Release Total Commander 6.02 RC 1
24.02.04   Added: Specially sorted totalcmd.inc for internal commands
as proposed in the Total Commander forum
24.02.04   Fixed: Regular expressions: catch crash in regex library
caused by string ^??
24.02.04   Fixed: Enter on LNK files to files not working with
TabEnterDirChange>0
24.02.04   Fixed: Sync tool: No delete before copy for files on file
system plugins or ftp
24.02.04   Fixed: Increased limit of commands in totalcmd.inc from 250
to 350
24.02.04   Added: Cursor right in inplace rename will put cursor
directly after selection
24.02.04   Fixed: Inplace rename (Shift+F6) will now always select the
entire directory name regardless of the RenameSelOnlyName option
18.02.04 Release Total Commander 6.02 Beta 2
18.02.04   Fixed: Sync dirs, asymmetric mode: Nothing happended when
files only needed to be deleted
18.02.04   Fixed: Prevent user from closing lister with ESC while a
lister plugin is loading (can cause a crash)
18.02.04   Fixed: Appendtabs when tab header was hidden inserted first
tab before current dir
18.02.04   Fixed: Files - Associate: TC was writing wrong association
strings to win.ini for 32-bit apps (Win9x only)
18.02.04   Added: Included new unrar dll which fixes some crashes with
invalid RAR files
18.02.04   Fixed: wrong total size shown in footer after right click
18.02.04   Added: Search: right click on result list item selects it
and then shows its context menu
18.02.04   Added: wincmd.ini [configuration] RenameSelOnlyName=1
selects only name (not ext) on inplace rename
15.02.04   Fixed: Convert Tab header names to lowercase if this option
is set for DOS 8.3 names (requires restart)
15.02.04   Fixed: names truncated in Feed to listbox after Search
13.02.04   Fixed: When clicking on a tab with an ftp connection which
had timed out, TC asked to reconnect. If user clicked no, a new
connection was created instead of switching to a local drive.
13.02.04   Fixed: More checkmark problems with menu bar with
"Left"+"Right" menus instead of "Show" menu
13.02.04   Fixed: Multi-rename tool: RegEx not saved, neither between
sessions nor using the F2 function
13.02.04   Fixed: Bad position of right click menu in search window
13.02.04   Fixed: Right click on current dir or empty space in list no
longer included the "New" submenu
13.02.04   Fixed: Right click on F8 button caused an access violation
error
12.02.04   Fixed: Access violation on startup with option "Show tab
header also when there is only one tab"

11.02.04 Release Total Commander 6.02 Beta 1
11.02.04   Fixed: Access violation when calling "Compare by content"
and ESC is pressed while the window is still building up
11.02.04   Fixed: In tree view, the free disk space wasn't always
updated on both panels
11.02.04   Fixed: When calculating the copy speed, don't take skipped
files into account
10.02.04   Fixed: Problems with tabs to FTP server if user name
contains an '@' sign
11.02.04   Fixed: 16-bit: could no longer type a dot in quick search
10.02.04   Added: Synchronize dirs: Delete BEFORE copying in asymmetric
mode, to make space for newly copied files
10.02.04   Fixed: Show tip window in search result - feed to listbox if
name too long
10.02.04   Fixed: Limit length of string in brief view to panel width,
show tip window if longer
10.02.04   Added: Made list in associate dialog a bit higher (user
request)
10.02.04   Added: Right click context menu in search window
10.02.04   Added: wincmd.ini [configuration] TabEnterDirChange= when
user tries to change dir on locked tab with ENTER or Double Click, then
0: do nothing, 1=open new tab, 2=ask
06.02.04   Added: wincmd.ini [configuration] LockedTabChange= what to
do when changing dir on locked tab: 0: new tab, 1: re-use tab with same
dir, 2= re-use first unlocked tab, 3=re-use last unlocked tab
06.02.04   Added: wincmd.ini [configuration] ReverseHistory=1 shows
last visited dir first
06.02.04   Fixed: Unzip access violation caused by damaged zip file

06.02.04   Fixed: Lister plugins: Detect string was limited to 259
characters due to a saving error.
06.02.04   Fixed: Lister plugins: ListNotificationReceived will now
also be sent when WM_MeasureItem is received during plugin creation.
The value of the first parameter will then be =0. It is not sent for
WM_DrawItem or WM_Notify during creation!
06.02.04   Fixed: When tab title length is limited to xy chars, a title
of exactly xy chars was still getting .. appended
28.01.04   Added: When changing dir on a locked tab and the new
directory already exists as a tab, switch to that tab instead of
opening a new tab
28.01.04   Fixed: Access violation in Ctrl+Q when trying to view file
name longer than the allowed 259 characters
28.01.04   Fixed: SFV check: Hourglass cursor may be shown after
aborting check
28.01.04   Fixed: When a firewall was deleted in the middle of the
list, all others were no longer accessible. Solution: Show
instead. Don't change numbers, they are stored in connections!
28.01.04   Fixed: Total Commander now uses the long name when starting
a program from inside an archive
28.01.04   Fixed: 16-bit: Inplace rename caused access violation if a
file with the same name already existed
28.01.04   Fixed: Shift+Click wasn't always selecting files from the
currently active file to the clicked file
28.01.04   Fixed: XP bug: ShellExecute can cause exception with invalid
association in registry
28.01.04   Fixed: XP bug: double clicking on empty space below file
list opened file under cursor (Reason: lb_getcaretindex doesnt return
error in this case as on other Windows versions)
27.01.04   Fixed: When using a menu with separate Left/Right menu, the
checkmarks for comments view weren't always correct
27.01.04   Added: opentabs and appendtabs now also work with the tab
name in the parameters field, and support placeholders like %P%N
23.01.04   Fixed: Punycode (accents in domain names) wasn't working
correctly
23.01.04   Fixed: Russian names created with Russian locale settings on
FAT file system could not be copied with English locale. Now
copy/move/rename/open is supported. These files can still not be
viewed/edited due to a Windows bug.
23.01.04   Added: Multi-rename tool: First letter per word uppercase:
Don't do this in the file extension
23.01.04   Fixed: Some Unix FTP servers rename files without checking
whether the target name is already in use -> problems with multi-rename
tool
23.01.04   Added: Synchronize dirs: Show total bytes to be compared in
footer
23.01.04   Fixed: WM_DRAWITEM was only sent to lister plugins when the
window item id was set to the window handle. This is still true for
WM_MEASUREITEM, which doesn't send the window handle.
21.01.04   Fixed: Background transfer manager aborting when switching
to a different desktop with multiple desktop software
20.01.04   Added: Allways open background transfer manager window in
upper left corner if no other transfer manager open
20.01.04   Added: Made background transfer manager window resizable
20.01.04   Fixed: "Change Start Menu" - "Add submenu" above entry with
shortcut -> "--" item has shortcut too
20.01.04   Fixed: Win9x: Leaving inplace rename of current path causes
listbox to mishave (no cursor, double click renames)
20.01.04   Fixed: Access violation on Win98 in Ctrl+B if subdir had
exactly a length of 259 characters
20.01.04   Fixed: Ctrl+Q on desktop not working
13.01.04   Fixed: Could not unzip files in zip archives>2GB (but
smaller than 4 GB) when the file starts beyond the 2 GB limit
13.01.04   Fixed: Buttonbar: Don't scale icons if the extracted icon
has the correct size, e.g. 32x32 icon displayed as 32x32
13.01.04   Fixed: cm_SrcQuickview not showing size of dir as Ctrl+Q
does
13.01.04   Fixed: Trying to put testing of archives via external packer
to background caused an access violation
13.01.04   Fixed: "add subbar" not working correctly in dir containing
a dot in the path name
13.01.04   Added: Environment variable support in Mainmenu= and
LanguageINI= lines of wincmd.ini
13.01.04   Fixed: Search for case sensitive OEM (DOS) text not working
in regular expressions
22.12.03   Fixed: Access violation when drag of tab starts just below
the tab
22.12.03   Fixed: Access violation when drag of tab in tabbar is
canceled with ESC
15.12.03   Fixed: Win98 access violation on right button drag of [..]
updir item (only in left button selection mode)
15.12.03   Fixed: Lister plugins without a detect string were not
unloaded with cm_UnloadPlugins
15.12.03   Fixed: Unicode filenames were not sorted by name, but by
their alias name
15.12.03   Fixed: Re-create systray icon if explorer crashed and is
re-loaded by Windows (react to TaskbarCreated message)
15.12.03   Fixed: TC hangs when clicking on "Rename" in overwrite
dialog while copying with background transfer manager - but only on
WinXP
15.12.03   Added: Multi-rename tool: Clicking on [N#-#] when no file
selected offers longest name
15.12.03   Fixed: Inconsistent behaviour of background transfer manager
when clicking on "+" while cursor on [..]
15.12.03   Fixed: Set current dir to Windows dir before loading
Riched20.dll so it isn't loaded from the current dir
15.12.03   Fixed: When deleting a dir containing junctions, the data in
these junctions was also deleted (not when deleting junction directly)
15.12.03   Fixed: Right click on tab, rename/lock, click on lock+press
cancel - the tab was still locked by mistake
15.12.03   Fixed: If .tab file loaded which contains only a single tab
on one side, don't show tab header
15.12.03   Fixed: Don't show Unicode names when long names are disabled
15.12.03   Added: wcx_ftp.ini, [General], TcpKeepAlive=1 turns on TCP
keep alive packages on the FTP control connection, so a router doesn't
drop the connection during a long file transfer.
15.12.03   Added: wincmd.ini, [Configuration], AccessTime=1 lets TC
work with the last access time instead of the last write time, e.g. for
copying files last accessed during the last x days

Андрей Пясецкий


Total Commander 6.5. Что нового?

На мой взгляд 6.03 - 6.5 - не слишком правильное изменение для описываемой версии Total Commander. Можно было со всей смелостью ставить номер версии 7.0 как минимум - и никто бы не возразил. Ritlabs-ы, к примеру, без зазрения совести гордо поставили номер версии 3.0 для нового The Bat! Впрочем, это объяснимо. Зарегистрированные пользователи швейцарского продукта Total Commander имеют пожизненный регистрационный ключ для всех версий Total Commander.
К чему это я. А к тому, что все поклонников файлового менеджера Кристиана Гислера ожидают приятные сюрпризы в виде очень значимых и полезных изменений в Total Commander 6.5.
Пожалуй, есть три самых главных изменения в новой версии. Выделить одну из трех довольно тяжело, но, на мой взгляд, это Thumbnails view (Режим просмотра миниатюрных изображений).

Thumbnails view

Не знаю, насколько смело можно после этого выкидывать ACDSee или его бесплатных собратьев, но для себя я однозначно заметил, что использовать режим миниатюр в Total Commander намного удобнее. Режим миниатюр в Total Commander (Ctrl+Shift+F1) гибко настраивается, работает очень быстро, кэширует миниатюры. Но самое главное - вы получаете все преимущества файлового менеджера в работе с изображениями: синхронизация, сравнение, удобное копирование, перемещение, сортировка и т.д. Мечтали об FTP-клиенте в ACDSee? Хотели полную настраиваемость горячих клавиш? Была необходимость в двух панелях? Все это и намного больше теперь в Total Commander. Достаточно лишь в качестве просмотрщика графических изображений установить один из плагинов (Imagine, SGViewer) или IrfanView на свой вкус.

Внизу миниатюрного изображения можно настроить отображаемую информацию. Например, вместе с миниатюрой вы можете установить отображение размера файла, или комментария к изображению.
Однако режим миниатюр в Total Commander это намного больше, чем просто конкуренция графическим просмотрщикам. Под понятие миниатюра в Total Commander попадает потенциально любой файл. Что-то реализуется встроенными средствами Total Commander (миниатюры текстовых файлов), что-то - уже реализовано или будет реализовано средствами плагинов. Потенциально можно реализовать просмотр миниатюр шрифтов, электронных таблиц, документов.

Custom columns (Настраиваемые колонки)

Хотелось совместить удобство полного вида и вида комментариев? Теперь это возможно. Да еще как! 29 настраиваемых видов. Теперь вы указываете колонки, которыми хотите пользоваться. Можно, например, сделать три колонки с датами: временем создания, последнего изменения и временем последнего доступа. Если, конечно, вы нуждаетесь в этом. А если вам это не нужно, то, вполне возможно, понадобятся другие поля.

Контентные плагины (Content plugins)

Неразрывно с настраиваемыми колонками вводится новая функция создания колонок на основе информации, извлекаемой плагинами нового типа (content plugins, расширение wdx). Это значит, что теперь для аудио-файлов можно отображать колонки, извлекаемые из id-тэгов: артист, композиция, альбом, год, битрейт, продолжительность и т.д. А это значит, что по этим колонкам можно сортировать файлы, выделять, создавать сложные фильтры, устанавливать правила цветовой расцветки (хотели выделить mp3-файлы с разным битрейтом разным цветом?).

На момент написания этой статьи, еще в процессе бета-тестирования Total Commander 6.5, появилось много полезных контентных плагинов. Так теперь стало реальностью установить (далее читай - возможность сортировать, фильтровать и т.д.) колонки с такой информацией как для видео-файлов - тип кодека, видеобитрейт, аудиобитрейт, продолжительность, разрешение фильма, количество аудиопотоков и т.д. Для изображений - глубина цвета, ширина, высота. Для офисных документов - автор, заголовок, комментарии, количество слов, символов и т.д.

В общем, появление контентных плагинов привело к некоторым приятным побочным эффектам. Для простоты восприятия все примеры будем ставить на плагине для извлечения информации из id-тегов аудио-файлов. В инструменте поиска появилась новая закладка - Plugins, в которой в качестве критериев поиска можно использовать информацию, извлекаемую контентными плагинами. То, что возможности поиска в этом случае становятся очень широкими - это понятно. Но часто используемые критерии поиска можно сохранить и использовать в дальнейшем для выбора файлов (+) или для фильтрации (Ctrl+F12). На их основе можно установить подсветку для файлов с разным битрейтом разными цветами.

Также с помощью контентных плагинов можно настроить содержание всплывающей подсказки для каждого типа файлов (если она включена).
Понравился мне плагин для альтернативного отображения комментариев. Кроме стандартного чтения или из descript.ion или files.bbs он может читать из обоих, однако имеет интереснейшие возможности. Для html-документов в качестве комментария отображать содержание тега title (т.е. заголовок документа), для текстовых документов - отображает первые строки, для исполняемых файлов и библиотек - поля из VersionInfo.
Контентные плагины можно использовать и при групповом переименовании. Так, например, mp3-файлы можно переименовать по правилу Артист - Композиция, к именам архивов добавить дату создания, быстро переименовать файлы в формат 8.3.
Приятно, что каждая вкладка запоминает текущий вид. Так, например, один раз создав и закрепив вкладку Pictures и переключившись в ней в режим просмотра миниатюр, вы всегда будете открывать ее в этом режиме. А вкладку с аудиофайлами, например, с настроенными колонками для отображения id-тэгов.
Среди всей этой бочки меда нельзя не упомянуть о немаленькой ложке дегтя. Впрочем, это идет как следствие. Использование нестандартных колонок и некоторых контентных плагинов для них (информация из аудио и видео файлов) может вызывать неслабые тормоза даже на неслабых компьютерах. Конечно, это естественно, и специализированные программы работают не быстрее. Поэтому использовать настраиваемые колонки и контентные плагины стоит с осторожностью или другими словами - по необходимости. Если что-то вы не собираетесь использовать - лучше это отключить. Некоторые плагины, впрочем, уже сейчас используют кэширование.

Автоматическая установка плагинов

Уже очевидно, что автор программы проникся пользой плагинов, а потому установка плагинов должна была быть сделана как можно более простой. В этом направлении автор сделал два шага. Первый - автоматическая установка плагинов из архивов. Авторы плагинов должны расположить в архиве с плагином специальный файл с инструкциями PlugInst.inf. При входе в такой архив Total Commander предложит установить плагин - а дальше дело техники. Естественно, такое поведение можно и отменить (ключ AutoInstallPlugins=0 в wincmd.ini) если оно не соответствует вашему представлению об установке плагинов.
Второй шаг - группировка настройки всех плагинов под одним пунктом в настройках Total Commander-a. Впрочем, после появления для этих целей специализированных качественных сторонних программ это уже не актуально.
Помимо ключевых изменений стоит упомянуть и о более мелких, но для многих пользователей весьма существенных, изменениях.

Переключение между режимами просмотра

Теперь между режимами просмотра (полный, краткий, комментарии, миниатюры, до 29 настраиваемых режимов) можно переключаться по правому клику мыши на панели табуляторов.

Просмотр plain-text

Если возникает необходимость открыть файл под курсором для просмотра не с помощью соответствующего Lister-плагина, а как plain-text, то теперь можно воспользоваться для этого комбинацией Alt+Shift+F3. Также для этого появилась внутренняя команда - cm_ListInternalOnly. Так что сочетание клавиш для этого можно назначить и свое.

Создание множества директорий за один раз

Используя синтаксис dir1|dir2|dir3|dir4, теперь можно сразу создавать неограниченное количество директорий в текущем каталоге.

Гиперпуть

Shift+Click по части полного пути в заголовке панели осуществляет переход в эту папку. Т.е. если, например, в заголовке панели значится путь D:\MyPics\Arts\Boris Vallejo\NEW\ то щелкнув по MyPics можно перейти в эту директорию, кликнув по Arts - перейти в директорию Arts.

Фиксация ширины колонки в кратком режиме

Приятная новость для тех, кто привык пользоваться кратким режимом. Теперь, наконец-то, можно установить ограничение на ее ширину. За это отвечает ключ BriefViewWidthLimit= раздела [Configuration] файла wincmd.ini. Необходимо указать размер колонки в пикселах.

Отображение иконок в оверлее

Configuration - Display: Show overlay icons allows to show/hide - включает/выключает режим отображения иконок в оверлее (небольшие иконки накладывающиеся поверх стандартных, например иконка ярлыка, иконка общего ресурса).
Среди других новых ключей, появившихся в Total Commander 6.5, можно отметить также AlwaysPackInBackground/AlwaysUnpackInBackground - При его значении, равном 1, все операции по архивации/распаковке встроенным zip-ом будут происходить автоматически в фоне, при значении равном 2 - то же самое справедливо также и для внешних архиваторов, 3 - только для внешних.

Некоторые новые внутренние команды, появившиеся в Total Commander 6.5

· cm_GoToFirstFile - переводит курсор на первый файл (не каталог) в активной панели
· cm_GotoNextDrive, cm_GotoPreviousDrive - переход к следующему и предыдущему диску. Актуально для тех, у кого очень много логических (сетевых) дисков.
· cm_GotoDriveA..cm_GotoDriveZ - переход в определенный диск. Т.е. команда cm_GotoDriveC работает как "cd c:\"
· cm_ReloadSelThumbs - Перечитать миниатюры для выделенных файлов (доступно также по правому клику из контекстного меню файлов).
· cm_srcnextcustomview, cm_srcprevcustomview, cm_trgnextcustomview, cm_trgprevcustomview, cm_leftnextcustomview, cm_leftprevcustomview, cm_rightnextcustomview, cm_rightprevcustomview - переход по существующим настроенным режимам отображения колонок.

Андрей Пясецкий


Total Commander 7.0. Что нового?

Каждый раз, когда моя любимая программа меняет циферку в номере, меня охватывает трудноописываемый набор чувств. С одной стороны, я очень радуюсь обилию новых функций Коммандера, с другой - найти и изучить все новинки иногда весьма утомительно. Не удивляйтесь этому - серьёзные обновления (major updates) у TC бывают довольно редко - например, с момента выхода предыдущей "большой" версии TC прошло почти два года! Кстати, историю выхода версий TC можно проследить на графике:

На данный момент, вне всякого сомнения, TC - самый популярный двухпанельный файловый менеджер во всём мире. Свою популярность он заслужил не только своей непревзойдённой функциональностью и стабильностью, но и благодаря отличной поддержке разработчиком своего детища. Многочисленное интернациональное сообщество пользователей TC постоянно обсуждает расширение возможностей TC, которое потом зачастую им реализуется. В этот раз всё случилось как всегда: поток новых функций хлынул из семёрки как из рога изобилия, и я не один день потратил на то, чтобы выбрать самые «вкусные» новинки. Теперь я делюсь найденным с вами.

Новинки "явные"...

Первое, что бросается в глаза - это давно обещанные обновлённые иконки. Старый набор "тянулся" ещё со времён Windows 95, и, несмотря на возможность самостоятельной их замены, вызывал неприятие у многих пользователей, в особенности новичков. И вот, свершилось... Более того: иконки появились и в главном меню TC - неслыханная вещь для TC, для которого графические "навороты" никогда не были в списке приоритетов.

Конечно, привыкшие обходиться без иконок пользователи, всегда могут их отключить, как и большинство других нововведений в интерфейсе. Например, можно отключить наконец-то появившуюся полную поддержку визуальных стилей XP и Vista в панели инструментов и в различных диалогах копирования. Дело в том, что эти самые диалоги, из-за некоторых особенностей реализации, не поддерживали темы XP, поэтому разработчику пришлось их заменить на новые, которые используются по умолчанию под всеми современными версиями Windows. Если вам захочется вернуть старые диалоги, то сделать это можно добавив ключ NewStyleProgress=0 в секцию [Configuration] файла wincmd.ini
Ещё одним "графическим" улучшением стала возможность раскрашивания чередующихся строк в разные цвета. На мониторах с высоким разрешением это действительно упрощает поиск нужного файла.

Но оставим графику в покое, ведь TC содержит множество изменений, которые сразу не так заметны...

...и "тайные"

Прежде всего, в новой версии TC содержится множество добавлений и исправлений, призванных унять "своенравность" операционной системы Windows Vista. Перечислять всё не имеет смысла, примите на веру, что большинство проблем, возникающих из-за политик безопасности Vista, так или иначе решены. Самые любопытные пользователи уже наверняка нашли в каталоге Коммандера файл tcmadmin.exe - эта палочка-выручалочка как раз для того и создана. Кстати, помогает она решить и проблемы доступа в других NT-системах: так попытка зайти в каталог, к которому текущий пользователь доступа не имеет, не прервётся с ошибкой, а потребует ввода администраторского пароля.

Пользователи 64-битных версий Windows получили в своё распоряжение... нет, увы, не 64-битную версию TC. Пока это всего-навсего ключ x64disableredirection, позволяющий корректно отображать содержимое некоторых системных каталогов. А полноценного 64-битного Тотала мы не увидим, судя по всему, очень и очень долго.
Пропал у пользователей TC повод для возмущения, связанный с медленной работой с сетевым окружением - многие помнят, как "подвисал" TC, при попытке входа на недоступный сетевой ресурс. Автор долго отнёкивался - мол, это проблемы Windows, - но, в конце концов, нашёл вполне приемлемый выход, перенеся многие сетевые функции в отдельные потоки. Для конечного пользователя это значит, что "зависшее" обращение можно закрыть без вреда для TC. Плюс это попросту работает быстрее, чем раньше.
Пошёл автор программы навстречу пользователям, просившими его добавить новые средства для работы со встроенными командами TC и внешними приложениями. Полноценных макрокоманд так и не реализовано (по-прежнему приходится использовать сторонние средства), зато теперь есть алиасы и пользовательские команды. Первые представляют собой простые сокращения (т.е. "длинную" команду вроде cm_RightPrevCustomView можно сократить до rpcv), и польза их заключается уже в том, что выполняться они могут из командной строки (в отличие от команд cm_xxx). Вторые, по сути, предоставляют те же возможности, что кнопки на панели инструментов - на пользовательскую команду может быть назначен запуск какой-то внешней программы или внутренней команды. В чём тогда отличие? В том, что пользовательскую команду всегда можно использовать как внутреннюю. Например, вставить в меню собственный пункт с этой командой (в любом месте, а не только в подменю "Запуск", как это было возможно раньше). Соответственно, можно на такую команду назначить любое сочетание клавиш (а не только клавиши из списка того же "Запуска"). Ну и, само собой, эти команды можно будет использовать во внешних скриптах.
Кстати, о командах: без новых внутренних команд, как обычно, не обошлось. Это не только команды для работы с новыми функциями TC, но и улучшения уже имеющихся команд, например добавлено целых десять команд для работы с выделением файлов (cm_SelectFiles, cm_SelectAllFiles и т.д.), все их приводить тут не имеет смысла, ищите описание в справке. В общей сложности команд набралось уже порядка пяти сотен (и это без учёта команд назначаемых пользователем), но "справиться" с ними можно с помощью нового редактора:

В нём можно быстро найти нужную команду либо сразу создать собственную.
Однако не все функции, добавленные разработчиком, встретили одобрение пользователей. Так, новый режим переключения между закладками на панелях, при котором панель отображалась лишь после перехода на нужную вкладку, вызвал массу протестов. На самом деле такой режим действительно может быть удобен, если на одной из вкладок открыто медленное сетевое соединение... но в большинстве случаев ситуация иная, и автор был вынужден добавить ключ TabSwitchMode, настраивающий поведение TC при переключении вкладок.
Также, уже после выхода, возникли вопросы со следующим функциональным улучшением TC - отдельными деревьями для каждой панели.

Эти деревья были востребованы пользователями, переходящими со стандартного Explorer на Total Commander, однако понравились они, увы, далеко не всем. Большинство пользователей вообще сочли новинку бесполезной... Тем не менее - теперь TC может работать и в таком трёх- или даже четырёхпанельном режиме, что определённо несёт свои удобства. Визуально сравнивать структуру каталогов на разных носителях с такими деревьями, например, стало проще.
А старые-добрые панельки TC обзавелись очень и очень полезной возможностью мультисортировки. Ctrl+щелчок на заголовке колонки включает этот режим и устанавливает очерёдность; так, чтобы найти самый старый текстовый файл в каталоге, список можно отсортировать по расширению, потом по времени. Сортировка работает на всех колонках, в том числе и на тех, что взяты из контентных плагинов.
Настал, наконец, счастливый день и для любителей мобильности - тех, кто держит настроенный TC на переносных носителях. Вдобавок к переменной окружения %COMMANDER_PATH%, появившейся ещё в шестой версии файлового менеджера, добавились переменные %COMMANDER_DRIVE% (указывает на диск, с которого запущен TC), и %COMMANDER_INI% (путь файла настроек TC). Так что теперь можно использовать собственный TC на чужом компьютере, не опасаясь, что какие-то плагины или утилиты не подхватят старые настройки.

Работа с оглядкой

На что пользователи TC жаловались больше всего - так это на не очень удобные способы решения проблем, связанных с копированием. Например, при копировании файлов, оказывается, что файлы с теми же именами уже имеются. Но идентичны ли эти файлы? Нужно отменять копирование и сравнивать файлы, чтобы случайно не потерять нужную информацию.
Теперь всё куда проще. Новый диалог перезаписи файлов - фактически новый инструмент. Сравнить файлы теперь можно прямо в нём, причём сделать это можно как встроенным в TC способом (побайтовое сравнение), так и с помощью контентных плагинов - информацию о исходном и перезаписываемом файле можно посмотреть сразу же.

Сравнение тех файлов, у которых TC самостоятельно или с помощью листер-плагинов может показать тамбнейлы, превращается в элементарную задачу - вы эти файлы просто видите сразу же. К тому же перезапись обзавелась и кое-какой автоматизацией - теперь сравнение по заданному условию и последующую перезапись TC может производить самостоятельно - нажмите в диалоге перезаписи кнопку «Дополнительно» и убедитесь сами.
Другой объект жалоб – это не очень функциональный менеджер фонового копирования (BTM). В семёрке предприняты меры по его улучшению, например теперь в нём можно вручную менять порядок копирования. Просто перетаскиваем элементы списка мышкой – вот и вся наука.
Многим хотелось, чтобы копирование в BTM происходило автоматически, а не по нажатию F2. Разработчик пошёл навстречу пользователям – ключ AlwaysCopyInBackground=2 в wincmd.ini включает именно такой способ копирования.
Уважаемый читатель, скажи мне, мешают ли тебе каталоги "System Volume Information", "Documents and Settings" и подобные им? Избавиться от них нельзя, заходить в них обычно незачем - так почему бы их не убрать с глаз долой? Открываем "Список исключений" в опциях TC, добавляем туда названия тех каталогов и файлов, которые нам видеть не хочется – и всё, Тотал их больше не показывает. Можно использовать полные и относительные пути, переменные окружения, файловые маски... Мелочь - а приятно!

Также теперь почти все действия Коммандера можно протоколировать. Нужно это, например, для того, чтобы обнаружить, на каком файле оборвалась закачка при сбое, и продолжить работу именно с этого места.

Новинки инструментов TC

Встроенные в Коммандер инструменты также заметно улучшились. Начнём с малого: листер теперь имеет курсор (включение/отключение по F6), что позволяет не пользоваться мышкой при выделении текста, а F11 теперь разворачивает листер на полный экран и обратно. Менее очевидны следующие изменения: при просмотре графики без плагинов листер сможет центрировать картинку, и подгонять её размеры под размеры своего окна самостоятельно. Также листер теперь гораздо лучше определяет UTF-кодировки, в том числе - и в HTML.
Но это только цветочки по сравнению с тем, что добавилось в инструмент сравнения файлов по содержимому. Кроме того, что теперь сравнивать можно файлы из архивов/плагинов/FTP, сам инструмент серьёзно увеличил свои возможности. Теперь "не отходя от кассы" сравниваемые файлы можно отредактировать вручную. Также можно довольно гибко настроить параметры сравнения - например, задать игнорирование часто повторяющихся строк (очень полезно для сравнения исходных кодов), или заставить воспринимать любое количество пробелов за один. Также можно сравнивать участки файлов вручную. Поясню, зачем это надо: один и тот же текст, например код программы, может быть отформатирован по разному - с отступами, с пустыми строками, с повторными операторами. Теперь TC, как уже сказано, теперь сможет определять "похожесть" файлов, а не только их идентичность. Тем, кого не удовлетворит и такая функциональность, не стоит отчаиваться - они могут подключить собственный инструмент сравнения (например, утилиту CompareIt!), и пользоваться им "без отрыва от производства".
Групповое переименование - едва ли не самый функциональный из инструментов - стал ещё лучше. Во-первых, случайно попавшие в список файлы можно удалить оттуда, просто нажав Delete. Во-вторых, теперь имена файлов можно загрузить из файла, или наоборот - загрузить в файл, сразу же этот файл отредактировать, и применить уже отредактированные имена. Что ещё нужно при переименовании пары тысяч скачанных mp3-файлов? Разве только чтобы TC сам прописывал в них теги, беря информацию из файла или названия трека...
А ведь и это теперь возможно – новый инструмент изменения атрибутов может и не такое! С помощью контентных плагинов, теоретически, можно менять любые параметры файла - прописывание тегов в тысячу файлов становится тривиальнейшей задачей. На момент написания статьи плагины с поддержкой этой функции уже стали появляться, так что ищите и обрящете.
Раз уж речь зашла о плагинах, скажу, что теперь файлсистемные плагины поддерживают просмотр эскизов и настраиваемые колонки (о, как давно об этом просили!). Контентые плагины для работы этой функции не используются, реализовать такое взаимодействие слишком сложно, потому каждому плагину предоставлена возможность выводить свой собственный набор колонок, что в высшей степени логично. Пока существуют всего два плагина, поддерживающих эту возможность: первый - это decClipboardFS, плагин для отображения буфера обмена Windows. В дополнительных колонках отображается информация о формате скопированных данных, имя приложения, откуда было произведено копирование, и т.п. Второй - это MAIL_WFX, почтовый клиент для TC. Он, соответственно, может показывать информацию об отправителе, статус письма, и другую информацию, которую вы обычно видите в своём почтовом клиенте.
Колонки FS-плагинов настраиваются точно так же, как и обычно, конечно, с учётом того, что плагин использует лишь собственные данные.

Очевидность полезности новой возможности - налицо, надеюсь, уже существующие плагины в скором времени обзаведутся её поддержкой. А если и нет - ничего страшного, TC имеет абсолютную обратную совместимость, и все старые плагины будут работать как и раньше.
И ещё одно небольшое изменение в интерфейсе файлсистемных плагинов - добавление поддержки ссылок. В основном это сделано для более простой реализации плагинов подобных TempPanel, так что обычному пользователю это не особенно интересно.
Инструмент поиска тоже заметно приобрёл в весе – теперь он может искать файлы на FTP с тем же успехом, что и на локальных дисках. Вдобавок, появилась опция настройки глубины вложенности подкаталогов. Полезно, если искать нужно только в текущем каталоге, или вы знаете что «на заданной глубине» искомого файла точно нет.
Закончу рассказ об инструментах описанием самой долгожданной новинки: встроенный FTP-клиент теперь «поумнел». Отныне, и во веки веков, закачка с FTP автоматически возобновляется через тридцать секунд, если она почему-то "зависла". Т.е. Тотал теперь можно оставлять качать файлы во время отсутствия пользователя, не опасаясь, что он где-нибудь "застрянет". Добавилась поддержка FTPS-соединений - правда для этого потребуется набор библиотек OpenSSL (легко найти в Интернете). Ну и, наконец, теперь принудительно поддерживается активность соединения через прокси. Дело в том, что некоторые прокси-сервера "слишком много на себя берут", в результате чего FTP-сервер считает соединение неактивным, и закрывает его. Теперь этого больше не будет.

По мелочам.

Это, безусловно, не все добавления и улучшения, появившиеся в этой версии. Улучшена работа с диспетчером фоновой пересылки, внесена возможность перенаправления секций в файле настроек, имеется куча более мелких изменений. Щёлкните, к примеру, два раза по разделителю панелей - он встанет ровно посередине. Приятная мелочь, ровно как и изменение размеров внутреннего просмотрщика по F11... Или вот такое удобство: все строки для ввода путей и имён файлов теперь поддерживают автодополнение - примерно так же, как это сделано в адресной строке Windows Explorer. А диалог создания нового каталога помнит имена всех созданных когда-либо каталогов, а по умолчанию предлагает назвать каталог по имени подкурсорного файла... И таких незаметных мелочей в семёрке - сотни, всё вспомнить просто невозможно. Используя TC, я то и дело натыкаюсь на что-то подобное, так что полезно бывает прочесть историю изменений, чтобы найти там что-то новое и пока неизвестное.

Что дальше?

При выходе каждой новой версии TC я задаю себе этот вопрос. Да, наверно, и не только я. В самом деле, кажется, что все возможности уже давным-давно реализованы, и добавить что-либо существенное уже невозможно. И, тем не менее, каждый раз появляется что-то новое - не всегда то, что ожидаемо, не всегда то, что востребовано, но всегда что-то глобальное.
Так чего нам ждать в версии 7.5? Точно на этот вопрос ответить не может никто, но основываясь на самых частых просьбах автору, его собственных заявлениях, и собственных фантазиях, можно кое-что предположить.
Очень возможно, что версия 7.5 будет полностью поддерживать юникод. Необходимость в этом назрела уже довольно давно, но реализовать такую поддержку совсем непросто. Не вдаваясь в подробности, скажу, что возникнут проблемы совместимости с линейкой ОС Win9x (скорее всего, новые версии TC просто перестанут там работать), и, что гораздо страшнее, с множеством существующих плагинов для TC (по-хорошему, их потребуется переписывать под юникод, а ведь далеко не все авторы плагинов готовы заниматься своими старыми разработками). Напомню, что на данный момент TC поддерживает юникод лишь частично, на том уровне совместимости, который обеспечивается операционной системой. Перевод TC на юникодные рельсы состоится рано или поздно, и это, по словам самого автора, основная задача на будущее.
Есть вероятность появления в следующей версии нового (уже пятого) типа плагинов. Нет, этого никто не обещал, но этого ждут многие. Всё изобилие существующих плагинов, кажется, уже исчерпывает предоставленные ими возможности, новые плагины появляются реже и реже, да и то, зачастую, это "римейки" - плагины, повторяющие уже существующие, но с использованием новых функций. Что это будут за плагины - сказать сложно. Кто-то предполагает, что это будут "интерфейсные" плагины, с помощью которых можно будет встраивать в окно TC собственные "навороты". Кто-то просит интерфейс для плагинов копирования, кому-то хочется интерактивности... Возможно всё.
Есть некоторые основания предполагать, что обзаведётся TC полноценной консолью (насколько это возможно для графического приложения). Те решения, что есть сейчас, чего греха таить, не устраивают многих, а функция эта достаточно востребованная.
Ну и конечно, в следующей версии TC будут улучшения и исправления. Впрочем, их то долго ждать не придётся - вряд ли традиция, по которой одна-две минорных версии с исправлениями выходят через некоторое время после выхода мажорной, будет нарушена, ибо программ без ошибок не бывает. Даже если это Total Commander. (На момент написания статьи уже была доступна версия 7.01, включающая массу исправлений, так что прогноз уже сбылся).

В заключение

Несмотря на всё моё желание, я не написал про такие вещи, как перенаправление секций файла настроек (для удобства и увеличения безопасности), улучшение быстрого поиска, не упомянул про функции автообновления панелей... Поверьте - уместить все новшества TC 7.0 в одну статью невозможно. Поэтому - читайте справку и заглядывайте на сайт http://tckb.megabyte-web.ru и форум forum.wincmd.ru - там вы найдёте всё, что вас интересует.

Павел Дубровский
12.07.07


Установка, настройка и освоение TC

Статьи, посвящённые установке, настройке и освоению Total Commander:

· Total Commander - тотальный файловый менеджер
· Total Commander: раз и навсегда
· Total Commander: создание собственной инсталляции
· Автоматическое открытие сменных носителей в TC
· Как привести TC 7.0 к виду TC 6.5?
· Контроллеры OTi vs. Total Commander
· Подключаем свои иконки
· Подпанели Total Commander
· Пользуемся панелью инструментов
· Своё меню: разбираемся за десять минут
· Тотальные хитрости


Total Commander - тотальный файловый менеджер

Не настраивает Total Commander только ленивый

Думаю, большинство "продвинутых" пользователей после установки любой программы сразу же лезут в ее настройки. А что уж говорить о предмете моей статьи, когда его настраивать можно целыми днями и это не надоест. Так что посмотри все настройки Total Commander, уверен, ты найдешь там много того, о чем не догадывался. Но знай, настройка Total Commander на этом еще не закончилась. Еще столько же параметров скрыты от глаз обычного пользователя, хотя о них всех можно (читай, нужно) прочитать в справке программы. А еще можешь просто скачать TweakTC и пытаться разобраться со скрытыми настройками там.

Работаем с панелью инструментов по-новому

Для тех, кто только что перешел с Проводника на Total Commander, панель инструментов Total Commander может показаться намного более удобной. Ведь на ней можно разместить ярлыки к программам, внутренним командам, а также к любой системной команде. Думаю, что ты также знаешь, что можно создать даже подпанель. Визуально это будет смотреться как просто еще одна иконка. Удобно, однако.

Кстати, Total Commander не перечитывает иконки при каждом обновлении экрана, а хранит их в отдельном файле, загружая только при первом запуске, потому работа с панелью инструментов будет побыстрее, чем с меню Пуск.
Самый простой путь создания ярлыка к программе - просто перетащить исполняемый файл на свободное место в панели, или куда твоя душа пожелает, но уже удерживая клавишу Shift. Попробуйте то же самое сделать в Проводнике или в FAR-е...
Однако, панель инструментов интересна не тем, что с нее можно запускать программы, а тем, что с этими программами могут взаимодействовать другие файлы и папки. Попробуй перетащить директорию, где находятся mp3-файлы на ярлык WinAmp-а в панели инструментов. Я запускаю WinAmp только таким образом! Думаю, и ты теперь тоже.
Теперь создай на панели ярлыки к Internet Explorer, Opera (список можно продолжать) и перетащи по очереди на них html-файл и выбранный тобой браузер откроет его. А, перетащив html-файл на иконку своего любимого текстового редактора (html-процессора), ты откроешь его в соответствующей программе.
А если ты создашь ярлык к папке на панели инструментов (все тем же простым перетаскиванием), то переход к этой папке по ярлыку будет еще не верхом совершенства. Drag'n'Drop из файловых панелей на ярлык папки вызовет копирование в эту папку! Ну что, теперь ты больше не будешь относиться к панельке с кнопочками предвзято. Она может многое.

Удаляем элементы интерфейса

Многие, считая себя опытными пользователями, отключают нижнюю панель с кнопками, полагая, что никакой функциональной нагрузки она не несет. Для тех, кто работает с клавиатурой и только с ней, это на 100% правильное решение. А вот для тех, кто хотя бы иногда прибегает к услугам мышки, я открою несколько маленьких секретов. Данная панелька, как оказалось, также поддерживает Drag'n'Drop, поэтому удобнее всего ей пользоваться, не нажимая на ней кнопки F3, F4, F5, а перетаскивая выделенные файлы и папки на эти кнопки. Проверено, так удобнее. А теперь нажми правой кнопкой мышки на F8-Удалить. Откроется контекстное меню, откуда ты сможешь очистить корзину или посмотреть ее свойства. И кстати, не говори, что тебе не нужна корзина. Или ты никогда не спал на клавиатуре? Раз уж речь пошла об отключении отдельных панелей, то могу посоветовать тебе отключить командную строку. Нет, не потому, что ей не нужно пользоваться, а потому что её очень просто вызвать (Left Arrow или Right Arrow).

Меню часто используемых каталогов - удобнее не придумаешь

Но все же главным инструментом навигации по директориям я считаю меню часто используемых каталогов. Вызывается оно не только через клавиатуру (по умолчанию Ctrl+D), но и с помощью мышки - двойным нажатием по названию текущей директории. У меня здесь целые лабиринты папок. Можно создавать подменю часто используемых каталогов, делать разделители для визуального удобства.

А для редактирования этого меню, если ты захочешь построить множество подменю и разделителей, я рекомендую пользоваться сторонней утилитой - Wincmd Directory Menu Customizer.

И не забывай (если, конечно же, знал), что при создании закладки удобно пользоваться alt-символами. Например, закладку имеет смысл назвать не Downloads, а &Downloads. Тогда для того, чтобы перейти в этот каталог ты просто нажмешь Ctrl+D, а потом D.

Настройка горячих клавиш

Быстрее способ можно придумать, только если для этого каталога назначить собственное горячее сочетание клавиш. Для этого воспользуйся меню Запуска (Запуск - Изменить меню Запуск…). Добавь в нем свой избранный каталог, в качестве команды указав "cd полный путь к каталогу" без кавычек. Останется только назначить горячие клавиши, которыми, к сожалению меню Запуска пока не блещет.

Теперь к твоему избранному каталогу можно перейти просто моментально.
Продолжая тему горячих клавиш, нужно сказать, что Total Commander по умолчанию имеет огромное количество клавиатурных сочетаний для работы, которое просто нужно распечатать на принтере и изучить. Но для начала его необходимо дополнить. Поэтому отправляйся по пути Конфигурация - Настройка - Общие - Переопределить горячие клавиши. Вот здесь уже выбор клавиатурных сочетаний весьма велик. Итак, я рекомендую сделать следующие существенные изменения:
Ctrl+H - cm_SwitchHidSys - Включить/выключить показ скрытых файлов. Лично мне удобнее работать, когда скрытые и системные файлы не портят картину своим присутствием. Но иногда нужно видеть и их. Быстрое переключение между этими режимами мне сильно помогает.
Ctrl+W - cm_CopyNamesToClip - Копировать в буфер имена файлов. Можно копировать как один файл, так и несколько. Очень удобно. Очень часто применяется.
Alt+W - cm_CopyFullNamesToClip - Копировать в буфер имена с путями. Часто при настройке программ требуется путь к тому или иному файлу. Ну не набирать же его тебе вручную!
Shift+Home - cm_OpenDesktop - Открыть рабочий стол в Total Commander. Иногда навигацию удобно начинать именно оттуда. Плюс там может находиться разный мусор, который нужно удалить. А оттуда уже можно и в Мои документы, и в Корзину перейти. И кстати, открыть рабочий стол можно, набрав в командной строке "\\" без кавычек.
Alt+Home - cm_OpenControls - Открыть панель управления Windows в Total Commander.
Alt+К - cm_OpenRecycled - Открыть корзину в Total Commander. Многие, работая в Total Commander, до сих пор пользуются корзиной в Проводнике. Не повторяй их ошибки.
Shift+BackSpace - cm_GoToRoot - Перейти в корневой каталог. Без комментариев. Ну а то, что по BackSpace осуществляется переход на один уровень выше, ты, надеюсь, знаешь?

Также, лично для себя я настроил вызов меню часто используемых каталогов на Left Arrow и переопределил переименование файлов на F2, а перечитывание каталогов (обновление панели) на Ctrl+R. А ты решай сам, как тебе удобнее. Узнать много нового и определиться же с собственными горячими клавишами тебе поможет файл Totalcmd.inc, который находится в папке с установленным Total Commander. В этом файле перечислены все внутренние команды Total Commander. Понятно, что на любую из них ты сможешь повесить свои собственные клавиатурные сочетания. Если у тебя установлена хорошая русификация, то и файл Totalcmd.inc тоже должен быть русифицированным.

Раскраска Total Commander и условия поиска

Раскраска папок и файлов не такой уж и немаловажный момент, как может показаться, так как различные цвета для различных файлов - это не только красиво, но и улучшает ориентацию среди множества файлов. Правильнее всего осуществлять раскраску с использованием условий поиска (шаблонов). Команды - Поиск файлов - уточняешь условия (например *.zip;*.rar;*.ha;*.lha;*.bz2;*.arj;*.imp;*.ace;), уточняешь дополнительные условия и сохраняешь данный шаблон, присвоив ему красивое имя, например "Архиваторы". Можешь создать не только такие логичные шаблоны как Исполняемые файлы, Изображения, Скрытые и системные файлы, но и такие интересные, как Файлы, измененные в течение часа, в течение дня, в течение 3 дней, сжатые файлы и каталоги. Если заниматься этим лень, а впрочем, даже если не лень, советую воспользоваться специальной программой Aezay TC Color Presets, с помощью которой можно свободно импортировать-экспортировать цветовые схемы. В поставке имеется также несколько интересных цветовых схем, включая мою собственную.

Впоследствии условия поиска ты сможешь использовать и при работе в файловых панелях. Нажимаешь плюс на цифровой клавиатуре и из списка имеющихся шаблонов выбираешь необходимый - будут выделены все файлы, удовлетворяющие этому шаблону. То же самое можно сделать и для "Отобразить только…" (Ctrl+F12). Можно даже создать шаблон на нахождение фразы в тексте и отображать только файлы, в которых содержится ключевая фраза или слово. Довольно мило.

Настройка меню - последний штрих

В Total Commander можно отредактировать даже меню. Загляни в папку Totalcmd\Language, найди файл WCMD_RUS.MNU, сделай резервную копию и можешь его редактировать. Можешь убрать неиспользуемые пункты меню, перекомпоновать их как тебе вздумается, добавить другие строки, используя любые команды из totalcmd.inc. Впрочем, ты можете поступить и проще, скачав уже готовое расширенное русское или английское меню с сайта http://wincmd.ru

Комментарии в Total Commander. О чем давно мечтали...

Наверное, среди всех просьб по улучшению функциональности Total Commander поддержка комментариев была самой востребованной. Ты ведь тоже это хотел? И вот, начиная с переломной версии 5.5 (это когда произошло переименование программы с Windows Commander), мечта сбылась.

Чтобы вызвать вид с комментариями, нажми Ctrl+Shift+F2. Ну а Ctrl+Z - создать/редактировать комментарий к файлу. А если подвести курсор к файлу, то во всплывающей подсказке ты увидишь комментарий плюс кое-какую полезную информацию. В Windows XP при наведении на mp3-файлы ты сможешь просмотреть информацию из тега - артист, композиция, альбом, год, битрейт и т.д. Не буду раскрывать все секреты, попробуй поэкспериментировать на различных типах файлов. Только помни, что всплывающие подсказки будут работать, только если у тебя стоят галочки в Настройках - Экран - Всплывающие подсказки - Подсказки/примечания в стиле win32 (если доступно).
Естественно, что все комментарии где-то хранятся. Для этого используются либо descript.ion, либо files.bbs - файлы. Так что не вздумай их удалить. Настройка твоих предпочтений по этому поводу осуществляется в Настройках - Операции - Комментарии к файлам.

Чего не имеем, то допишем. Плагины Total Commander

Лично я всегда уважал те программы, которые умеют подключать дополнительные плагины. Как с помощью конструктора ты собираешь программу своей мечты. Главное, найти необходимую деталь. Total Commander уже имеет порядочное число полезных инструментов (групповое переименование файлов, синхронизация директорий, FTP-клиент, сравнение файлов, мощный поиск файлов), но согласись, всегда хочется еще чего-нибудь экстра. Total Commander поддерживал плагины с незапамятных времен. Но это были только архиваторные плагины, а начиная с версии 5.5 плагины получили второе дыхание - появились File System плагины и Lister-плагины, и как следствие, в течение месяца после появления новых plugin API мы наблюдаем бум плагинов. В 6.5 Кристиан Гислер (автор программы) порадовал нас ещё одним типом плагинов - Content plugins, что спровоцировало ещё одну "плагиновую лихорадку". Новые плагины и обновленные версии появляются чуть ли не каждый день. Но буду последователен, и расскажу сначала о первом типе плагинов - Packer Plugins.

Архиваторные плагины

Первоначальная задумка создания этих плагинов - поддержка тех архивов в Total Commander, которые им не поддерживаются в стандартной поставке (хотя и в стандартной поставке поддерживаемых форматов много). Так, к чисто архиваторным плагинам можно отнести HA Plugin и Multiarc (около двадцати поддерживаемых форматов, в том числе 7zip, cab, imp), PPmd, Bzip2 и другие. Но желание реализовать невозможное привела к тому, что стали появляться архиваторные плагины, чье назначение не соответствует первоначальной задумке. Это CatalogMaker - каталогизатор дисков и директорий, AVI - создание avi-анимаций из последовательности BMP и JPG-изображений и их покадровый просмотр с возможностью извлечения кадров и аудио; IMG - работа с образами дискет; DBX - работа с почтовыми базами Outlook Express; ISO - чтение образов CD-ROM и многие другие. А плагин Far2WC позволяет использовать многие архиваторные плагины, написанные для FAR-а, например DocFile Browser и Resource Browser. С помощью Resource Browser можно входить в exe или dll файлы, просматривать и извлекать ресурсы (например, иконки и сплэш-скрины), а в комплекте с интегрированными IrfanView или XnView мы получим очень интересный и удобный инструмент для работы с ресурсами.

Второе пришествие плагинов - FS-плагины

Как и в случае с архиваторными плагинами, разнообразие FS-плагинов далеко выходит за рамки их первоначального назначения. Классическими в этом плане можно назвать такие плагины, как WinCE - позволяющий получить доступ к PocketPC или другому Windows CE-устройству, подключенному через ActiveSync (и не забудьте, что существует Total Commander специально для карманных компьютеров), Ext2+Reiser - позволяющий доступ к Linux Ext2-разделам и Reiser-разделами, имеющимся на компьютере. Также с натяжкой сюда можно отнести SFTP plugin - для создания SFTP-соединений через SSH2. Дальнейший список FS-плагинов - результат, в основном, изобретательного ума программистов. Они-то и есть самые интересные.
Первым появился Procfs, реализующий менеджер задач в Total Commander. Он показывает список запущенных задач, объем потребляемой памяти и еще много чего интересного (Попробуйте Ctrl+Q, F3, F5, Enter).

Удобство данных плагинов заключается в первую очередь в том, что ты работаешь с необходимыми тебе задачами из привычного и очень удобного интерфейса Total Commander, используя при этом все его плюсы. Работая с реестровым плагином, можно добавлять избранные ветви реестра прямо в меню часто используемых каталогов, а экспорт веток осуществлять банальным F5, и даже копировать и перемещать ключи и значения как в обыкновенном двухпанельном файловом менеджере.

Ты по заслугам оценишь удобство работы с плагином Uninstall для удаления установленных в систему приложений. Поверь мне на слово, это куда удобнее, чем вызывать тормозной апплет Add Remove Applications, про который я уже забыл.

Перечислить все плагины в рамках одной статьи невозможно, однако, скажу, что существуют также такие интересные FS плагины, как Shared Files для просмотра файлов, открытых сетевыми пользователями, Services для управления сервисами, Temporary Drive - временная панель Total Commander (наконец то сбылось!) и некоторые другие, но их количество будет расти и дальше.

Lister-плагины. Использование графического интерфейса на полную мощь

Надо сказать, что и без плагинов Lister (встроенный просмотрщик) был очень мощным инструментом и умел ну очень много (включая поддержку огромного количества графических форматов через интегрируемые IrfanView или XnView), а после появления плагинов Lister превратился в монстра, которому, кажется, все под силу.
Word File Viewer For Lister сделал просмотр документов MS Word и красивым и быстрым (но без графики и форматирования), Office Plugin сделал возможным просмотр документов MS Word и Excel через конверторы Microsoft, благодаря чему появилась графика и кое-какое форматирование, IEView Plugin просто использует MS WebBrowser control (читай, Internet Explorer обязательно должен присутствовать) и может просматривать, таким образом, несколько десятков форматов файлов идеально. Это html, shtml, mht, eml, doc, dot, xls, pdf, при наличии установленного монстра Quick View Plus - .vsd;.ppt;.xml;.xsl;.asp;.drw;.lwp;.prz;.wpd;.qpw;.uue;.zip;.123;.gz;.tar; а при наличии установленного в систему просмотрщика Autocad еще и .dwg;.dxf;.dwf;.rml;.ipt;.iam;.idw. Конечно, просмотр того же файла PDF по скорости будет сравним с открытием самого Acrobat Reader, а просмотр документа MS Excel - с запуском Microsoft Excel, но этот недостаток компенсируется удобством работы в среде Total Commander (Ctrl+Q) при условии наличия достаточно мощного компьютера. Если же все же скорость тебя не устроит - есть более быстрый плагин или plain text.

Но что самое интересное, в виде дочернего окна в режиме быстрого просмотра через IEView в Total Commander интегрируется и Explorer (Проводник) и мы сможем получить все преимущества Проводника (такие, например, как просмотр миниатюр изображений), в Total Commander. В сочетании с удобством работы по Ctrl+Q это дает очень интересный результат. Практически, какой бы файл или папка тебе ни попались в директории при навигации в режиме быстрого просмотра, в противоположной панели ты увидишь их сущность. Это, я уверен, тебе должно понравиться.

Контентные плагины - видим всё

В Total Commander 6.50 появился ещё один тип плагинов - так называемые "контентные". Суть их в том, чтобы "доставать" и показывать различную информацию из самых различных типов файлов. Например, на скриншоте хорошо видно, как с помощью плагина anytag в отдельную колонку выводятся теги mp3-файлов. Согласитесь, это просто-таки здорово!
Статью, в которой максимально подробно рассказано о контентных плагинах и способах их применения, можно прочесть здесь.

В рамках данной статьи я не пытался научить тебя пользоваться Total Commander - это нереально. Хотелось просто показать тебе возможности этого файлового менеджера, и то, что если он чего-то и не может, то вполне возможно, что это ты просто не знаешь о том, что Total Commander это может. Точно так же, в рамках одной статьи невозможно описать все плагины для Total Commander. Только за последний месяц появилось около двадцати новых Lister и File System плагинов (причем интересно, что большинство этих плагинов написано программистами постсоветского пространства). А это свидетельствует о том, что и далее функциональность вашего любимого файлового менеджера будет расти с каждым днем в буквальном смысле.
Ну, а если хочешь научиться эффективно пользоваться Total Commander - читай справку, а еще лучше - читай обзорные и обучающие статьи на русскоязычном сайте Все о Total Commander - http://wincmd.ru Именно на этом сайте ты сможешь скачать все плагины, утилиты и файлы, упомянутые (и не упомянутые) в этой статье, а также найти ответы на большинство своих вопросов. Ну а если ты программист и хочешь еще и помочь другим пользователям - напиши собственный плагин. А если возникли вопросы, как написать плагин - добро пожаловать в Russian Total Commander Plugring Team, по вопросам вступления в которую связывайся со мной лично.

Андрей Пясецкий

От составителя: по всей видимости, эта статья в немного откорректированном варианте была опубликована в журнале "Хакер" №49 за 2003 год. Поскольку та статья никакой ценной информации, которой не было бы в RU.TCKB не содержит, я её включать в базу не стал.


Total Commander: раз и навсегда

Раз и навсегда.

Почему-то, у многих товарищей возникают проблемы с переустановкой TC после переустановки Windows. Хотя об этом говорилось уже множество раз, но вопросы возникали, возникают, и, наверное, так и будут возникать :).
В этой статье я поведаю страшную тайну о том, как установить и настроить TC раз и навсегда. Наберитесь терпения - процесс этот может занять от получаса до полумесяца - в зависимости от того, чего вы хотите добиться от своего Тотала. Лично я настраиваю свой TC постоянно уже в течение нескольких лет, и, наверное, ещё далёк от идеала :)
Да, статья не учитывает ситуации, когда одним TC пользуются сразу несколько пользователей на одной машине, и которым нужны разные настройки. Всё расписано для настройки для единственного пользователя.

Думаем сами, решаем сами. Устанавливаем тоже сами.

Главное и основное в задуманном нами деле - не использовать ничего чужого. То есть - никаких сборок, только оригинальные дистрибутивы Total Commander и плагинов, и, само собой - только оригинальные дистрибутивы других программ, коль уж вы захотите добавить их к своему TC. Почему так? Да потому что мы собираемся создать установку, которая со стопроцентной вероятностью будет работать на вашем компьютере (а если не заработает - по крайней мере, будет известно, кто в этом виноват), и работать так, как вы этого хотите. Гарантировать, что в чужих сборках всё будет так, как требуется - невозможно.
Итак, берём оригинальный дистрибутив Total Commander, и устанавливаем его в пустую папку. Сразу - несколько советов:

1. Выберите логичное имя для папки, желательно - без пробелов. Общепринятого имени не существует, кто-то называет папку Totalcmd, кто-то - TC, а у меня она вообще называется dshell. Смысл этого дела в том, чтобы быстро идентифицировать эту папку в списке по имени. Отсутствие пробелов в имени позволит избежать некоторых проблем, которые могут в дальнейшем возникнуть (а могут и не возникнуть, но лучше перестраховаться). В дальнейшем я буду использовать именно имя dshell (мне так будет удобнее приводить примеры). Если установщик будет предлагать установиться в папку, в которой ранее стоял TC - шлите его в лес :)
2. Папка установки TC должна быть в корневом каталоге, желательно - не системного раздела. Объясняю, почему установка TC куда-нибудь в папку "Program Files" - моветон. Наш коммандер должен быть всегда доступен, и чем "конкретнее" и "ближе" он будет расположен на диске - тем лучше. Может возникнуть, к примеру, необходимость форматирования системного раздела во время установки OS, и TC, установленный в "Program Files" будет уничтожен. Поверьте моему опыту, отказ от установки куда-либо, кроме папки в корне, будет правильным решением.
3. Во время установки выбирайте только английский язык. Остальные вам не понадобятся (да и английский вы вряд ли будете использовать), а место занимать будут. Если что - их можно будет доустановить позднее.
4. Выбирайте путь сохранения файлов настройки TC как "Program directory":

Это раз и навсегда позволит избежать проблем с потерей настроек после переустановки системы, да и многие другие вопросы, связанные с поиском этих файлов, отпадут. Для проверки желательно открыть файлик wincmd.ini в каталоге Тотала, и убедиться, что ключик UseIniInProgramDir в секции [Configuration] равен 7 (если почему-то это не так - ставим вручную).

Итак, пусть мы установили TC в папку D:\dshell (раздел C:, обычно, является системным, если у вас иначе - ориентируйтесь по ситуации). Зарегистрированные пользователи копируют wincmd.key в папку с TC и радуются, незарегистрированные - честно жмут 1-2-3 при старте TC и тоже радуются. Теперь и тем и другим требуется настройка менеджера.

Выжмем максимум

Основной идеей у нас будет настройка максимума встроенных возможностей. То есть: не пользуетесь вы схемами подсветки - всё равно настраивайте. Глядишь, потом понадобится - а оно уже есть, осталось только включить.

Итак, логично бы было начать с русификации TC. Для этого берём ваш любимый пакет русификации и копируем файлы WCMD_RUS.hlp, WCMD_RUS.LNG и WCMD_RUS.MNU в папку LANGUAGE в каталоге установки TC. Взять эти файлы можно из пакета русификации от Константина Власова и Вадима Казакова, который, к нынешнему времени, является самым полным и точным переводом. Конечно, поставляемое в пакете меню может устроить не всех, но вы можете заменить его своим (если таковое имеется), или отредактировать его по своему усмотрению (о редактировании mnu-файлов рассказано здесь). С некоторых пор этот пакет русификации поддерживает автоустановку (так же, как и плагины), но пользоваться этой возможностью я бы не рекомендовал - если у вас уже есть собственное настроенное меню, оно может быть перезаписано файлом из архива, и тю-тю...
Теперь в опциях выбираем русский язык и приступаем к более основательной настройке.

Конечно, это дело личного предпочтения, как настраивать Total Commander. Но я позволю себе дать несколько рекомендаций:

1. В разделе "Вид" убрать галочку "Окно выбора дисков". Это окно только занимает место, а списки дисков всегда могут быть вызваны сочетаниями Alt+F1, Alt+F2.
2. В разделе "Экран" установить галочки "Длинные имена файлов" (иначе имена вроде "System Volume Information" будут выглядеть как "system~1), "Показывать [..] также и в корневом каталоге диска" (позволит осуществить быстрый переход в виртуальную папку "Мой компьютер") и "Показывать оверлейные значки (например, для ярлыков)" (решает многие проблемы отображения иконок в TC).
3. В разделе "Операции" установить галочку "Выделение мышью -> правой кнопкой (как в NC и FAR)". Способ "а-ля Explorer", на мой взгляд, слишком неудобен, и не подходит к концепции NC-подобных менеджеров.
4. В разделе "Архиватор Zip" установить степень сжатия на максимум. На современных машинах разница в скорости будет незаметной, а размер архива уж точно не увеличится. В том же разделе можно установить галки "Открывать неполные ZIP" и "Работать с повреждёнными ZIP" - это поможет извлечь из битых архивов хоть какую-то часть информации.
5. Просто совет: разберитесь с секцией "Запрашивать подтверждение перед:" в разделе "Разное". Большинство надоедливых запросов отключается здесь.

Остальное настраивайте на своё усмотрение. Очень помочь в настройке может твикер TweakTC - в нём можно подредактировать кое-какие параметры, недоступные для изменения из самого TC, и, к тому же, TweakTC даёт довольно подробные подсказки по всем пунктам настройки. Настройка некоторых возможностей, которые я сейчас пропустил, будет описана далее.

Крутим по максимуму

В Total Commander мне крайне симпатичны две возможности, без которых пользоваться любым файловым менеджером вообще нереально. Первое - это возможность установки горячих клавиш на любое действие. Настраиваются хоткеи тут:

Я крайне рекомендую настроить горячие клавиши под все наиболее часто выполняемые вами операции. Поверьте, ничто так не ускоряет работу, как отказ от мышки - на клавиатуре всё делается в несколько раз быстрее. Могу также порекомендовать несколько клавиатурных сочетаний, ставших практически стандартными во многих приложениях:

Ctrl+Home=cm_GoToRoot - очень удобное сочетание для быстрого перехода в корневой каталог диска.
Alt+P=cm_DisplayConfig - когда быстро требуется изменить несколько опций, легче всего открыть диалог настройки этим хоткеем, взятым из броузера Opera. Дополнительно, эта же команда у меня подвешена и на сочетание Alt+O, т.к. я всё время путаюсь с хоткеями Winamp (там диалог настроек вызывается по этому сочетанию).
Ctrl+F9=cm_CopyNamesToClip
F9=cm_CopyFullNamesToClip
Ctrl+Shift+F9=cm_CopyNetNamesToClip - три очень полезные команды для копирования в буфер обмена имён и путей файлов под курсором. Удобно использовать для открытия файлов в других программах (скопировал имя в TC, вставил в диалог открытия в программе).
Ctrl+O=cm_ExecuteDOS - быстрый запуск консоли с текущими путями.
F1=cm_Maximize
Shift+F1=cm_Restore - две команды управления окном TC, теперь его можно сворачивать и разворачивать "в одно касание". В том, что мы переназначили стандартную клавишу F1 (вызов справки) нет ничего страшного. Как часто вы читаете справку, и как часто вам приходится разворачивать окно? К тому же, вызов справки по F1 будет работать внутри всех инструментов TC - переназначение произойдёт только для главного окна.
F2=cm_RenameOnly - шорткат, использующийся повсеместно - видимо, дурное наследие "Проводника" :) Но и в самом деле, переименование по F2 гораздо удобнее, чем стандартный шорткат Shift+F6. Обновление панели, по умолчанию выставленное на эту кнопку, используется гораздо реже, да и вызвать его можно другим хоткеем - Ctrl+R.
Ctrl+Alt+ENTER=cm_OpenAsUser - логичный хоткей для запуска программы от имени другого пользователя - чтобы не тянуться в меню.
Alt+A=cm_SetAttrib - не знаю, как у вас, а у меня изменение атрибутов файлов в TC вызывается довольно часто. Alt+A - удобное сочетание для этого.
Ctrl+/=cm_ShowQuickSearch - ещё один хоткей, перекочевавший из броузера Opera. Там, правда используется просто "/", но в TC такой хоткей лучше не использовать. А вообще - вызывать панель быстрого поиска по этому сочетанию очень удобно.

Безусловно, мои сочетания могут показаться вам даже неприятными. Это дело предпочтений и привычек; я привык к таким сочетаниям и жму их на полном автомате. Суть не в этом, а в том, чтобы и вы также научились пользоваться хоткеями и вешали на них самые частоиспользуемые команды. Чтобы облегчить запоминание, хоткеи для схожих функций можно "заимствовать" из других приложений, я, к примеру, подвесил Ctrl+Space на переход в самый частоиспользуемый каталог (так же, как это сделано в Opera для перехода на домашнюю страницу).

Вторая возможность, о которой я говорил чуть выше - это настройка шаблонов поиска и связанных с ними цветовых схем. С одной стороны, их использование незначительно замедляет работу (TC вынужден проверять, к какой группе относится каждый файл), с другой стороны - значительно ускоряет (найти подсвеченный файл в большом списке гораздо проще). Обычно, для демонстрации полезности этой фичи я привожу следующий пример:

Слева - панель с моей схемой подсветки. Справа - та же самая панель с подсветкой по умолчанию (т.е. без подсветки вообще). На какой панели вы быстрее найдетё индексный файл сайта?
Итак, в полезности фичи сомнений не возникает. Настроить её тоже не проблема - о том, как это сделать, можно прочесть в статье Ergo "Директории синего цвета. Работа с условиями поиска и масками файлов". А вот как и какие файлы раскрашивать - следует задуматься.
Могу предложить принцип раскраски, которым пользуюсь я сам. Его я вырабатывал не один год, зато меня он удовлетворяет полностью. Я сделал логическую разбивку форматов файлов по назначению - архивные, текстовые, исполняемые, мультимедийные - и т.д., всего получилось что-то около двадцати групп. Каждой группе был назначен свой цвет. Затем я провёл внутри каждой группы ещё одну разбивку, примерно так, как вы можете видеть на скриншоте:

При разбивке я руководствовался одному мне понятными принципами и логикой... и в результате получилась схема, удовлетворяющая мои потребности на 110% :). Не факт, что она подойдёт всем абсолютно, но несколько советов, из своего опыта, я всё же дам:

1. Помните, как мы долго выбирали имя для папки, в которую надо было устанавливать TC? Зато теперь можно сделать персональную подсветку этой папки:

2. Подсвечивать файлы можно не только по расширению, но и по времени. К примеру, у меня ярко-зелёным цветом подсвечиваются файлы, которые были изменены за последние пять минут. Сразу множество преимуществ: такая подсветка позволит, скажем, найти только что установленную программу в Program Files, а один раз это спасло меня от распространения вируса - я успел заметить, что слишком много бинарных файлов вдруг стало ярко-зелёными...
3. Для подсветки файлов можно использовать и возможности, предоставляемые контентными плагинами (к примеру - mp3 с разным битрейтом окрасить в разные оттенки), но я бы этой возможностью злоупотреблять не рекомендовал. Постоянное обращение к плагинам слишком замедлит работу TC, имхо - овчинка выделки не стоит.

Кстати, если кто-то вдруг захочет ознакомиться с моей схемой подсветки, взять её можно здесь.

Ну, с настройками, вроде бы окончательно разобрались. Вернее - разбираться и настраивать придётся вам самим, благо материал для изучения в RU.TCKB представлен значительный.
Могу ещё только посоветовать немного "твикнуть" тулбар, если вы им пользуетесь. На мониторах с разрешением меньше 17', иконки 24x24 занимают слишком много места. Выставьте размер 16x16 в настройках тулбара - этого вполне достаточно, а экономия места будет заметна сразу. Впрочем, как я сказал, это зависит и от размеров вашего монитора.

Заполняем пробелы.

Только после того, как Тотал установлен и настроен, следует заняться добавлением плагинов, утилит и прочего стаффа к нему. Как и ранее - однозначный ответ на то, что вам требуется, знаете только вы. Писать "ставьте вот этот плагин, а вот этот - не ставьте" - дело неблагодарное, думайте сами, что вам нужно. Но опять же - без моих советов и на этот раз вы не обойдётесь:

1. Для каждого типа приблуд, добавляемых к TC, создавайте папку в каталоге с Тоталом. Используете дополнительные наборы иконок - создайте папку ICONS, и храните их там. Устанавливаете какой-то софт - ну и сделайте папку SOFT, ну и т.д. Потом, когда будет прописывать всё это дело в конфигах, меньше проблем возникнет.
2. Даже не совет, а правило: плагины устанавливать по пути, имеющему следующий шаблон: %commander_path%\plugins\расширение_типа_плагина\имя_плагина\. То есть плагин wdx_translit, в нашем случае, следует устанавливать по пути d:\dshell\plugins\wdx\translit\. Соблюдение этого правила, во-первых, позволит воспользоваться всеми преимуществами автоустановщика плагинов, а во-вторых, позволит обойти некоторые возможные проблемы использования плагинов. Кстати, с автоустановщиком следует быть осторожнее - в некоторых случаях он неправильно определяет расположение плагинов, смотрите внимательнее, куда он пытается их вам копировать...
3. Используйте везде, где это возможно, переменную окружения %commander_path% - это поможет избежать привязки к конкретному месту установки. В настройках самого TC эту переменную можно использовать без ограничений, большинство плагинов и утилит для TC также корректно с ней работают. А вот программам, запускаемым из TC, передавать её в параметрах (или использовать в настройках) не следует, т.к. они о %commander_path%, скорее всего, ничего не знают.
4. Вдогонку к предыдущему совету: вообще возьмите себе за правило использовать переменные окружение везде, где это возможно. Сам TC понимает довольно много таких переменных (практически все их можно найти изучив раздел "Кнопки панели инструментов", хотя о других программах сказать ничего заранее нельзя - тут надо выяснять опытным путём.
5. Не забывайте о том, что на тулбарах можно создавать ссылки на другие тулбары. Это удобно не только тогда, когда множество кнопок попросту не умещается на одной панели - с помощью этой фишки можно рассортировать кнопки (часто используемые - на основную панель, редко используемые - на дополнительные), чтобы легче в них ориентироваться.

Мы строили-строили, и, наконец, настроили.

На этом инструктаж завершаю. "Как же так?" - спросите вы меня, ведь управились мы довольно быстро, а было обещано полтора месяца кропотливой настройки. "А вот так!" - отвечу я, потому что это я быстро управился со статьёй, а вы вряд ли настроили в TC хотя бы на 50%, и у вас всё впереди. Я описал лишь те правила и принципы, использование которых позволит избежать проблем в дальнейшем.
Посудите сами: теперь TC будет отлично работать после переустановки системы. Вы можете скопировать установленный TC на флешку или компакт-диск, и использовать его на чужом компьютере. Короче - сплошные плюсы.
Так что - изучать, и настраивать, настраивать и изучать, может и полтора месяца вам не хватит :)

Павел Дубровский
18.04.06


Total Commander: создание собственной инсталляции

Файловый менеджер Total Commander, ранее известный как Windows Commander, является, на мой взгляд, лучшим средством для работы с файлами (и далеко не только для этого!). Не менее известной среди многих продвинутых пользователей является программа FAR. Я не буду обсуждать здесь достоинства и недостатки обеих программ, поскольку эта тема уже неоднократно поднималась в различных дискуссиях среди их сторонников и противников. Лично я предпочитаю использовать Total Commander. Что же касается FAR, — один из последних плагинов для Total Commander даёт возможность подключать архиваторные модули от FAR, что позволяет теперь пользоваться его возможностями, не выходя из Total Commander.
Данная статья описывает то, каким образом можно создать свой собственный дистрибутив программы, содержащий все необходимые вам навороты, чтобы в будущем упростить себе жизнь в случае необходимости переустановки Total Commander.
Для выполнения данной операции вам потребуются, помимо прочего, архиватор WinRAR и любой архиватор, позволяющий создавать cab-архивы с вложенными папками внутри (например, PowerArchiver или Cabinet Manager. Входящий в состав Windows XP iexpress.exe тут, к сожалению, не подойдёт, поскольку он умеет запаковывать лишь содержимое одной папки и не видит подпапок).

Устанавливаем Total Commander

Последнюю версию этой замечательной программы можно всегда найти на сайте «производителя» — Кристиана Гислера из Швейцарии (http://www.ghisler.com). Установка программы «по умолчанию» уже позволяет воспользоваться большинством предложенных возможностей. Здесь надо отдать должное автору, создавшему своё произведение так, чтобы оно было максимально удобно в использовании.
Итак, для установки программы нужно всего лишь запустить исполнимый файл программы и ответить на простейшие вопросы в нескольких диалоговых окнах. Поскольку текущая цель установки программы — создать свою собственную инсталляцию, настроенную по своему вкусу, то в целях упрощения работы при начальной установке нужно задать расположение ini-файлов программы в папке самой программы (обычно это C:\wincmd\ или c:\totalcmd\). Все остальные настройки здесь — на ваш вкус. Лично я обычно никогда не включаю файлы других языков, кроме английского — хотя это и не требует много места, этими файлами я всё равно никогда не пользуюсь. Впрочем, здесь вы можете поступить так, как сами считаете нужным.
После установки программы вы можете настроить её по своему вкусу — например, добавить архиваторные плагины, создать цветовые настройки, добавить или удалить кнопки на панели инструментов, установить и настроить IrfanView, включить файлы поддержки русского языка — в общем, создать из программы свою собственную «рабочую среду». Для этого я рекомендую вам посетить сайт http://wincmd.ru — русскоязычный сайт по Total Commander, довольно часто обновляющийся и содержащий, кроме ссылок на саму программу, также множество аксессуаров — новейшие плагины, форум, советы и прочее. Этот сайт я настоятельно рекомендую вам добавить в «Избранное», а лучше — подписаться на рассылку этого сайта и всегда быть в курсе происходящего за счёт новостей. Если вам лень разбираться в том, что именно вам нужно, а что нет, вы можете посетить сайт http://totalcmd.nm.ru, где рассказывается, как установить Total Commander со всеми наворотами и без лишнего шума, а также можно скачать все плагины, все утилиты, все архиваторы и т.д. одним файлом. Главная цель для нас сейчас — создать для себя полностью настроенную и максимально удобную программу.
Я рекомендую вам установить IrfanView или другую программу, интегрируемую в качестве просмотрщика картинок в Total Commander непосредственно в папку программы, создав там для неё дополнительную подпапку (например, c:\wincmd\irfanview\). Впрочем, с версии 5.50 Total Commander прекрасно может обойтись без внешней программы просмотра графики - существует достаточное количество плагинов, делающих это, например Imagine или sgviewer. Суть в том, чтобы все программы, которыми вы пользуетесь только как наворотами к Total Commander, установить непосредственно в дерево папок Total Commander'а.

Готовим собственную инсталляцию

Теперь перейдём ко второму этапу — созданию собственной инсталляции программы, чтобы в будущем можно было устанавливать её «со всеми наворотами» одним кликом мыши.
Во-первых, откройте файл wincmd.ini, содержащий настройки программы, и внимательно отредактируйте его. Пути ко всем плагинам, работающим с Total Commander, можно сделать относительными — относительно исполнимого файла программы. То есть, к примеру, если плагины у меня лежат в папке c:\wincmd\plugins, а сама программа находится в c:\wincmd\, то я могу вместо полного пути плагина (c:\wincmd\plugins\...) писать относительный путь (plugins\...). Также, многие плагины и утилиты для TC поддерживают переменную окружения %COMMANDER_PATH%, появившуюся в версии 6.0. Это удобно, поскольку позволяет сохранить структуру конфигурации при установке программы по другому пути. Это относится к архиваторным плагинам (секция [packerplugins]), плагинам файловой системы (секция [FileSystemPlugins]) и плагинам встроенной программы просмотра (секция [ListerPlugins]). К сожалению, такой фокус не пройдёт с путём к программе IrfanView. Его придётся оставить абсолютным (проверка это не подтверждает - IrfanView прекрасно вызывается через %commander_path%). Ещё — если вы работаете под Windows NT/2K/XP, и среди каталогов «быстрого вызова» у вас есть папки, находящиеся в профиле пользователя (например, «Мои документы», «Temp» или «Рабочий стол»), то в секции [DirMenu] нужно заменить абсолютные пути переменными окружения (т.е., к примеру, вместо «C:\Documents and Settings\Alexey\My Documents» нужно написать «%UserProfile%\My Documents». Полный список всех установленных переменных окружения и соответствующие им значения вы можете узнать при помощи команды «set» без параметров, набранной в командной строке Windows. Кроме того, из файла можно удалить все ненужные строки, носящие временный характер (например, историю «путешествий» по папкам, историю командной строки, историю поисковых запросов и прочее). Суть всех этих изменений — максимально «оторвать» файл настроек Total Commander'a от физического расположения программы, оставив его при этом полностью работоспособным. Это позволит в будущем, при установке программы в другую папку, вносить минимум правки в файл настройки, или не трогать его совсем.
Во-вторых, откройте файл Tcuninst.wul, находящийся в папке с программой, и отредактируйте его. Этот файл содержит пути ко всем файлам, которые необходимо удалить при удалении программы. Заметьте, что все пути в этом файле являются относительными, либо выражены при помощи переменных окружения. Вам нужно дописать в этот файл по строчке для каждого нового файла, добавленного в папку Total Commander при установке «наворотов» в папку программы. Также, если вы желаете удалить какие-либо файлы вне папки Total Commander-а (к примеру, если вы создали ярлык на рабочем столе к программе TweakTC, и хотите удалить его при удалении TotalCommander-а), то нужно прописать пути к этим файлам, используя переменные окружения (в последнем примере это может быть «$desktop$\Тонкая настройка Total Commander.lnk» — обратите внимание на знаки $ вокруг слова desktop).
В-третьих, создайте где-нибудь временную папку для складывания дистрибутива — например, c:\temp\totcmd\cab. В эту папку скопируйте полностью содержимое папки программы. Затем удалите из этой папки файл справки (обычно totalcmd.hlp), файл с описанием клавиатурных сокращений (keyboard.txt) и файл register.wri. После чего создайте ещё одну папку, и распакуйте в неё исходный дистрибутив Total Commander. Для этого просто войдите в исполнимый файл дистрибутива, как в архив (нажмите на нём Ctrl+PageDown), затем выделите всё, что в нём содержится, и просто перенесите (распакуйте) в нужное место. Далее. В дистрибутиве войдите в архив Install.cab, и скопируйте из него папку Windows в нашу временную папку с нашим (не оригинальным) дистрибутивом.
Теперь вам нужно выделить всё содержимое подготовленной папки и сжать её в один cab-архив (для этого потребуется PowerArchiver или Cabinet Manager). Имя архива должно быть install.cab. Надеюсь, вы не забыли упаковать в архив также ключевой файл wincmd.key? :)
Затем подготовьте ещё одну папку, в которую поместите вышеупомянутые файлы totalcmd.hlp, keyboard.txt и register.wri. Будет весьма неплохо, если вы найдёте русские переводы этих файлов и скопируете именно их. Затем запакуйте все эти файлы в архив installr.cab.
Далее. Скопируйте только что созданные файлы install.cab и installr.cab в папку с распакованным оригинальным дистрибутивом программы (файл install.cab нужно будет записать поверх имеющегося).
Структура дистрибутива следующая: общее «мясо» программы лежит в файле install.cab, а то, что относится к конкретному языку — в файлах installe.cab (английский) и installd.cab (немецкий). Мы только что перезаписали основной архив, а также добавили архив с русскими ресурсами - installr.cab. Кстати, если вам не нужен файл с немецкими ресурсами - installd.cab, то его можно удалить. Теперь осталось заставить программу-инсталлятор увидеть то, что мы ей предлагаем! Открываем в блокноте файл install.inf и редактируем его. Я приведу ниже лишь изменённые секции, которые я сделал для своей инсталляции:

[Languages]
Count=2
Default=2
1=English
2=Русский (Russian),r

[LangName]
langdir=language
0=wcmd_eng
r=wcmd_rus

Немного ниже я удалил секцию [Installd] со всем её содержимым, и прописал вместо неё следующую секцию:

[Installr]
1=installr.cab,c
2=install.cab,c

(если вам нужны немецкие ресурсы, вы можете не удалять секцию installd, а просто дописать русскую секцию, или не прописывать ничего)
Далее. Изменения в секции DeskTop. Здесь вы можете прописать дополнительные иконки. Например, иконку для TweakTC:

[Desktop]
...
2=tweak\tweaktc.exe","Тонкая настройка Total Commander.lnk"

Наконец, в секции [ini] добавляем русскую секцию:

[inir]
1=wincmd.ini,configuration,languageini,wcmd_rus.lng
2=wincmd.ini,configuration,Mainmenu,wcmd_rus.mnu

Также, если нужно, удаляем все остальные секции, кроме [ini]. Не забудьте сохранить изменения в отредактированном файле.

Последние штрихи...

Созданный дистрибутив Total Commander уже полностью работоспособен. Вы можете сами убедиться в этом, запустив файл install.exe. Однако для полного счастья вы можете запаковать полученный дистрибутив WinRar-ом так, чтобы получился самораспаковывающийся архив — чтобы при запуске он «молча» распаковывался во временную папку и запускал там файл install.exe. Ещё можно назначить этому архиву оригинальную иконку от Total Commander (её можно вытащить любым редактором ресурсов).
Что в итоге получилось? Установив программу, мы получаем полностью работоспособный, русифицированный, и максимально навороченный Total Commander со всеми приладами! Ну разве не прелесть?!

Alexey N. Vinogradov


Автоматическое открытие сменных носителей в TC

Как сделать, чтобы сменные носители такие как CD/DVD- и Flash-диски открывались автоматически в Total Commander, а не в Проводнике?

Сделать это очень просто. Для этого нам потребуется выполнить действия, описанные ниже.

Сначала зарегистрируем новый тип файла (я назвал его "FolderTC"). Делается это простым клонированием стандартного типа "Folder". Мы заменим в его описании только имя файла обработчика действия "open", и вместо пути к Windows Explorer пропишем путь к Total Commander. Ключи - на свой вкус.

Для выполнения вышеописанной операции копируем следующий текст в reg-файл и выполняем его:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC]
@="Папка"
"EditFlags"=hex:d2,03,00,00
"TileInfo"="prop:Size"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\DefaultIcon]
@="%SystemRoot%\\System32\\shell32.dll,3"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore]
"BrowserFlags"=dword:00000022
"ExplorerFlags"=dword:00000021

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore\command]
@="%SystemRoot%\\Explorer.exe /e,/idlist,%I,%L"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore\ddeexec]
@="[ExploreFolder(\"%l\", %I, %S)]"
"NoActivateHandler"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore\ddeexec\application]
@="Folders"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore\ddeexec\ifexec]
@="[]"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore\ddeexec\topic]
@="AppProperties"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\open]
"BrowserFlags"=dword:00000010
"ExplorerFlags"=dword:00000012

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\open\command]
@="\"c:\\dshell\\totalcmd.exe\" /O /T /R=\"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ColumnHandlers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ColumnHandlers\{0D2E74C4-3C34-11d2-A27E-00C04FC30871}]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ColumnHandlers\{24F14F01-7B1C-11d1-838f-0000F80461CF}]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ColumnHandlers\{24F14F02-7B1C-11d1-838f-0000F80461CF}]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ColumnHandlers\{66742402-F9B9-11D1-A202-0000F81FEDEE}]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ContextMenuHandlers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\DragDropHandlers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\DragDropHandlers\{BD472F60-27FA-11cf-B8B4-444553540000}]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\PropertySheetHandlers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.FolderTC]
@="Snapins.FolderSnapin"

Обратите внимание: красным выделена строка, в которой указан путь к Total Commander и параметры открытия диска, заданные ключами TC. Путь, само собой, нужно вписать правильный, с ключами разобраться можно, прочтя справку TC. В данном случае (/O /T /R=\"%1\") диск будет открываться в уже запущенной копии TC, на новой вкладке в правой панели.

Зарегистрируем обработчик автозапуска OpenTC и назначим его выполнение на вставку диска. Тут нужно указать путь к иконке, которая будет отображаться в окне автозапуска, текст, который будет показан там же, а также действия, которые необходимо выполнить. Красным выделена строка, указывающая на файл с иконкой (путь и номер иконки в файле). Можно указывать исполняемые файлы, библиотеки и отдельные иконки.

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\OpenTC]
"Action"="Открыть для просмотра файлов"
"InvokeProgID"="FolderTC"
"InvokeVerb"="open"
"Provider"="Total Commander"
"DefaultIcon"="C:\\dshell\\totalcmd.exe,-0"

Теперь привязываем обработчик к событиям вставки накопителя. Это делается с помощью reg-файла, приведённого ниже.
Отмечу, что обработчик добавляется не ко всем типам накопителей, а только к наиболее популярным, остальное можно поправить в реестре вручную, если вам это нужно.

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\AutorunINFLegacyArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\GenericVolumeArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\HandleCDBurningOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\IomegaHipZipArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\MixedContentOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayCDAudioOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayDVDMovieOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayMusicFilesOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayVideoFilesOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\ShowPicturesOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\VideoCameraArrival]
"OpenTC"=""

Всё! Подключаем флешки, вставляем диски и радуемся жизни:

GeNtlE
постобработка by Павел Дубровский


Как привести TC 7.0 к виду TC 6.5?

В семёрке оказалось довольно много изменений, как касающихся вида TC, так и его поведения. Многим нововведения понравились, но кому-то привычнее старый вид TC и его же старое поведение в некоторых ситуациях.
Ниже приведены настройки (с описаниями), позволяющие привести TC 7.0 к виду, аналогичному TC 6.5.

[Configuration]

OldDriveIcons=1
Описание: TC 7.0 использует новые значки дисков. Включение этой опции позволяет использовать старые значки.

IconsInMenus=0
Описание: TC 7.0 позволяет включать отображение иконок для пунктов меню. Этот ключ указывает, какой вид должны иметь эти иконки (подробнее см. справку), значение 0 позволяет отключить эту возможность.

NewStyleProgress=0
Описание: для поддержки стилей оформления XP/Vista TC 7.0 включает новый вид всех индикаторов прогресса. Опция автоматически устанавливается в 1, если TC ставится из под этих операционных систем, под предыдущими версиями она будет отключена. Соответственно, чтобы отключить новые диалоги, выставьте значение ключа в 0. Также можно попробовать выставить значение 2 (использовать индикатор, похожий на прежний, но также поддерживающий стили XP).

WantXPLook=0
Описание: ключ включает поддержку стилей XP для всех кнопок TC, кроме кнопок панели инструментов (ключ появился в TC 6.55).

QuickSearchMatchBeginning=1
Описание: TC 7.0 позволяет задавать опции быстрого поиска. При включении данной опции поиск будет вести себя так же, как в предыдущих версиях, при отключении - искомое выражение будет искаться не с начала имени файла, а в любом его месте (т.е. не как выражение а как *выражение).

TabSwitchMode=1
Описание: TC 7.0 имеет два режима преключения между вкладками. При включённой опции вкладки будут переключаться сразу после нажатия Ctrl+Tab (как раньше), при отключённой - только после того, как будет отпущена клавиша Ctrl. Последний режим удобен в тех случаях, когда на одной из закладок открыт медленный сетевой диск или дискета.

EditWaitTime=-1
Описание: время ожидания в секундах после открытия файла в архиве, чтобы убедиться, что он действительно был открыт. 0 = функция отключена, -1 = также отключена, когда Windows не возвращает дескриптор запущенного процесса (как в TC 6.55).

[Layout]

XPthemeBg=0
Описание: отключение использования тем XP для фона меню, панели инструментов и панели дисков.

[Buttonbar]

XPstyle=0
Описание: отключение поддержки тем XP для панели инструментов.

Как уже сказано выше, TC 7.0 использует новые иконки. Старые иконки больше не поставляются, однако их можно найти в интернете, и подключить так, как об этом рассказано здесь.

Павел Дубровский


Контроллеры OTi vs. Total Commander

Примерно год назад появились первые флэшдрайвы с интерфейсом USB 2.0, через некоторое время их доля в общем объеме подобной продукции стала значительной, ну а сегодня уже можно утверждать, что процесс переориентации производителей полностью закончился. Выпускать устаревшие модели с интерфейсом USB 1.1 просто невыгодно. Некоторое время процесс сдерживался невысокими характеристиками контроллеров, которые, в частности, на операциях записи не были способны обогнать многие из старых моделей. Однако появление новых контроллеров от Prolific, Phison и, в особенности, OTi быстро расставило все на свои места.

Последние контроллеры появились совсем недавно, однако быстро успели завоевать популярность благодаря очень высокой скорости работы и удобному ПО, наделяющему накопитель дополнительными возможностями, такими, как парольная защита или загрузка компьютера. Тесты подтвердили высокие эксплуатационные характеристики накопителей на OTi, цены на различные флэшдрайвы отличаются не сильно (больше зависят от емкости и нанесенной на корпус торговой марки, нежели от контроллера), так что ничего удивительного, что покупали такие модели весьма охотно. И вот тут-то многие начали сталкиваться с проблемами.

Нет, никаких подводных камней в самих контроллерах нет — все действительно работает так, как обещано. Вполне комфортно себя чувствовали и пользователи, использующие для копирования файлов стандартный Windows Explorer и некоторые файловые менеджеры, почти не пострадали обладатели FAR версии 1.70b5. А вот любителям Total Commander, коих немало, или пользователям старых версий FAR, коих тоже достаточно, поскольку последняя версия уже больше года никак не выйдет из бета-состояния, а подобное многие устанавливать на компьютер боятся, пришлось несладко.

Что же случилось? Возьмем один из накопителей на базе OTi, а именно x-Drive USB Bar, который мы недавно тестировали, и попробуем записать на него какой-нибудь большой файл при помощи Total Commander 32 6.01 от 3 декабря закончившегося недавно года (т.е. версия более чем свежая).

Несколько неожиданный результат, если не сказать сильнее. Накопитель, согласно низкоуровневым тестам, обеспечивает скорость записи более шести мегабайт в секунду, файл мы пишем один и размером 57 мегабайт (да и даже на большом количестве мелких файлов катастрофического падения скорости быть не должно, поскольку накопитель обеспечивает среднее время доступа в районе 0.5 мс) — все должно быть быстро и хорошо, а процесс обязан завершиться за несколько секунд (около 10, но могут быть и небольшие накладные расходы), но никак не за две минуты. Куда девалась скорость?

Вопрос крайне интересный. Опробовав несколько способов записи, можно прийти к выводу, что ошибка кроется где-то в недрах Total Commander, а совсем не во флэшке или ее драйверах: ведь последняя версия FAR или «Проводник» работают нормально, не опровергая результатов низкоуровневых тестов. Однако многим такой вариант развития событий и в голову-то не приходил: много лет пользовались TC, он полностью удовлетворял их потребностям, становясь от версии к версии все лучше и лучше, а флэшку-то в первый раз такую увидели :) Опять же: читается все с той скоростью, как и положено, а подобный дисбаланс скорости чтения и записи уже встречался при использовании контроллеров от Prolific, так что можно заподозрить и OTi в таком же поведении. Что ж — фанатов ТС спешу успокоить: виновата программа, однако виновность у нее не врожденная, а, скажем так, результат «плохого воспитания», под которым можно понимать процесс настройки после установки на компьютер. Вот многие ли настраивают хоть что-то, кроме внешнего вида? А зря. В качестве доказательства — пишем тот же файл на тот же накопитель той же программой, но после затраты секунд 10 времени на изменение пары параметров по умолчанию.

Совсем другой результат, не так ли? :) Скорость копирования резко выросла аж в 15 раз и начала соответствовать результатам тестовых программ. А в чем была проблема-то?

Дело в том, что стандартные функции операционной системы не во всех случаях справляются с работой наилучшим образом с точки зрения производительности. Основная их задача — работать всегда и везде. Именно поэтому во всех мало-мальски приличных файловых менеджерах для копирования используются свои, часто достаточно хитрые, алгоритмы. Нередко они позволяют в одинаковых условиях добиться более высокой производительности — часто выигрыш достигает 10% и более. Согласитесь — возможность получить такой прирост на одном и том же оборудовании стоит того, чтобы поломать голову над усовершенствованием «дубоватых» подходов ОС. Однако, как это часто бывает, более сложный и умный вариант может попасть и впросак, если ему придется работать с чем-то, чего программист не учел. Протестировать же собственные функции копирования на всех возможных накопителях программист не может. Производитель же контроллеров тем более не обязан выискивать все файловые менеджеры для того, чтобы убедиться в том, что примененные им на аппаратном уровне ухищрения будут нормально сочетаться с методами, примененными работающим над, по сути, той же задачей программистом. Со стандартным программным обеспечением, естественно, все проверяется, а с альтернативным — извините.

Впрочем, о возможных проблемах своих супер-пупер алгоритмов программисты прекрасно знают (а кто не знает, тот просто еще не дошел до стадии, на которой можно написать путный файл-менеджер :)), так что всегда предусматривают возможность использовать вместо элегантных средств копирования собственной разработки дубовые, но надежные алгоритмы операционной системы. Но, по умолчанию, это выключено. Почему? А потому, что, как я уже сказал, в противном случае процентов этак 90 пользователей вряд ли бы узнали, что данная программа способна после настройки увеличить скорость файловых операций. В результате, потенциал программы остался бы нераскрытым, и покупать ее не стали бы.

Теперь, думаю, вам понятно, как была получена столь впечатляющая разница между первым и вторым скриншотами. Просто отправляемся в настройки и включаем режим совместимости.

Можно для одного диска (букву, под которой в системе появляется ваш накопитель, вы узнать можете легко, просто подключив его), можно для всех. Последнее делать не рекомендуется, поскольку в случае других дисков вы можете получить и потери производительности. Удобно, что эту настройку можно менять «на лету»: ничего не подключая и не отключая, и даже не перезапуская Total Commander.

Аналогично лечится проблема и в случае старых версий FAR, но там все несколько менее удобно: стандартную функцию копирования можно включить только для всех дисков. Впрочем, у пользователей этой программы всегда есть еще один выход — перейти на 1.70b5, где и проблема эта существенно ослаблена (6 Мбайт/с пользуясь встроенной, а не системной функцией копирования, получить не удастся — выйдет где-то 3-4 Мбайт/с, что все равно в три-четыре раза больше, чем в старых версиях и на порядок больше, чем в Total Commander), и новых возможностей масса. А работает она, как я уже убедился, превосходно, несмотря на то, что бета.

Про другие файл-менеджеры не скажу, поскольку ими не пользуюсь, но ход действий, надеюсь, понятен. Вообще, во всех случаях, когда софт начинает вести себя странно (или вы предполагаете, что он может себя так вести), всегда следует попробовать выполнить ту же операцию средствами операционной системы (когда это возможно) — очень может быть, что проблема не с оборудованием, а с самой программой. Тем более стоит задуматься в том случае, когда вы заведомо знаете, что результаты работы разных программ противоречат друг другу.

К сожалению, этим правилом пренебрегают не только «простые» пользователи. Вот недавно впросак попали наши коллеги из Ferra.ru, воспользовавшиеся при тестировании флэшдрайвов старой версией FAR. Мало того, что примерно половину статьи можно просто выкидывать, поскольку она не соответствует действительности, так еще и выводы сделали как раз на базе этой части. Кстати, кто-то еще будет продолжать утверждать, что использование «реальных приложений» более правильно, чем тестирование на синтетике? ;)

Такие вот результаты. Вообще обычно я не пишу статей по таким поводам (да и таких маленьких статей — обычно тоже :)), поскольку проблемы программного обеспечения (за исключением, разве что, драйверов и тестовых программ) не совсем наша специфика. Однако, в данном случае все слишком уж связано с основной темой, да и наступивших на эти грабли, судя по конференции, достаточно много (а сколько еще людей просто не задумывалось о том, что все работает на порядок медленнее, чем должно, приняв это как должное?). Да и очень уж показательный пример — как недостатки программных алгоритмов способны на корню зарубить все усовершенствования аппаратной части. Виноваты в этом авторы специализированных алгоритмов лишь отчасти — все-таки в большинстве случаев их разработки быстрее стандартных. Проблема глубже — где тонко, там и рвется. Современные компьютеры стали слишком уж сложными агрегатами, чем-то напоминающими карточный домик, способный если и не обрушится, то существенно перекоситься от малейшего изменения положения даже самой мелкой его составляющей.

Андрей Кожемяко aka Korzh (korzh@ixbt.com)
27.01.04

Оригинал статьи: http://www.ixbt.com/storage/flashdrives-p10-tcerror.shtml

От составителя: в последних версиях TC можно включить автоматическое применение режима совместимости для USB-дисков, что избавит вас от требования менять настройки каждый раз вручную.


Подключаем свои иконки

Многим поначалу не нравится стандартное оформление TC. Не потому, что оно какое-то "не такое" или страшное, а потому, что кажется - ничего тут не изменишь, и будет мой Тотал таким же, как у соседа Пети, скинок-то TC не держит...
Обрадую: не всё так грустно и невкусно. TC позволяет делать небольшие изменения в своём интерфейсе, конкретно - заменять иконки на файловых панелях. Как это сделать, я сейчас и расскажу.

Сначала скачиваем подходящие наборы, найти их можно на wincmd.ru в соответствующем разделе. Энтузиасты могут составлять свои наборы, позже опишу как.
Скачали библиотеку, если она в архиве - разархивировали. Библиотека - это icl-файл, посмотреть его можно практически любым редактором иконок, или плагином iclview для Тотала.

Плагин iclview для TC позволяет просматривать и даже редактировать библиотеки иконок

Копируем понравившуюся библиотеку в удобное место. Для меня это удобное место - подпапка ICONS в папке Total Commander.
Теперь открываем файл настройки wincmd.ini и ищем в секции [configuration] строчку IconLib= (если такой строки нет, создайте её).

Редактирование wincmd.ini

Как вы уже догадались, значением этого параметра нужно указать путь к библиотеке иконок. Обратите внимание, как у меня прописан путь до библиотеки: я использую переменную %commander_path%, которая всегда указывает на текущую папку Total Commander. Это удобно при переносе TC на сменном носителе и использовании на чужом компьютере.

Всё, перегружаем TC и смотрим:

Изменение значков TC

Если вам не нравится, что иконки имеют размер 16x16, вы можете выставить свой размер в настройках TC:

Меняем размер иконок

По умолчанию имеются только размеры 16x16 и 32x32, но можно прописать вручную, скажем, 24x24 - и это будет работать.

Ещё одна возможность немного улучшить внешний вид TC - это изменение вида кнопок дисков. Алгоритм тут тот же самый, разве что библиотеки для кнопок хранятся не в icl-файле, а в dll. Находим нужный (с просмотром зашитых в библиотеку значков будет хуже, тут нужен какой-нибудь редактор ресурсов, например плагин ResourceExtractor), копируем и прописываем путь к нему в параметре DriveLib=

Опять редактируем wincmd.ini

Снова перезапускаем TC и смотрим:

Было...

...стало

Если делать вручную подобные операции лень, можно воспользоваться твикером TweakTC:

Здесь всё довольно тривиально, и, думаю, пояснения не требуется.

В самом начале я обещал рассказать, как сделать собственную библиотеку иконок. Что ж, это довольно просто: берём любой нормальный редактор иконок, открываем любую библиотеку и просто правим иконки (а потом прописываем в ридмиху свои копирайты и громко перед всеми хвастаемся :).

Конечно, возможность смены иконок для панелей и кнопок дисков - не ахти что... Но подумайте: TC это рабочий инструмент, где на первом месте - функциональность и удобство, а красота - на одном из последних. Иконки на панелях и на кнопках дисков подходят для инструмента - они позволяют быстрее визуально идентифицировать объект. А вот требуемые многими скины для TC будут бесполезны, так что - даже не надейтесь :)

Павел Дубровский
07.02.06


Подпанели Total Commander

Утверждение первое. Наш глаз (и, следовательно, мозг) намного быстрее усваивает графическую информацию, нежели текстовую.
Утверждение второе. Мы привыкли к многоуровневым меню. Сейчас в мало-мальски сложной программе меню имеет минимум два уровня, организованных, разумеется, по иерархическому принципу.
Создатель Total Commander полностью согласен с первым утверждением. Иначе невозможно объяснить тот факт, что, помимо традиционного, текстового, меню, он снабдил свое детище панелью инструментов (button bar). Однако, к большому сожалению любителей панелей, второе утверждение (при учете первого) не находит в душе Кристиана Гислера своего отклика. Многоуровневое меню - пожалуйста, а вот многоуровневая панель - извините.
Для начала очень коротко рассмотрим вопрос о том, как переключаться между панелями, которые располагаются на привычном месте - под строкой меню. В диалоге "Configuration\Change Button Bar..." нажимаем кнопку ">>":

и выбираем файл *.bar, соответствующий нужной панели.

Знаете, что мне это напоминает? Меню приснопамятного Лексикона. Как, вы не знаете, что это? Искренне вам завидую! Это хит середины 80-х, первый русифицированный текстовый редактор, который, видимо, победил на конкурсе самых бездарных, неудобных и вредительских программ. Так вот, там как раз меню не было иерархическим! Вы верите? И я бы не поверил, если бы не имел несчастье учить сотрудниц предпенсионного возраста в этом Лексиконе работать. Простите, отвлекся...
Так или иначе, взаимный вызов панелей Total Commander организован по этому же, весьма неудобному, принципу. Превосходство Total Commander над Лексиконом состоит в том, что панели можно настраивать, в частности - с любой вызвать любую. Создать кнопку для вызова панели можно, нажав одну из кнопок, показанных на скриншоте:

Преимущества кнопки "Add Subbar" (синим) в том, что будет предложена маска *.bar, а вот кнопка, обведенная красным, строго говоря, предназначена совсем для другого, но все равно поможет достичь поставленной цели.
Итак, если кнопок становится слишком много, и они перестают помещаться но одной панели, мы неизбежно создаем вторую, потом третью... Разумеется, можно позволять кнопкам плодиться как кроликам, но тогда под файловые панели, то есть то, ради чего Total Commander и создавался, остается все меньше и меньше места (кстати, мне не удалось показать больше двух рядов кнопок, а вам удастся?).
В чем же неудобство? Допустим, у нас есть 6 панелей. Чтобы попасть с любой на любую, каждая из них должна иметь кнопки вызова всех остальных, то есть 5 кнопок. Легко понять, что если максимальное количество кнопок на каждой панели, исходя из размера кнопки и разрешения экрана, равно n, то максимальное количество взаимовызывающих панелей равно n - 1. Далее, нетрудно определить, что если k (k < n) - число панелей, то максимальное число всех остальных кнопок (для перехода к директориям, вызова приложений, загрузки документов и пр.) равно (n - k + 1)*k. Подставьте в эту формулу значения, соответствующие вашему компьютеру, и вы увидите, насколько это мало.
Что же делать?! Создавать многоуровневые панели инструментов, вот что. А для этого светлые умы придумывают утилиты, призванные обеспечить меню кнопок, "вываливающееся" (drop down) при нажатии кнопки на панели. Мы рассмотрим два способа организовать подпанели.
Первый способ обеспечивают специально написанные программы: TCmenu и TCToolbar. Судя по readme, созданы они одним и тем же коллективом (по косвенным данным, состоящим из одного-единственного члена), названным MGP Software Ltd.
Панель инструментов, которую вызывает утилита TCmenu, ничем не отличается от обычной панели Total Commander, за двумя исключениями. Во-первых, как это описано в документации, вызываемой панели можно передать параметры (%P, %L, и т. д.). И вот здесь нас, возможно, поджидает засада. В качестве примера я рассмотрю панель второго уровня (Irfan.BAR), которая обеспечивает работу со смотрелкой IrfanView:

Из указанных кнопок лишь первая нуждается в списке файлов, ее параметр /slideshow=%L /closeslideshow, некоторые из остальных кнопок требуют параметров %P и %N.
Представим для начала, что кнопка "Slideshow Selected files" расположена на обычной панели (панели первого уровня). Пусть в момент нажатия кнопки позиция курсора и состояние выделения имеют следующий вид:

· Выделена группа: запуск слайдшоу всех файлов в группе;
· Ничего не выделено, курсор на файле: показ текущего файла;
· Ничего не выделено, курсор на "входе в директорию" (на ".."): запуск IrfanView с пустым окном.

Теперь рассмотрим, что же произойдет, если та же кнопка расположена на подпанели, то есть панели второго уровня, вызываемой с помощью TCmenu. В первых двух случаях реакция та же самая, а вот третий случай придется рассмотреть подробнее.
Согласно документации к TCmenu, в ее вызове перечисляются все параметры Total Commander, необходимые кнопкам на подпанели. В нашем случае TCmenu вызывается с параметром

d:\Utils\TotalCmd\Irfan.BAR -P %P -N %N -L %L

Утилита TCmenu не передает пустой параметр, а ведь именно это произойдет, если, при отсутствии выделения, курсор установлен на "..". Так что в третьем случае будет выдано сообщение об ошибке:

С одной стороны, то есть с точки зрения кнопки "Slideshow Selected files", это логично - как запустить просмотр, если не указан ни файл, ни их группа? С другой стороны, для просмотра, скажем, всех файлов *.gif в текущей директории мы имеем право установить курсор куда угодно, в том числе и на "..". Эта логика соблюдается в случае панели первого уровня и нарушается - второго.
Фигурально говоря, если уподобить кнопки отдельным квартирам в доме (на панели первого уровня), то подпанель представляет собой квартиру коммунальную, а кнопки на ней - комнаты в коммуналке. Жильцам отдельной квартиры нет большого дела до соседей, то есть параметры одной кнопки никак не связаны с параметрами другой. В коммуналке все сложнее: кнопка "Show *.GIF only" обязана считаться с запросами соседа - кнопки "Slideshow Selected files". Строка параметров утилиты TCmenu, показанная выше - что-то вроде "мест общего пользования" коммунальной квартиры, где должны учитываться интересы всех жильцов.
Итак, первое отличие между панелями первого и второго уровня состоит в том, что последние более требовательны к положению курсора. Второе отличие - на кнопку второго уровня нельзя ничего перетащить (drag-n-drop). В самом деле, при смене фокуса ввода панель второго уровня пропадает.
Из этого, в частности, следуют трудности работы с командами, требующими параметра. Рассмотрим этот вопрос. Как, например, загрузить файл в Lister, не нажимая клавишу F3 ни на клавиатуре, ни в строке функциональных кнопок? Для панели первого уровня есть два способа. Первый - создать кнопку с командой cm_List и параметром %P%N. С рассмотренными утилитами такой трюк не пройдет, и авторы об этом честно предупреждают. Второй способ - перетащить нужный файл на ту же кнопку. Как уже указывалось, перетащить на подпанель ничего не удастся.
С Lister'ом все решается легко - путем его установки как отдельного приложения. Куда более печальной оказывается невозможность использования на подпанели команд opentabs и appendtabs - эти команды требуют параметра (файл с сохраненными вкладками) по определению. Впрочем, с помощью скрипта удается решить и эту проблему.
Итак, со вторым уровнем все понятно. А как насчет третьего и более низких уровней? Можно ли на панели, вызываемой с помощью TCmenu, вновь вызвать TCmenu с еще одной панелью в качестве параметра? Можно. Для этого на панели второго уровня в поле "Command" указываем не исполняемый файл, как обычно, а панель *.bar. Если этим и ограничиться, при нажатии на данную кнопку произойдет смена подпанели. А вот если в поле "Parameters" указать слово menu, то данная кнопка на панели второго уровня откроет третий уровень - панель, чье имя указано в поле "Command".
По сравнению с TCmenu утилита TCToolbar имеет несколько дополнительных свойств, но чисто косметического характера. Для краткости приведем скриншоты той же панели при различных настройках:

Как видим, принципиальные отличия TCmenu от TCToolbar состоят, во-первых, в том, что первая "вываливает" кнопки по вертикали, вторая - по горизонтали, что отражается в названиях утилит. Лично мне удобнее вертикальная ориентация.
Второе отличие - TCToolbar выдает текстовую строку только в виде balloon tip. Это красиво, но не всегда удобно, поскольку иконки зачастую недостаточно информативны. TCmenu предоставляет как текстовое, так и графическое представление кнопки; куда хочешь - туда и смотри. По этим двум причинам я и предпочитаю TCmenu.

Второй инструмент организации многоуровневой структуры панели инструментов - PowerPro. Пусть она, в отличие от TCmenu и TCToolbar, не предназначена специально для Total Commander, но ее мощь достаточна, чтобы приспособить ее практически к чему угодно.
Вот как это может выглядеть:

Как видно, ориентация вертикальная, положение курсора произвольное, текст и иконки к вашим услугам, количество уровней не ограничено, возврат на уровень выше вопросов не вызывает. На представленном скриншоте каждая кнопка загружает на редактирование как раз-таки разные панели. Для этого вызывается скрипт LoadBar с параметром в виде полного пути к соответствующему файлу *.bar. С тем же успехом можно запускать приложения, переходить к директориям, исполнять внутренние команды Total Commander и т. д., то есть делать все, что позволяет обычная панель (кроме drag-n-drop).
Вызвать панель PowerPro можно не только крысой, но и клавиатурой, да и "&" позволяет подчеркивать символ в названии пункта и потом быстро переходить к нему клавишей. По части всяческих красивостей PowerPro удовлетворит самому взыскательному вкусу: настраиваются шрифт, цвет шрифта и фона (на фон легко даже повесить портрет любимой девушки), и много чего еще.
Помимо косметики, можно существенно расширить функциональность такой подпанели. Например, в PowerPro существует возможность показывать/скрывать произвольные кнопки и подпанели в зависимости от любого условия. Скажем, одну группу кнопок/подпанелей можно скрывать, если окно Microsoft Word минимизировано, другую - если играется последний трек музыкального CD, третью - по понедельникам. Для более сложных условий пишем скрипт, возвращающий истину или ложь.
Передача параметров типа %P также возможна, хотя и реализуется сложнее, чем обычно - либо через буфер обмена, либо через глобальные переменные.
Завершая рассказ о PowerPro, замечу, что меню типа ShowFile, показанное выше - лишь один из видов меню, которые позволяет создавать PowerPro. Существуют, в частности, панели (bars), к которым можно даже составлять свои скины или использовать готовые, и исполнять разные команды не только левой, но и правой и даже средней кнопками крысы. Кроме того, панели PowerPro поддерживают drag-n-drop.

Разумеется, тремя описанными утилитами список средств создания подпанелей не исчерпывается. Упомяну еще о kkMenu, но писать про нее не буду - по быстродействию она на порядок уступает всем рассмотренным. К тому же, решительно никаких преимуществ kkMenu перед PowerPro я не обнаружил.

Закончить хочется пожеланием к Кристиану Гислеру все же реализовать в Total Commander встроенную поддержку многоуровневых панелей.

Вахмурка

Оригинал статьи: http://pprotcmd.narod.ru/Articles.html#Subbar


Пользуемся панелью инструментов

Странно, но при начальной установке Total Commander панель инструментов представляет собой, честно говоря, жалкое зрелище. И никто не желает изменять это к лучшему. А ведь это не просто обыкновенная панель кнопок как у Проводника.

Сегодня я хочу дать несколько советов по работе с панелью инструментов. Уверен, что многие из вас узнают много интересного. И даже те, кто считают себя асами в использовании Total Commander - дочитайте эту статью до конца. Уверен, вы узнаете что-то новое.

Для начала научимся создавать новые кнопки. (Это для полноты обзора использования панели инструментов) Сделать это можно несколькими способами.

Способ первый. На свободном пространстве панели инструментов щелкните правой кнопкой мыши - откроется новое окно, в котором необходимо задать все параметры для новой кнопки.

Способ второй. Выберите программу, файл или папку и перетащите ее на свободное место на панели инструментов.

Способ третий. Выберите программу, файл или папку и перетащите ее на любое место на панели инструментов, но удерживая клавишу Shift. На мой взгляд, это оптимальный способ, так как сразу можно задать расположение будущей кнопки. А уже затем отредактировать ее параметры при необходимости.

Попробуйте создать на панели инструментов кнопку для вашего любимого проигрывателя, к примеру - WinAmp-а. "Зачем это нужно?", спросите вы, если можно запускать WinAmp и из панели быстрого запуска Windows и из меню Пуск. А затем, что теперь, после перетаскивания любой папки на кнопку WinAmp-a, будет открываться Winamp и проигрывать все файлы из этой папки. Это несколько быстрее, чем вызывать контекстное меню папки и выбирать "Play in WinAmp".

Если предварительно создать на панели инструментов кнопку для AVP (думаю, сработает и с другими антивирусными программами), а затем перетащить папку на эту кнопку, то запуститься сканирование этой папки на вирусы.

Недавно открыл еще одну интересную особенность. Если предварительно на панели инструментов создать кнопку для любой папки (к примеру "Мои документы"), а затем перетащить любой файл или папку на эту кнопку, то они будут скопированы в Мои документы. Если предварительно выделить несколько файлов и папок и потом всех перетащить на кнопку Мои документы, то будут скопированы все выделенные файлы и папки. Согласитесь - это удобнее, чем вызывать контекстное меню, затем Send To -> Мои документы.

Обращаю ваше внимание на то, что можно сделать кнопку и для внутренних команд Total Commander. Так вы можете создать кнопку на панели инструментов для просмотра в Lister-е (cm_Lister) и затем вызывать просмотр в Lister-е простым перетаскиванием файлов на кнопку Lister-а. Так же можно создать кнопки для функций удаления, копирования, перемещения, синхронизации и т.д.

Панель инструментов в Total Commander идеальна для вебмастера. С помощью нее можно легко просмотреть нужный html документ в любом браузере, перетащив его на соответствующие кнопки браузеров. Быстро открыть jpg или gif файл в Photoshop-e, ImageReady или любой другой графической программе.

В общем, экспериментируйте, и, возможно, вы найдете новые интересные приемы использования Панели инструментов, о чем можете сообщить мне.

Андрей Пясецкий


Своё меню: разбираемся за десять минут

Кому-то может не нравиться стандартное меню Total Commander. Во-первых, оно английское, а во-вторых - оно не такое уж и функциональное. Проблемы эти, в принципе, решаются установкой пакета русификации от Константина Власова и Вадима Казакова, но ведь может быть и так, что вам не нравится ни одно из существующих меню, и вы хотите создать своё собственное. Этому я вас сейчас и научу.

Достаём чистый лист :)

Начнём писать своё меню "с чистого листа". Можно, конечно, отредактировать и чужое меню, но для того, чтобы его редактировать, сначала надо разобраться как это сделать. А в самом начале надо разобраться (если не знаете), где меню хранятся, и как их устанавливать.
Это совсем просто. Меню хранятся в файлах *.MNU (WCMD_ENG.MNU, WCMD_RUS.MNU), обычно находящихся в папке %commander_path%/LANGUAGE, и установить их можно в языковых настройках Total Commander.

Выбираем файл меню.

С этим разобрались. Теперь попробуем создать меню, содержащее всего один пункт "Выход".
Для этого создаём пустой файл с расширением MNU (пусть это будет MY.MNU) и открываем его любым текстовым редактором. Записываем в файл строчку

MENUITEM "Выход", cm_Exit

Сохраняем, и выбираем MY.MNU как главное меню TC. У нас получилось вот это:

Можете проверить - при нажатии на "Выход" TC закроется.
И тут у вас наверняка возник вопрос: "А откуда у нас взялся пункт "Запуск", мы же в меню его не добавляли!?". А дело в том, что "Запуск" присутствует всегда, его можно только переместить, но не убрать.
Но об этом чуть позже, а сейчас вернёмся к нашим баранам, и разберёмся в том, что мы сейчас написали.

MENUITEM - указание на то, что это пункт меню. Просто обязательное служебное слово.
"Выход" -название пункта меню.
cm_Exit - внутренняя команда Total Commander, выполняющаяся при нажатии пункта меню. Тут остановимся поподробнее.
Где взять список этих команд и их описание? Ну, тут всё просто, и то и другое находится в файле totalcmd.inc, лежащем в папке с самим TC. Однако я бы рекомендовал использовать не оригинальный, а переведённый файл из вышеупомянутой справки - хотя бы из-за его переведённости (и, как следствие, лучшего понимания).

Переведённый файл totalcmd.inc

Можно использовать как символьный идентификатор команды, так и числовой (число, указанное после знака равенства). То есть, в нашем случае строки

MENUITEM "Выход", cm_Exit
MENUITEM "Выход", 24340
MENUITEM "Выход", $5F14

будут равнозначны. В последней строке указан шестнадцатеричный номер команды (после символа $),
Предпочтительнее использовать именно числовые значения (неважно, десятичные или шестнадцатеричные), хотя бы потому, что для работы символьных названий требуется обязательное наличие totalcmd.inc в папке TC. Впрочем, разница в том, что использовать, не так уж и существенна, решайте сами. Я в дальнейших примерах буду использовать символьные идентификаторы, т.к. они более наглядны.

Ой, оно выпадает

Следующий шаг - это создание выпадающего меню. Согласитесь, иметь однострочное, несгрупированное меню неудобно, удобнее раскидать "родственные" команды по подгруппам, и оформить как выпадающие менюшки. Сейчас мы это сделаем.

Итак, выпадающее меню создаётся следующим образом:

POPUP "Файл"
MENUITEM "Выход", cm_Exit
END_POPUP

А выглядит это так:

Общий принцип создания выпадающего меню, думаю, ясен.
POPUP и END_POPUP - служебные слова, открывающие и закрывающие выпадающее меню, между ними располагаются пункты меню, описанные так, как указано выше. После POPUP в кавычках идёт название меню, в нашем случае - "Файл".

Чуть-чуть изменим наше выпадающее меню:

POPUP "&Файл"
MENUITEM "Вы&ход\tAlt+F4", cm_Exit
END_POPUP

Что мы сделали:
Добавление амперсанда (&) в названии команды или меню делает следующую за ним букву "горячей". Т.е. для быстрого доступа к этой команде надо нажать Alt+горячая буква. В нашем случае по Alt+Ф будет активироваться меню "Файл", а при последующем нажатии Alt+Х - срабатывать команда "Выход".
Важно: текущая раскладка имеет значение. В нашем случае комбинации Alt+A и Alt+[ не будут работать, т.к. мы "пометили" кириллические символы.
А ещё мы добавили странное сочетание \tAlt+F4 к названию команды "Выход". Это вспомогательная возможность для добавления подсказки к пункту меню. Обычно сюда вписывают соответствующую этому пункту меню горячую клавишу (выход всегда работает по Alt+F4, поэтому я и вписал эту комбинацию). Формат команды с подсказкой будет такой: "Имя команды\tПодсказка".
Важно: вписывание клавиатурного сочетания в качестве подсказки вовсе не привязывает сочетание к этому пункту меню. Это просто подсказка, в которой можно вписать что угодно:

Теперь можно попробовать создать вложенное меню как на скриншоте:

Код приведённого меню очень прост:

POPUP "&Файл"
POPUP "&Печать"
MENUITEM "Печать файла под &курсором\tAlt+Ctrl+Shift+P", cm_PrintFile
END_POPUP
MENUITEM "Вы&ход\tAlt+F4", cm_Exit
END_POPUP

Мы просто "вкладываем" код ещё одной выпадающей менюшки внутрь выпадающей. После того, как понимаешь всю простоту такого решения, хочется побаловаться, сделав нечто вроде этого:

Побаловались - и хватит :), осталось последнее, что нам нужно знать. Это - три директивы SEPARATOR, STARTMENU и HELP_BREAK.

Делим, стартуем, и ещё раз делим

SEPARATOR предназначается для вставки горизонтальных разделителей между пунктами выпадающих меню (между пунктами основного меню вставляться не может). Применяется всегда в связке со словом MENUITEM, лучше всего это уяснить, взглянув на код:

POPUP "&Файл"
POPUP "&Печать"
MENUITEM "Печать файла под &курсором\tAlt+Ctrl+Shift+P", cm_PrintFile
END_POPUP
MENUITEM SEPARATOR
MENUITEM "Вы&ход\tAlt+F4", cm_Exit
END_POPUP

Видите, между подменю "Печать" и пунктом "Выход" появился разделитель? Это оно и есть.

Следующая директива STARTMENU обозначает то самое меню "Запуск". Вставить его можно куда угодно (и, как мы уже убедились, если его не вставить, оно всё равно пролезет :)), можно оставить в основном меню, как это сделано по умолчанию, а можно поставить как подменю. Демонстрирую код и то, как это выглядит.

1. Ставим "Запуск" перед "Файл":

STARTMENU
POPUP "&Файл"
POPUP "&Печать"
MENUITEM "Печать файла под &курсором\tAlt+Ctrl+Shift+P", cm_PrintFile
END_POPUP
MENUITEM SEPARATOR
MENUITEM "Вы&ход\tAlt+F4", cm_Exit
END_POPUP

2. Ставим "Запуск" как подменю в "Файл":

POPUP "&Файл"
STARTMENU
POPUP "&Печать"
MENUITEM "Печать файла под &курсором\tAlt+Ctrl+Shift+P", cm_PrintFile
END_POPUP
MENUITEM SEPARATOR
MENUITEM "Вы&ход\tAlt+F4", cm_Exit
END_POPUP

STARTMENU можно вставить только один раз. Если вписать его несколько раз, то корректно "Запуск" будет отображаться только в последнем случае. Сам "Запуск" настраивается средствами самого TC отдельно.

Третья директива HELP_BREAK также может применяться только один раз. Служит оно для создания разделителя между пунктами основного меню. Все пункты, идущие до HELP_BREAK, будут помещены на левой стороне окна TC, а идущие после - на правой стороне. Следующий код, к примеру, разносит наше меню "Файл" и меню "Конфигурация" (которое я создал для демонстрации примера):

POPUP "&Файл"
POPUP "&Печать"
MENUITEM "Печать файла под &курсором\tAlt+Ctrl+Shift+P", cm_PrintFile
END_POPUP
MENUITEM SEPARATOR
MENUITEM "Вы&ход\tAlt+F4", cm_Exit
END_POPUP
STARTMENU

HELP_BREAK

POPUP "&Конфигурация"
MENUITEM "&Настройка вида", cm_Config
MENUITEM "Настройки &экрана", cm_DisplayConfig
END_POPUP

Замечу, что на меню "Запуск" этот разделитель ни малейшего влияния не оказывает. Как бы мы ни расположили директиву START_MENU - до или после HELP_BREAK, оно всё равно оказывается на левой стороне.

Использование пользовательских команд в меню

С версии 7.0 Коммандер поддерживает такую полезную вещь, как пользовательские команды. С их помощью в меню можно добавлять запуск внешних приложений. Для примера я подробно распишу, как создать команду, запускающую бесконечный пинг на localhost.
Для начала достаточно вызвать инструмент работы с командами (внутренняя команда вызова cm_CommandBrowser), и выбрать в нём в пункт usercmd.ini:

Нажимаем кнопку "Новая", вводим имя (я ввёл em_ping) и настраиваем команду абсолютно аналогично тому, как это делается при настройке кнопок для панели инструментов:

Сохраняем все изменения. Если есть желание и необходимость, в настройках можно повесить любое сочетание горячих клавиш на только что созданную команду (я использовал Alt+P):

Ну а в наше меню вписываем следующее:

POPUP "&Запуск внешних приложений"
MENUITEM "Ping localhost\tAlt+P", em_ping
END_POPUP

Результат можно видеть на скриншоте, убедиться в работоспособности такой конструкции вы можете самостоятельно.

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

Вот, пожалуй, и всё. Берём любимый текстовый редактор, изучаем totalcmd.inc (там можно найти много интересного) и творим. Если творить собственное чудо менюстроения лень - берём уже имеющееся меню и всласть правим. Если вы допустили какую-то ошибку, TC при загрузке меню сообщит об этом. В сообщении будет описан тип ошибки, и в какой строке она допущена, так что бояться нечего.

Полезно также прочесть раздел справки, посвящённой редактированию главного меню TC.
Удачи вам в ваших экспериментах!

Павел Дубровский
15.02.06


Тотальные хитрости

Небольшие уловки, упрощающие работу в Total Commander

Сортировка после "Feed to listbox"

Мне (да, наверное, и вам тоже) частенько приходится искать дубликаты, то есть файлы, одинаковые по объему и/или содержимому и/или имени. Как правило, после обнаружения двух одинаковых файлов один из них удаляется.
Разумеется, я написал скрипт PowerPro для поиска дубликатов, но решение вопроса об удалении файлов я скрипту поручить не решаюсь.
Для демонстрации я создал две директории, названные в целях наглядности GoodDir и BadDir, и записал в них одни и те же файлы, названные соответственно GoodFiles и BadFiles (имя + счетчик). То есть, предположим, что в диалоге поиска, вкладка "Advanced", рамка "Find duplicate files", мы бы поставили вторую и третью птицы (я чаще всего ищу именно такие дубликаты). Дадим команду на поиск дубликатов (через скрипт или напрямую - безразлично) и получим вот что:

Итак, найдено 16 файлов, то есть 8 пар, отделенных друг от друга пунктирной линией и состоящих каждая из двух одинаковых по объему и содержанию файлов. Наша задача - удалить все файлы, имя которых начинается на BadFiles и перечисленные в окне поиска.
Так или иначе, это окно не позволяет удалять файлы, поэтому нажмем "Feed to listbox":

Есть очень длинный путь: выделять файлы по одному вручную. Когда их восемь, это нормально. А когда 800?
Менее длинный путь: выделить все файлы, вновь вызвать поиск (должна быть поставлена птица "Only search in selected directories/files"), затем ввести маску (в нашем случае "путь\BadDir\*.*"), но в результат поиска попадут и файлы из архивов (а у нас их два). Да и потом, путь утомительно набирать вручную; ошибешься - сотрешь совсем не то. Последнее - а вдруг мы хотим удалить из BadDir все файлы, кроме одного?
Есть путь, простой до отвращения. Нажимаем заголовок колонки "Ext", то есть отсортируем по расширению (с тем же успехом можно отсортировать по чему угодно):

А теперь вновь сортируем по имени:

Осталось установить курсор на последний из ненужных файлов BadFiles08.gif и нажать Shift+Home, а потом вожделенную Del. Все.
Строго говоря, таким образом можно сортировать любые результаты поиска. Просто мне не приходилось применять этот прием, где-то кроме поиска дубликатов.

Вахмурка

Быстрый выбор команды из списка

Выбирать определённый пункт из списка всех внутренних команд Total Commander приходится часто, особенно при создании новой кнопки. Как вы это делаете? Листаете список? Но команд около 350, и пока долистаешь до нужной...
Набирать вручную тоже утомительно, да и нужно точно знать имя команды, ошибка в одной букве сведет все на нет.
Можно так: открываем Totalcmd.inc, ищем по контексту, вставляем в буфер, потом идем к окну выбора команды, вставляем из буфера...
Я поступаю по-другому, и это самый быстрый и удобный способ. Важно лишь соблюдать последовательность действий.

1. Нажимаем крысой на кнопку раскрытия списка:

2. Отныне мы забываем про крысу и действуем только клавиатурой. Для начала набираем первые символы всех команд "cm_":

1. Теперь мы - хозяева списка. Даже если мы не очень точно представляем себе, как именно пишется название команды, мы можем набирать ее имя, стирать и набирать заново... Более того - обладая минимальными познаниями в "языке вероятного противника", мы можем пытаться предположить, угадать это имя! Для пробы нажмите две-три буквы наугад - результат вас порадует. Прокручивая список, Total Commander будет услужливо предлагать нам то, что подходит под набранное в строке. Главное - пользоваться только клавишами, никакой крысы! Клавиши "вертикального движения" (Up, Down, PageUp, PageDn) перемещают курсор по списку, однако пользоваться ими не рекомендуется - поверьте, проще и удобнее использовать только буквы, цифры, клавиши "горизонтального движения" (Left, Right), Del и BackSpace - этого более чем достаточно. Лишь увидев в списке нужную команду, можно выбрать ее любым способом. А если использовать файл Totalcmd.inc из русской локализации, то найти нужную команду станет совсем просто - описания команд там переведены.

Эти рекомендации только на первый взгляд могут показаться сложными. Стоит сделать это один раз, и потом вы и помыслить не сможете, что команду можно выбирать как-то иначе.
Примечание составителя: приведённый совет полезен только для TC младше 7.0, т.к. в этой версии появился собственный, очень удобный инструментарий для работы с командами.

Вахмурка

Пример удачного использования Total Commander

Иногда то, насколько хорош тот или иной файловый менеджер, можно определить только тем временем, которое он вам сэкономил. При обыденных файловых операциях - копирование, перемещение, удаление файловый менеджер Total Commander очень хорош. Но как это доказать, скажем, любителю поработать в Проводнике Windows?
Вчера мне пришлось задуматься о своей коллекции шрифтов в 300 мегабайт. Все они взялись уже не помню откуда, и складировались в директорию под названием My fonts. Поскольку часто шрифты я копировал просто с компакт-дисков, то зачастую и структура каталогов оставалась с компакт дисков - около трех сотен вложенных директорий, а разбираться в том месиве всех шрифтов было довольно неудобно.
Я решил - необходимо все скопировать в один каталог, а затем создать несколько каталогов c названиями A, B, C,... X, Y, Z и отсортировать все шрифты по первой букве названия файла. Это упрощало поиск необходимого шрифта и навигацию.
Что бы в этом случае делал бы чайник в своем Эксплорере? Целый день бы таскал шрифты из одной папки в другую!
А теперь то, что я сделал в Total Commander:
Вхожу в каталог d:\my fonts\ и нажимаю очень интересное клавиатурное сочетание - Ctrl+B. Результатом явилось то, что все файлы из my fonts и вложенных директорий расположились на одном уровне. Как это упрощает задачу! Навожу курсор на файл file_id.diz и нажимаю Alt+"серый плюс" (это на цифровом блоке клавиатуры) - и все файлы, которые имеют расширение .diz, выделились. Теперь наводим курсор на файл с расширением .gif и опять нажимаем Alt+"серый плюс" - к выделению добавляются все файлы с расширением .gif. Аналогичную операцию проделываем и с файлами, имеющие расширение .txt, .htm и прочим мусором, который не является шрифтами.
Добавлено: на самом деле это всё можно было сделать ещё быстрее. Для этого нужно было нажать Alt+"серый плюс" на файле шрифта ("выделить все файлы с таким расширением"), а потом нажать "серое умножение" ("инвертировать выделение"). В результате были бы выделены все файлы, не являющиеся шрифтами, что и требовалось.
Теперь нажмем Ctrl+L - появляется информационное окно, которое сообщает нам количество файлов, их общий размер и общий размер с учетом остатков кластеров, а это оказалось около 45 мегабайт дискового пространства! Смело жмем Del (а еще лучше Shift+Del, если у вас стоит удаление в Корзину - это позволит удалить файлы минуя корзину).
После того, как удаление завершено, в противоположной панели создаем временную директорию d:\_temp и клавишей F6 переносим все файлы. Если поступает предупреждение, что такой файл уже существует, то, скорее всего, можно смело заменять такие файлы, поскольку это наверняка одинаковые шрифты. В результате я освободил еще 35 мегабайт дискового пространства.
Казалось бы, директория my fonts пуста. Но нажмем Ctrl+R (обновить окно) и вид файловой панели вновь вернулся к отображению многоуровневой структуры. Только теперь все эти папки пустые, поэтому их можно смело удалить.
Теперь у нас в левой панели каталог d:\_temp со всеми шрифтами, а в правой панели пустой d:\my fonts.
Остается лишь техническая сторона дела: создание каталогов и перенос файлов. При этом я использовал маску выделения файлов a*.ttf, b*.ttf и т.д.
Если вы хотите поделиться своим опытом удачного использования Total Commander, присылайте свои статьи и заметки мне.

Андрей Пясецкий


FTP-клиент Total Commander

Статьи, посвящённые FTP-клиенту Total Commander:

· FTP-клиент Total Commander
· WebDrive: FTP без проблем


FTP-клиент Total Commander

На написание этой статьи меня вдохновили десятки пользовательских вопросов, связанных с FTP-клиентом, встроенным в Total Commander. Наверное, все пользователи Total Commander делятся на следующие группы: те, кто знает, что в Total Commander встроен FTP-клиент и считают, что это самый удобный клиент в мире (к ним, как ни странно, отношусь и я), те, кто знают, что в Total Commander встроен FTP-клиент, но из-за незнания, как с ним работать, страдают и порождают десятки вопросов в мой почтовый ящик и те, кто, либо не знают что в Total Commander встроен FTP-клиент, либо не знают, зачем он им нужен :) Думаю, данная статья будет полезна всем категориям пользователей.
На мой скромный взгляд, FTP-клиент просто обязан быть встроен в файловый менеджер, а не существовать как отдельная программа, что породит массу неудобств. Это позволит вам пользоваться всеми настройками Total Commander при работе с файлами на FTP-серверах, а именно: часто используемыми каталогами, цветовыми схемами, горячими клавишами, командной строкой и т.д. Кроме всего прочего, работа с FTP-серверами практически не будет отличаться от работы с вашими локальными и сетевыми дисками.
Ядро работы с FTP-клиентом составляет окно соединения с FTP-сервером, которое вызывается либо по нажатию на иконке FTP на вашей панели инструментов, либо из меню, либо, что проще, через Ctrl+F.

Именно здесь начинается ваша навигация по FTP-серверам. Если вам быстро необходимо соединиться с FTP сервером, адрес которого вы знаете, нажимаем кнопку "Новый URL" и вводим адрес FTP-сервера, нажимаем ОК. И мы уже на FTP-сервере, если, конечно же, доступ к нему разрешен.

Этот же самый диалог может быть вызван непосредственно в TC - по умолчанию на "быстрое соединение" назначена комбинация Ctrl+N.

Думаю, здесь ничего сверхъестественного нет, поэтому перейдем к вопросу, когда вы вебмастер и вам необходимо закачивать на сервер ваши файлы. Для этого нажимаем кнопку "Добавить". Появится следующее окно:

Обратите внимание на то, что хранить пароли здесь действительно небезопасно :) Дело в том, что эти пароли хранятся в файле настройки wcx_ftp.ini, и хотя они шифруются, расшифровать их очень просто. Так что недоброжелатель, укравший этот файл, может получить доступ ко всем вашим FTP-серверам. Впрочем, если вы единственный пользователь вашего компьютера, у вас нет недоброжелателей и у вас установлен firewall, то можно спокойно хранить пароли, что, несомненно, очень удобно. Нужно ещё отметить, что очень удобно установить в настройках пути, как к локальной папке, так и к удаленному каталогу. Тогда, после соединения с FTP, у вас уже будут открыты в файловых панелях папка-источник и папка-получатель.
Один из пользователей мне также порекомендовал сделать быструю навигацию по директориям вашего FTP-сервера через меню часто используемых каталогов. Для этого необходимо создать подменю, куда добавить все те папки на FTP-сервере, куда вы часто закачиваете файлы. А в настройках этой папки добавить локальную папку. Таким образом, если вы будете переходить по FTP-директориям из меню часто используемых каталогов, в противоположной панели у вас всегда будет ваша локальная директория-близнец.

Однако, если у вас небольшой сайт, то самым удобным способом обновления вашего сайта, безусловно, является синхронизация, которую легче всего сделать через встроенный инструмент синхронизации. Для этого, отрываем в правой и левой панелях директории, которые необходимо синхронизировать и ищем в меню команду "Synchronize dirs" или "Синхронизировать директории" (естественно, вы можете для этого действия тоже назначить какие-нибудь горячие клавиши). Затем уточняем опции синхронизации, нажимаем "Сравнить", после чего отмечаем, какие файлы мы не хотим синхронизировать и нажимаем "Синхронизировать":

Таким образом, вы можете в два клика (в два удара по клавиатуре :) всегда держать на FTP самую свежую информацию, находящуюся у вас на локальном диске. Для особо ленивых могу посоветовать использование макросов.
Для вебмастера, использующего все возможности предоставляемого хостинга, а именно PHP или Perl, актуально (и это было самым часто задаваемым вопросом) назначение прав доступа для файлов (в простонародии - чмод). Для этого есть два возможных пути.
Первый удобен в тех случаях, когда вам необходимо изменить права доступа для одного отдельного файла. Для этого наводим курсор на этот файл, нажимаем Ctrl+Enter (появляется командная строка, а в командной строке - имя файла) и дополняем командную строку chmod 755 file.php.
Естественно, это неудобно, когда необходимо изменить права доступа для 10, 20, 100 файлов. Поэтому есть второй способ. Для этого выделяем необходимые файлы и ищем в меню команду "Change attributes"/"Изменить атрибуты", после чего появляется меню изменения параметров доступа, где вам собственно галочками и необходимо выставить необходимые права для чтения, записи и выполнения.

Ещё необходимо заметить, что Total Commander поддерживает одновременно 9 активных сеансов соединений с FTP. Таким образом, можно открыть в одном панели целевой FTP, а в другой - FTP-источник и осуществить копирование файлов с одного FTP на другой без скачивания файлов себе на компьютер. Однако в этом случае оба FTP-сервера должны поддерживать эту функцию, что встречается, скажем, не часто.

Андрей Пясецкий


WebDrive: FTP на полную мощность

FTP и проблемы с ним

Пользователи, освоившие мощь Total Commander при работе на локальном компьютере, испытывают двоякие чувства, когда добираются до FTP-клиента. С одной стороны - трудно представить себе более удобную программу для работы с FTP-серверами, а с другой - лишь очень малое количество инструментов TC работает с FTP... Даже такие, казалось бы, просто реализуемые вещи, как подсчёт размера каталогов на FTP - и то не реализованы.
Долгое время решения проблемы никто не знал, пока в один прекрасный день мне это не надоело, и я не озадачился поиском решения всерьёз. Тут-то всезнайка-яндекс и выдал мне ссылку на одну интересную программу...

WebDrive: решение всех проблем

Эта программа делает одно, очень простое и понятное дело: она монтирует любой FTP-сервер как сетевой диск. Все обращения к этому диску WebDrive переводит в команды FTP, а затем выполняет эти команды. Просто и эффективно.

Интерфейс программы понятен сразу:

Главное окно WebDrive

У меня нашлась не самая новая версия программы, но я не думаю, что в дальнейшем что-то изменилось, так что буду показывать всё на ней.
Для начала стоит забраться в настройки программы (Alt+S), и "подкрутить" некоторые важные параметры:

Окно настройки WebDrive

Я, к примеру, отключил галки Open Explorer window after connecting (иначе каждый раз после соединения открывался бы Проводник) и Display file transfer progress dialog (установка этой галочки будет заставлять WebDrive отображать своё собственное окно копирования файлов, а это очень напрягает. Я не вижу никакого смысла в этом окне, тем более, что пользоваться мы будем Total Commander, у которого собственное окно довольно информативно. Оставить его можно, разве что, для очень больших файлов (>200~300 Mb)).
Я бы порекомендовал сразу же настроить опции кеширования. Дело в том, что при настройках по умолчанию WebDrive пытается кешировать всё подряд, и это имеет много минусов. Во-первых, расходуется место на диске, во-вторых - забивается канал, в-третьих, если трафик платный - такое кеширование может влететь в копеечку. Смотрите сами, какая у вас ситуация, и ставьте соответствующие настройки.
Ещё в настройках можно выставить параметры вашего прокси-сервера, и на этом, пожалуй, важные настройки заканчиваются. С остальными опциями разберётся и ребёнок, благо есть подробнейшая (хотя и англоязычная) справка.

Что ж, теперь сделаем то, ради чего всё и начиналось: подключим FTP как диск. Для этого в главном окне программы добавляем новое соединение и прописываем его основные параметры. Я, за временным неимением доступа в Сеть, использовал подключение к локальному FTP-серверу, но будьте уверены - и в других случаях всё работает.
Итак, вводим имя, тип сервера (WebDrive работает не только с FTP, но и с SFTP, WebDAV, FrontPage и GroupDrive хранилищами), букву нового диска, логин/пароль (если подключение не анонимно), жмём Connect...

Настройка подключения

Появился новый диск!

Собственно, в 90% случаев того, что мы сделали - достаточно. С новым диском можно будет работать точно так же, как если бы это был обычный сетевой диск. Если возникают какие-то проблемы - стоит зайти в настройки этого подключения (кнопка "Properties" в главном окне программы) и пытаться "чинить" проблему там.

Во время работы с WebDrive я заметил лишь один серьёзный недостаток: атрибуты файлов транслируются в юниксовой нотации (т.е., если на виндовом сервере установлен "скрытый" атрибут файла, WebDrive покажет его как обычный файл). Впрочем, FTP-сервер на виндовой машине - скорее исключение, чем правило.

Итак, желаемого мы добились. Все функции Total Commander, которые нельзя было использовать на FTP, теперь использовать можно. Главное - чтобы были соответствующие права доступа. Засим откланиваюсь, и предоставляю изучить многочисленные функции WebDrive вам самим.

Ах да, найти программу можно на сайте производителя http://www.southrivertech.com/. Программа не бесплатна, но положенный триальный срок работает. При написании статьи я использовал WebDrive 6.08, последняя найденная мной версия - 7.05, настройка новой версии мало отличается от настройки старой, так что проблем возникнуть не должно.

Павел Дубровский
19.04.06


Инструмент поиска Total Commander

Статьи, посвященные инструменту поиска Total Commander:

· Директории синего цвета. Работа с условиями поиска и масками файлов
· Найди двойника! Поиск дубликатов в Total Commander


Директории синего цвета. Работа с условиями поиска и масками файлов

Наверняка все заметили, что на моих скриншотах директории раскрашены синим цветом. Я часто получаю вопросы о том, как это сделать, и вижу, что есть необходимость подробно об этом рассказать.
Первое, что необходимо сделать - вызвать инструмент "Поиск" (Alt+F7). На первой закладке нам ничего указывать не надо. Переходим сразу же ко второй закладке, где необходимо в разделе "Атрибуты" поставить галочки рядом с "Каталог" а остальные: "Архивный", "Скрытый", "Системный", "Для чтения" оставить так, как это показано у меня на скриншоте.

Теперь идем к закладке "Шаблоны поиска" и сохраняем условия поиска, дав им осмысленное название.

Теперь идем в "Настройка" - "Цвета", ставим галочку рядом с "Определить цвета для типов файлов" если она еще у вас не стоит, и нажимаем собственно на эту кнопку. В появившемся окне диалога "Определить цвета для типов файлов" нажимаем "Добавить" и во вновь открывшемся окне выбираем только что заданное условие поиска.

В этом окне можно либо указать любой шаблон (например, *.zip;*.rar;*.arj;*.ace;*.ha;*.jar, чтобы сделать отдельную расцветку для архивных типов файлов), либо указать условие поиска.
Теперь осталось нажать "OK" и выбрать цвет, который мы хотим назначить для нашего условия, и во всех остальных диалогах нажать "Оk".
Я указал здесь только общую схему для определения цветовой раскраски. Думаю, вам не составит труда, выполняя эту простую последовательность действий, создать условия поиска для временных типов файлов (*.bak;*.wbk;~h*.*;$*.*;*.tmp;*.swp;backup_of_*.*), для графических типов файлов (*.jpg;*.jpeg;*.gif;*.bmp;*.tiff;*.png;*.wmf;*.cdr;*.psd), для архивных типов файлов (*.zip;*.rar;*.arj;*.ace;*.ha;*.jar), для исполняемых типов файлов (*.exe;*.com;*.bat) и назначить им отдельную цветовую раскраску. Вы можете создать свои собственные условия поиска, или же определить маску файлов непосредственно в окне выбора шаблонов при определении цвета для типов файлов. Я же рекомендую еще создать условия поиска для файлов, которые были созданы в течение 24 часов, 48 часов, недели и назначить им также отдельную цветовую раскраску. Тогда у вас будут заметны файлы, которые вы недавно изменяли, с которыми работаете.

Как вы уже догадались, при задании условий поиска можно пользоваться любой комбинацией масок и расширенных условий. Возможно, вам в маске захочется указать условие "все, кроме". Так, для задания условия поиска "все файлы, кроме временных и резервных копий", необходимо указать маску "|*.bak;*.wbk;~h*.*;$*.*;*.tmp;*.swp;backup_of_*.*". А начиная с версии 6.5, в условиях поиска можно использовать возможности, предоставляемые wdx-плагинами. К примеру, используя плагин ShellDetails, можно подсвечивать файлы, принадлежащие определённому владельцу, и т.д.
Сохраненные условия поиска очень активно можно использовать при повседневной работе с файлами. Так можно, например, отображать на файловых панелях только графические файлы: Вид - Фильтр (Ctrl+F12) - Архивные файлы (необходимо прежде создать такое условие поиска) или отображать все файлы, кроме временных и резервных копий. Или же добавлять выделение, используя условия поиска (gray "+").
Ну вот и все. Успехов вам.

Андрей Пясецкий


Найди двойника! Поиск дубликатов в Total Commander

С появлением винчестеров размером 10 Гб и больше уже не встает вопрос о дефиците дискового пространства, но и это не дает нам повода халатно разбазаривать место, которое можно с успехом отдать под более полезные вещи, например фильмы в формате MPEG4 :)
Итак, представим себе, что у нас есть огромная коллекция чего-либо, что расположено в различных папках и, вроде бы, классифицировано. Это могут быть коллекции музыки в формате mp3, рисунков, клипартов, шрифтов, рефератов, текстов, дистрибутивов и прочего, так сказать, хлама, который мы храним "на всякий случай" :) Проблема только в том, что среди этих коллекций затесались двойники. Это абсолютно одинаковые файлы, которые просто различаются именем или даже имеют одинаковые имена, но находятся в разных директориях. Напрашивается естественный вывод - убить двойников. Но как их найти?
Зайдите в ту директорию, в которой, как вы предполагаете, находятся двойники, и вызовите инструмент "Поиск" (Alt+F7, а я все время путаю с Alt+F8, который, кстати, вызывает историю команд набранных в командной строке). Если вы еще не замечали, то в открывшемся диалоге поиска есть четыре закладки. Смело открываем среднюю закладку "Дополнительно":

В самом низу диалога расширенного поиска вы можете увидеть "Поиск дубликатов" - поставим там галочку, а чуть ниже выберем условия поиска дубликатов: по имени, по имени и размеру, по имени по размеру и по содержимому или по размеру и по содержимому. Лучше всего выбирать условия так, как это сделано на скриншоте - в таком случае будут найдены дубликаты даже с разными именами.
Смело жмем "Начать поиск!" и Total Commander найдет вам дубликаты, которые будут перечислены в окне результатов поиска и будут разделены пунктирной линией.

Удобнее всего сейчас нажать на кнопку "Файлы на панель" и окно диалога поиска исчезнет, но зато в одной из файловых панелей будет открыта временная панель, в которой будут перечислены все дубликаты из окна результатов. Теперь я советую нажать Ctrl+Q, чтобы перед удалением файла проверять, действительно ли файлы являются дубликатами.

Если у вас не отображаются изображения gif, jpg, psd и другие, не проигрывается музыка в формате mp3 и видео, значит, у вас не установлен или не настроен IrfanView (XnView), или соответствующие плагины.

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

Андрей Пясецкий


Инструмент внутреннего просмотра (Lister) и его плагины

Статьи, посвящённые инструменту внутреннего просмотра (Lister):

· Как видеть всё: Lister и его плагины
· Настройка Lister-а для просмотра текстов в кодировке KOI8


Как видеть всё: Lister и его плагины

Wake up, Neo

Нео, ты всегда чувствовал, что с этим миром что-то не так. Как будто существует нечто, что ускользает от твоего восприятия... Ты использовал неудобные и тяжёлые программы для того, чтобы быстро посмотреть содержимое нескольких файликов. Запускал ACDSee для картинок и Word для документов... Но в глубине сознания ты понимал - так не должно быть...

И наш Нео прав :) В большинстве случаев абсолютно не требуется использовать те программы, которые кажутся нам, в общем-то, безальтернативными вариантами. Пользователям TC гораздо удобнее использовать листер-плагины, количество и возможности которых сегодня таковы, что многие используемые ранее программы можно смело отправлять на помойку.
Преимущества листер-плагинов вытекают из тесной интеграции с Total Commander, а потому - очевидны. Панели TC обеспечивают навигацию по дискам с одновременным просмотром нужных файлов. При этом обычный функционал TC не теряется, и файлы можно скопировать/удалить/переименовать/сделать что угодно прямо во время просмотра.

Но обо всём по порядку. Постараюсь рассказать от и до - и о самом Листере, и о его плагинах, и о секретах тонкой настройки плагинов.

Изучаем приёмы пользования листером

Листер - это инструмент просмотра, вызываемый по нажатию кнопки F3 - об этом, думаю, знают даже абсолютные новички в TC. "Голый" листер (т.е. без плагинов и внешних утилит) показывает всё... но только лишь в текстовых режимах (что для просмотра графики, например, абсолютно бесполезно). И всё-таки, чтобы освоить некоторые приёмы работы с листером, изучим его таким, какой он есть по умолчанию.

Что очень удобно в листере - это то, что переключаться между всеми поддерживаемыми им режимами просмотра можно нажатиями нескольких клавиш. Каждая клавиша соответствует своему режиму просмотра, запомнить их - дело трёх минут, достаточно взглянуть на подсказки в меню опций листера:

12 горячих клавиш на все случаи жизни

С текстовым режимом всё понятно: текст он и в Африке текст. Если выбрать этот режим, скажем, при просмотре какого-нибудь exe-файла, то можно попытаться найти и прочесть текстовые ресурсы, "спрятанные" в нём.
Двоичный режим - примерно то же, что и текстовый, но символы форматирования отображаются как двоичные символы (текст, к примеру, в этом режиме, останется читаемым, но все переходы на новые строки будут отображаться как два обычных символа. Попробуйте сами). Этот режим используется по умолчанию для просмотра двоичных файлов (таковыми Lister считает все неизвестные ему форматы).
Шестнадцатеричный режим - одновременно показывает содержимое файла в двоичном виде и hex-код каждого символа. Естественно, смещение символов тоже показывается. Режим этот очень полезен для программистов, и, хотя не заменяет продвинутых hex-вьюверов, для быстрого просмотра удобен.
Четвёртый режим, пожалуй, нуждается в отдельном описании. Дело в том, что в этом режиме листер начинает-таки использовать плагины и превращается в монстра. Впрочем, и без плагинов в мультимедиа-режиме листер распознаёт и показывает bmp и ico - файлы, а также rtf.
Пятый режим - этакий псевдоброузер. Жмём F3 на html-файле, выбираем этот режим, и гипертекст становится вполне читаемым, исходное форматирование при этом не теряется. Конечно о графике, фреймах и прочем придётся забыть - только гипертекст.
Шестой и седьмой режимы заставляют листер декодировать открытый файл из двухбайтных кодировок.

Существует возможность выбора из трёх шрифтов вывода. Два шрифта по умолчанию уже назначены - это ANSI и ASCII шрифты, третий предоставляется установить пользователю. Обычно третьим шрифтом ставится KOI-8 шрифт (подробности тут).

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

Думаю, тут всё понятно, пройдёмся теперь по настройке листера:

Диалог настройки Lister

В общем-то, всё ясно. Стоит пояснить, разве что, только значение галочки "IrfanView/XnView для показа не-BMP рисунков".
Эта опция осталась ещё с тех времён, когда Листер не поддерживал плагины, и для показа неподдерживаемых форматов можно было подключить любое из этих двух мощных средств просмотра. Сейчас же, с появлением плагинов, надобность в установке этой галочки отпала, мало того - рекомендуется не использовать IrfanView/XnView без сильной необходимости, т.к. это может привести к конфликтам между этими просмотрщиками и плагинами.

Теперь несколько приёмов использования Lister.
Приём первый: быстрый просмотр. Самая что ни на есть удобная и логичная фича, а ведь многие и не догадываются, что она существует. Для её использования просто жмём Ctrl+Q, и листер открывается на неактивной панели Коммандера!

Быстрый просмотр - одна из самых удобных возможностей TC

В таком режиме мы можем перемещаться по диску, одновременно просматривая содержимое файлов под курсором. Если под курсором будет папка - на соседней панели отобразится информация о ней:

Информация о папке

Также в этом режиме работают все возможности файлового менеджера. Одновременно с просмотром мы можем копировать и перемещать файлы на соседнюю панель, и т.д.
Кстати, имеется приятная возможность: позицию разделителя панелей в обычном и QuickView режимах можно определить самому, как это сделать - написано здесь. При обычной навигации по дискам удобнее установить разделитель посередине, чтобы панели имели одинаковую ширину, а при быстром просмотре - установить так, чтобы панель просмотра имела больший размер.
При быстром просмотре меню листера не отображается, поэтому изменять режимы просмотра можно только горячими клавишами, предварительно сделав переход на панель просмотра (или используя скрипт на PowerPro).
Небольшой приём: если перейти на панель просмотра, то клавиши "P" и "N" начинают работать как стрелки в панели навигации, т.е. выбирать для просмотра предыдущий ("Previous") и следующий ("Next") файлы в списке. Для обычного режима просмотра по F3 этот приём срабатывает, только если предварительно выделить несколько файлов - тогда переключение будет работать между этими выбранными файлами.
Ещё одна интересная возможность - просмотр тестовых файлов в архивах. Если некоторые, поддерживаемые TC, типы архивов вроде Zip или Rar, содержат текстовые файлы, то при быстром просмотре по Ctrl+Q будет показано содержимое первого из этих файлов. Текстовые файлы находятся не по расширению, видимо как-то анализируется их содержимое. При обычном просмотре по F3 эта функция не работает.

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

Плагины: революция сознания

Что мы смотрим чаще всего? Графику, документы и мультимедиа, причём, пожалуй, именно в том порядке, как я перечислил. Значит и плагины будут описываться в том же порядке.

Плагинов для просмотра графики создано немалое количество, начиная от простенького ImageLister, кончая навороченным Imagine. Я не стану описывать их все, расскажу только о двух плагинах, которые на момент написания статьи активно развиваются..

Графика

Imagine

Первое, что хочется отметить в этом плагине - поддержку большого количества форматов чтения и записи. Я насчитал около тридцати "понимаемых" плагином форматов и двадцать форматов, в которые плагин может конвертировать изображения. Второе - это абсолютная настраиваемость плагина - настраивается и интерфейс, и горячие клавиши. Третье - возможность работы Imagine как самостоятельной программы. Четвёртое - он умеет встраивать тамбнейлы в стандартные контекстные меню:

Тамбнейл Imagine

Также плагин умеет делать страницу миниатюр, обладает неплохими возможностями по корректировке параметров изображения, умеет применять фильтры, и много чего ещё. А ещё вместе с листер-плагином Imagine поставляется архиваторный плагин, с помощью которого можно конвертировать любую графику (в т.ч. анимированную) в png.
Короче говоря - все остальные просмотрщики графики могут отправляться в мусорное ведро. Этот полумегабайтный плагин с лёгкостью обходит такого монстра, как ACDSee; единственная функция, не найденная мной в Imagine - возможность включения слайд-шоу.

SGViewer

Этот плагин, несмотря на то, что не обладает всеми возможностями Imagine, также достоин рассмотрения. Дело в том, что он работает чуть быстрее, умеет показывать слайд-шоу, и избавлен от некоторых неприятных глюков при просмотре psd-файлов. В остальном же он проигрывает Imagine по функциональности, да количеством поддерживаемых форматов тоже не особенно радует. Сохранять же SGViewer умеет лишь в bmp и jpg форматы.

Ещё не мог не вспомнить о следующем плагине, который тоже имеет отношение к графике:

ICLView
Плагин, который умеет смотреть иконки, находящиеся в файлах. Поддерживаются все бинарные файлы, содержащие ресурсы (exe, dll, ocx и другие), и, само собой - библиотеки иконок (icl). Если в файле есть иконки - ICLView их найдёт и покажет.

ICLView в действии.

Плагин также умеет редактировать библиотеки иконок (добавлять и удалять иконки), ну и, само собой, иконки можно сохранять на диск. Полезная штука для дизайнеров, и программистов, любящих выдирать чужие иконки ;)

Документы

Документных форматов существует большое множество, и плагинов, которые позволяют эти форматы смотреть, также довольно много. Я начну описание с плагинов для самых популярных форматов, и закончу форматами редкими и даже экзотическими.

listdoc & office
Два плагина для просмотра документов MS Office. Различаются тем, что listdoc не поддерживает вывод форматированного текста (т.е. будет отображать просто текстовое содержимое документа) и потому работает очень быстро, а office показывает документы с оригинальным форматированием, и из-за этого работает немного медленнее. Office использует вордовские конвертеры от MS (наличие MS Office не обязательно, достаточно сохранить файлы конвертеров в папке с плагином, как это указано в его справке), и потому может открывать не только документы Word, но и таблицы Excel (и некоторые другие форматы, вроде старых версий Word).

SynPlus
Один из самых "навороченных" листер-плагинов. SynPlus вполне способен заменить ваш любимый текстовый редактор. Да-да, это не ошибка - в SynPlus предусмотрена возможность редактирования текста!
Но редактировать текст можно и в стандартном Блокноте, так чем же ещё может похвастаться SynPlus:
- Поддержка схем подсветки. Достаточно взглянуть на скриншот, чтобы понять, что это.
Вместе с плагином поставляются схемы для довольно большого количества форматов, а если их кому-то не хватает - можно воспользоваться встроенным редактором подсветок.
- Удобная навигация по тексту (закладки и быстрый поиск).
- Возможность повторного просмотра ранее открывавшихся файлов, а также возможность запоминать избранные файлы.
- Работа со всеми популярными кодировками.
- Возможность подключения плагинов, для просмотра не поддерживаемых по умолчанию кодировок, к примеру.
- Настройка горячих клавиш на любые поддерживаемые плагином действия.
- Добавление поддержки миниатюр для текстовых файлов.
- Большое количество других настроек, как интерфейсных, так и пользовательских.
- Возможность работы в качестве самостоятельного приложения.

SynPlus и его редактор схем подсветок

Единственным существенным недостатком этого плагина можно считать, разве что, ощутимые тормоза при открытии больших файлов. Впрочем, плагин можно настроить на выдачу подтверждения при открытии больших файлов.
Для меня плагин практически заменил используемый ранее Bred3. Не хватает, разве что, возможности изменения размеров шрифта по горячей клавише, в остальном - всё очень удобно.

IEView
Самый "всеядный" из листер-плагинов, о чём скромно сообщается в его описании :). Но ведь и в самом деле: плагин построен на движке Internet Explorer, а значит, наследует все его возможности (и тормоза с ошибками, к сожалению, тоже). Если забыть о недостатках, то обилию возможностей можно только порадоваться. Плагин, само собой, смотрит гипертекстовые документы (в т.ч. mht и chm), но это только основная возможность IEView. Все остальные его возможности зависят от установленного на вашем компьютере ПО. С установленным MS Word плагин будет показывать поддерживаемые офисные документы (с сохранением форматирования и даже с возможностью редактирования), после установки Adobe Acrobat станет возможным просмотр PDF-файлов... Ну и так далее - список программ, которые могут интегрироваться в IE (и, соответственно, использоваться плагином), довольно обширен, и смысла перечислять их все нет.
Кстати, для кого-то удобным покажется возможность вывода Explorer-like вида папок в режиме QuickView:

Лёгким движением руки Explorer интегрируется в Total

pdfview
Если вам не нравится, как PDF-документы открываются в IEView, то можно попробовать этот плагин. Дополнительно для работы плагина потребуется свежая версия Ghostscript (http://www.ghostscript.com/doc/AFPL/index.htm). Хотя, на мой взгляд, принцип работы pdfview (конвертация в bmp через Ghostscript) гораздо хуже, чем принцип IEView (загрузка Acrobat Reader), поскольку качество выходной картинки при такой конвертации очень страдает.

WebView
Ещё один плагин для просмотра гипертекстовых документов (и только для них - в отличие от IEView больше никаких форматов не поддерживается).
Плагин построен на Mozilla Control, и, соответственно, не требует установленного в системе IE. Плюс это или минус, судить сложно (ведь IE, пока что, включается во все версии Windows).
К сожалению, реальной альтернативы тому же IEView плагин составить не может - слишком много недочётов и мелких ошибок. Впрочем, существует определённая группа пользователей - MS-ненавистников, которым плагин понравится как раз потому, что он "не IE" :)

xBaseView
Многофункциональный плагин, поддерживающий просмотр и редактирование огромного количества форматов файлов баз данных (начиная от самых распространённых вроде XLS, и DBF). Поддержка 15 форматов "зашита" в сам плагин, а все остальные форматы открываются с помощью технологий ADO, ODBC и BDE. Плагин умеет конвертировать базы из формата в формат, понимает SQL-запросы, само собой - умеет искать и фильтровать записи. Перечислять возможности плагина можно очень долго, а лучше всего его просто скачать и установить, дабы всё изучить самому. Такая вещь всегда может пригодиться.
Плагин, как повелось это у модулей с подобным количеством возможностей, умеет работать как самостоятельное приложение. Если кому-то вдруг не хватит возможностей этого плагина (в чём я, лично, сомневаюсь), могут найти более функциональную shareware-версию xBaseView на сайте разработчика.

OpenOffice Simple Viewer
В последнее время всё более популярным становится бесплатный офисный пакет OpenOffice.org. Множество пользователей нашли в нём качественную и функциональную замену громоздкому MS Office, и появление плагина для просмотра документов OpenOffice.org было абсолютно логичным. Правда плагин пока не поддерживает вывод форматирования этих документов, но он быстро развивается, и, думаю, у него всё впереди. Сейчас же плагин вполне подходит для быстрого просмотра файлов с расширениями ODT, ODS, ODP, ODG, ODF, ODB, ODM, OTT, OTH, OTS, OTG, OTP, SXW, SXC, SXG, SXI, SXD, SXM, STW, STC, STD, STI.

ruDwgPreview
Те, кто знаком с AutoCAD, могут использовать этот плагин для просмотра DWG-файлов. По заверениям разработчика, поддерживаются файлы AutoCAD версий c 13 по 2005.

Mathematica Link
С помощью этого плагина пользователи математического пакета Mathematica смогут просматривать созданные в нём файлы (при условии, что сам пакет проинсталлирован на их компьютер).

PdbView
Плагин, читающий документы форматов PDB и PRC. Будет полезен для владельцев КПК, работающих под управлением PalmOS, в которой эти форматы и используются.
Несмотря на то, что плагин довольно давно не обновляется, распространяется он с исходниками, и, при желании, любой умеющий человек может переписать его. Впрочем, думаю, нужды в этом не возникнет - работает плагин хорошо, и нареканий при работе не возникает.

SolidWorks® Preview
Плагин, примечательный, кроме поддержки файлов от SolidWorks, ещё и тем, что с тем же успехом может быть использован и в известной программе WhereIsIt. В общем, если кому-то понадобится...

Мультимедиа

Несмотря на то, что распространённых мультимедийных форматов существует не так уж и много, плагинов для их просмотра существует больше всего. Каждый автор стремится переплюнуть всех остальных, создав свой плагин, который будет в чём-то да лучше конкурентов. Получается довольно интересная эволюция мультимедийных плагинов, в которой есть и представители тупиковых ветвей (о которых рассказывать не стоит), а есть и настоящие красавцы, обладающие богатыми возможностями и удобством.

MediaShow
MediaShow - одна из лучших попыток создать полноценный видеоплеер для TC. Созданные тем же автором плагины DSView&SMViewer как-то не прижились из-за большого количества различных проблем в работе. А вот в MediaShow, похоже, все ошибки прошлого были учтены, и он обещает стать не только отличным плагином для TC, но и одним из лучших видеоплееров вообще. Главное, чтобы автор не забросил разработку, как иногда это, к сожалению, случается.
Плагин по внешнему виду схож с другим популярным плеером - LightAlloy. Мало того - MediaShow даже поддерживает плагины LightAlloy, а по функционалу, имхо, уже давно его обошёл. К плагину нет никаких претензий по поводу отображения видео, управление в нём реализовано очень удобно (в режиме QuickView - вообще сказка!), само собой, плагин умеет работать в качестве отдельного приложения, и вообще - в нём очень много вкусного.

MediaShow со скином от LA

Единственное нарекание к плагину - небольшие глюки в интерфейсе. Очень надеюсь, что они будут поправлены в следующих версиях.

flashview & SWF Lister
Технологию Flash тоже стоит отнести к мультимедиа. И плагины, созданные для просмотра swf-файлов, само собой, существуют.
Flashview и SWF Lister - как раз такие плагины. Оба они похожи, если и не как братья-близнецы, то как двоюродные - точно :). Оба плагина непритязательны и удобны, и оба требуют наличия установленного Flash Control в системе.
SWF Lister, вообще-то, обладает такой возможностью, как извлечение ресурсов из SWF-файлов, но требует денег. Бесплатно же можно пользоваться lite-версией этого плагина, в которой такой возможности, увы, нет.

AmpView
Один из самых популярных плагинов для прослушивания аудиофайлов. Этот плагин отходит от оригинальной концепции wlx-плагинов, и практически является самостоятельным плеером (он, кстати, может работать и без TC). С одной стороны - в этом есть некое удобство, например собственный плейлист (в который сохраняются ранее прослушиваемые по F3 файлы), с другой стороны - абсолютная невозможность использовать плагин для режима QuickView и ограничения при использовании совместно с другими мультимедиа-плагинами. Вообще же, несмотря на удобство и возможности AmpView, всегда есть WinAmp, который и по тому и по другому выигрывает однозначно.

mmedia
Кому-то может понравиться плагин, использующий возможности стандартного Windows Media Player для просмотра видео и прослушивания аудио. Такая концепция, с одной стороны, гарантирует такую же всеядность, как у WMP, с другой стороны - удобство использования плагина в сравнении с MediaShow не всегда очевидно.

playlist
Непритязательный плагин просмотра плейлистов pls&m3u, который, к тому же, может использоваться в качестве простенького плеера.

TxQuickView
Очень оригинальный плагин, к сожалению - платный (впрочем, эта платность особенно не мешает). TxQuickView - попытка сделать универсальный плагин на все случаи жизни. Посудите сами: он позволяет просматривать 69 форматов изображений, 37 аудио- и видеоформатов, файлы шрифтов, документы различных форматов, показывает сведения о бинарных исполняемых файлах, имеет возможность включения Hex-режима просмотра, а также возможность просмотра форм проектов Delphi (DFM).
Однако, TxQuickView проигрывает плагинам, которые не обладают подобной всеядностью, зато хорошо работают для разных форматов отдельно. Так, просмотр графики намного удобнее реализован в Imagine, мультимедиа-форматы лучше проигрываются в MediaShow, а инфы о бинарниках TxQuickView показывает намного меньше, чем fileinfo/PEViewer. Единственной, действительно уникальной, возможностью плагина, можно назвать только просмотр форм Дельфи.
В любом случае - всегда можно выбрать, что использовать: один универсальный но малофункциональный плагин, либо несколько более мощных.

Другие форматы

ArcView&ArchView
Оба плагина реализуют одну и ту же идею: просмотр сведений об архивных файлах. ArcView, на данный момент, мощнее - в нём реализована поддержка большего количества форматов, имеется возможность просмотра структуры архива, да и по настройкам он побогаче.

Сведения об архиве из ArcView

eml
Плагин предназначен для просмотра файлов писем *.msg/*.eml, получаемых из почтовых клиентов (например, из TheBat!).

Font & TTFViewer
Два разных плагина с одинаковым, в общем-то, предназначением: они созданы для просмотра шрифтов. Различия в том, что первый смотрит все форматы шрифтов, второй - только TTF и OTF, но имеет некоторые дополнительные возможности в настройке. Я бы взял на себя смелость рекомендовать именно Font.wlx, т.к. его возможностей в 100% случаев хватает за глаза, несмотря даже на то, что последняя его версия датирована 2005 годом.

IniEd
Очень удобный плагин для просмотра и редактирования различных файлов настройки (поддерживаются стандартные *.ini, *.inf и *.reg файлы). Плагин предоставляет возможности быстрой сортировки и поиска нужных ключей, также в нём реализовано быстрое их редактирование. Для большинства обычных пользователей это может оказаться ненужным, но тем, кто любит вручную ковыряться в настроечных файлах - плагин будет архиполезен.

LinkInfo
Плагин, показывающий информацию о ярлыках файлов (иконка, путь, комментарий, параметры и т.д). Просто и со вкусом :)

md2wlx
Плагин для просмотра 3D-моделей md2 (модели в играх на движке Q2).

wcpfrep
Абсолютно невозможный для понимания плагин. Это в том смысле, что я, например, не понимаю, как разработчики смогли в трёхсоткилобайтный плагин засунуть поддержку множества распространённых форматов хранения 3D-графики (3DS, LWO, STL, Wavefront OBJ, lego Draw DAT, DXF, AC3D, PLY плагин открывает без проблем. Других форматов у меня не нашлось). Просмотр, зум, вращение, изменение режимов рендеринга - всё это есть.

PEViewer & fileinfo & SymbolView
Целых три плагина различной функциональности для просмотра сведений о бинарных исполняемых файлах. И у каждого из них есть свои отличительные особенности, заставляющие использовать этот плагин в связке с другими двумя.
PEViewer - единственный плагин, умеющий определять компилятор, создавший просматриваемый бинарник (поскольку стопроцентного алгоритма определения компилятора существовать никак не может, то определяется наиболее вероятный вариант, обычно и являющийся верным).
Fileinfo очень удобен для просмотра списка импортируемых и экспортируемых файлом функций (особенно это полезно для изучения чужих DLL). Само собой, раз речь зашла об импорте функций, то плагин умеет проверять зависимости бинарников.
SymbolView же показывает всю возможную информацию скопом, и тоже может оказаться удобным, если вас не смутят некоторые глюки в его работе.
Итого, наилучшим выбором, как я уже сказал, будет использование всех трёх плагинов в связке. Конечно, простым пользователям эти плагины вряд ли могут пригодиться, а вот программистам они окажутся очень полезными.

tccalendar
Интересная задумка, но, на мой взгляд, - несколько вычурная. В виде плагина для TC реализован лучший календарь, который я когда-либо видел. Огромное количество выводимых дат, возможность задания собственных событий, различные расчёты... Описывать его возможности можно долго, но лучше его просто увидеть.
Возникает лишь один вопрос: почему плагином, почему не отдельной программой?

VisualDirSize
Плагин, полезный, так сказать, для всех слоёв населения. Смотрите сами: что TC выводит по умолчанию при нажатии Ctrl+Q на папке? Немного общей инфы об этой папке. А что выводится после установки VisualDirSize? Смотрите на скриншот:

VisualDirSize: анализ содержимого папки

Конечно, сбор информации о содержимом папки может занимать продолжительное время, но, имхо, оно того стоит. А если учесть богатство настроек плагина, то вообще становится неясно, как это раньше мы без этой красоты жили.

Думаю, на этом можно остановиться. Само собой, в обзор попали далеко не все плагины, но того, что я перечислил, хватит среднему пользователю за глаза. Нужен плагин для просмотра какого-либо экзотического формата файлов? Ищите на wincmd.ru. Не нашли - обращайтесь на forum.wincmd.ru, есть вероятность, что вам помогут найти плагин, если он существует, или даже напишут его (хотя это зависит от того, как просить будете ;)).

Установка

А теперь стоит рассказать отдельно про то, как плагины устанавливать и настраивать. Дело в том, что поддержка wlx-плагинов была добавлена довольно давно, а возможность автоматической установки - относительно недавно. Соответственно, существует много листер-плагинов, не поддерживающих автоустановку по той причине, что они были написаны до создания этой возможности. Само собой, если плагин всё же поддерживает автоустановку, то описанные далее инструкции к нему применять не обязательно, просто следуйте указаниям установщика.
Итак, не единственный, но наиболее удобный способ установки плагинов:
1. В настройках TC открываем закладку "Плагины".

2. Жмём кнопку "Настройка" в секции "Плагины внутреннего просмотрщика". Появляется окно со списком всех установленных Wlx-плагинов. Думаю, что делать дальше, вопросов ни у кого не возникнет.

Зато могут возникнуть другие вопросы: что даёт изменение порядка плагинов в этом списке, и что за строки справа от названия плагинов?
По первому вопросу: порядок плагинов равен их приоритету. Например, если для одного формата файлов подходят два вида плагинов, то сперва загружен будет тот, который в этом списке находится выше.
По второму вопросу: эти строки называются detect string, и служат для привязки плагина к типам файлов. Это очень сложный и тонкий инструмент для настройки привязок плагинов, с которым мы сейчас попробуем разобраться.

Detect string: разберёмся с детекцией

Detect string (или строка привязки) плагина обычно задаётся создателем этого плагина. С её помощью можно со стопроцентной точностью указать, какие именно файлы и в каком порядке должен открывать плагин, а какие файлы он открывать не должен ни в каком случае. Обычно правка строк привязки не требуется, но бывают случаи, когда их изменение облегчает жизнь. Такой ситуацией может оказаться конфликт двух плагинов, или неправильно созданная строка по умолчанию. Иногда, изменив строку привязки, можно значительно оптимизировать скорость открытия файла плагином. В любом случае, полезнее знать эту тонкость, но если не хотите забивать себе этим голову - пропустите эту главу.
Настройки каждого листер-плагина находятся в файле wincmd.ini в секции [ListerPlugins]. Обычно они выглядят так:

N=c:\plugin\path\pluginname.wlx
N_detect="detect string"

N - порядковый номер плагина (начиная с 0). Нас же интересует строка N_detect - то, что стоит после символа равенства, мы и будем править.
Разберём состав строк привязки:

Операторы строк привязки:
& - логическое И. Условие выполняется, если оба значения выражений истинны.
| - логическое ИЛИ. Условие выполняется, если хотя бы одно значение выражений истинно.
= - РАВЕНСТВО. Условие выполняется, если значения выражений равны.
!= - НЕРАВЕНСТВО. Условие выполняется, если выражения не равны.
< - МЕНЬШЕ. Условие выполняется, если значение выражения слева меньше значения выражения справа. Сравнение числа и строки всегда приводит к невыполнению условия; булёвые значения хранятся как 0/1 (FALSE/TRUE).
> - БОЛЬШЕ. То же самое, что и предыдущий операнд, с выполнением условия при меньшем правом значении выражения.

Примечание: сравнение строк и чисел возможно только для строк с одним символом (например, "A" или "Z"). В таком случае сравнивается ANSI-код этого символа (т.е. "A"=65).

Операнды строк привязки:
EXT - указывает расширения файлов, которые должен открывать плагин. Расширения всегда должны идти в верхнем регистре. Пример:

N_detect="ext="TXT""

Плагин будет привязан к расширению TXT.

SIZE - указывает размер файлов (в байтах), которые должен открывать плагин. Пример:

N_detect="size>1024"

Плагин будет открывать только файлы размером более 1 кб.

FORCE - ключ, указывающий на загрузку плагина при выборе пункта "Графика/Мультимедиа/LS-плагины" в меню листера. Становится равным единице, если этот пункт был выбран. Может применяться в комбинации с другими условиями, например:

N_detect="ext="TXT"|force & (ext="ASC"|ext="ME")"

Плагин будет вызываться для файлов с расширением .txt автоматически, и для файлов с расширениям .asc и .me в том случае, если пользователь выбрал пункт "Графика/Мультимедиа/LS-плагины" в меню.

MULTIMEDIA - устанавливает приоритет плагина над встроенными средствами просмотра. Работает только в TC 6.0 и выше. Пример:

MULTIMEDIA & (EXT="WAV" | EXT="MP3")

В этом случае плагин будет вызываться вместо встроенного медиаплеера для расширений .wav и .mp3

[N] - N-байт файла (полезно для проверки сигнатур). Можно обращаться к первым 8192 байтам. Пример:

([0]="M" & [1]="Z")

Эта строка осуществляет проверку на сигнатуру Windows-exe, у которых первые байты всегда MZ.

12345 - просто число 12345.

"Пример" - строка "пример"

Функции:
() - скобки. Определяют порядок выполнения/сравнения.

!() - логическое НЕТ - инвертирования выражения в скобках. Скобки обязательны, даже если выражение состоит всего из одного операнда.

FIND() - поиск текста, заключённого в скобки в первых 8192 байтах файла. Если текст найден, возвращается 1, и 0 в обратном случае. Пример:

FIND("<HTML>")

Проводится проверка всех файлов, являющихся HTML (содержащих тег открытия html-документа).

FINDI() - то же самое, но без учёта регистра.

Для дополнительной информации можно посмотреть справку по написанию lister-плагинов.

-

Пока это всё. Но это - далеко не всё, что можно рассказать о таком инструменте, как листер. Так что многое вы ещё откроете для себя в процессе его использования.
Удачи!

Павел Дубровский
15.03.06


Настройка Lister-а для просмотра текстов в кодировке KOI8

Многие до сих пор не знают, что встроенный просмотрщик Total Commander уже давно может осуществлять просмотр текста в кодировке KOI8. Естественно, для этого необходимо произвести несколько телодвижений. Но это не сложно.

Текст в koi-8 кодировке

1. Первое что нам необходимо для этого сделать - вооружиться koi8-шрифтом на ваш вкус. Если под рукой такого у вас нет, то можете скачать его здесь. Не забудьте его поместить в папку Fonts, где у вас установлена Windows.
2. Теперь открываем Lister (F3 на любом файле) и открываем его настройки Вид - Настройки (View - Settings).

3. Ищем группу настроек Шрифт (Font) и нажимаем на прямоугольник справа от пользовательского шрифта Польз. (User).

Выбираем наш koi8-r шрифт. И нажимаем ОК два раза.
4. Пользуемся. Теперь, если вы открываете в просмотрщике документ в кодировке koi8, то, чтобы его просмотреть в читабельном виде :) - нажмите на клавиатуре клавишу с буквой V - пользовательский шрифт.

Тот же самый текст :)

С уважением,

Андрей Пясецкий


Статьи о архиваторных плагинах

Статьи, посвящённые архиваторным плагинам:

· Все об архиваторных плагинах


Все об архиваторных плагинах

В этой статье я хотел бы раскрыть все аспекты установки и работы архиваторных плагинов. Вполне возможно, что-то новое для себя в ней найдут не только пользователи-новички, но и те, кто установил не один плагин на свой компьютер.
Архиваторные плагины предназначены для поддержки тех архивных форматов, которые TC не поддерживает изначально (а с такими архивами, как RAR, ACE, LHA, ARJ, US2 вы можете работать и без помощи плагинов, не говоря уже о ZIP-е, с которым Total Commander работает, как с родным). Это может быть полезным, если вам необходимо работать с такими архивами, как со старым, но когда-то популярным HA, быстроразвивающимся и ныне популярным 7Zip, или другими, более экзотическими форматами (Bzip2, Archangel, Ppmd, UFA и т.д.).
Однако на практике с помощью архиваторных плагинов реализуется поддержка работы Total Commander с такими типами файлов, как chm (файл справки), msi (инсталляционный пакет), icl (библиотека иконок), dll (динамическая библиотека) и т.д., то есть, не совсем с архивами. Такие плагины можно назвать псевдоархиваторами. Все существующие архиваторные плагины вы можете найти на wincmd.ru.

Установка

Расширение архиваторного плагина (packer plugin) - wcx.
Последние версии Total Commander и архиваторных плагинов поддерживают автоматическую установку - для того, чтобы плагин установился, достаточно просто войти в инсталляционный архив, как в папку. Появится диалог установщика, после чего плагин скопируется в указанную папку, и сам проассоциируется с теми расширениями, с которыми он может работать.

Чтобы установить архиваторный плагин, который не поддерживает автоматическую установку, распакуйте его в отдельную папку. Обычно для плагинов создают отдельный подкаталог Plugins в папке, куда установлен Total Commander. Т.е. плагин chmdir, например, распакуем в каталог C:\Totalcmd\Plugins\wcx\Chmdir\
Теперь открываем раздел настройки Total Commander, отвечающий за настройку архивов.

Нажимаем на кнопку "Настройка архиваторных плагинов" - открывается диалог редактирования ассоциаций архиваторных плагинов.

В последних версиях TC доступ к этому диалогу можно получить из раздела настроек "Плагины".

В окошке вводим расширение, с которым необходимо проассоциировать архиваторный плагин. О том, с каким расширением нужно проассоциировать плагин, можно узнать из readme-файла плагина, если это, конечно, не понятно. С одним плагином можно проассоциировать несколько расширений (ISO - iso, nrg, img).
Далее нажимаем на кнопочку "Обзор..." (если этот плагин ранее не ассоциировался ранее с другим расширением, тогда его можно будет просто выбрать из списка) и выбираем файл плагина wcx.
Если перед тем, как открыть диалог настройки плагина, в одной из панелей открыть папку плагина и сделать ее активной, то эта директория откроется по умолчанию в браузере файлов после нажатия "Обзор...", что избавит вас от поиска необходимой директории в неудобном проводнике...

Экспертная настройка

Теперь хочу обратить ваше внимание на число, которое стоит перед плагином. Оно определяет поведение и возможную функциональность архиваторного плагина. Обычно авторы плагинов заботятся об этом сами, и лучше это число не менять, но иногда приходится редактировать его под свои вкусы. Лучше этого не делать, если вы точно не знаете реальную функциональность плагина.
Это число является суммой определенных констант, определяющих свойства и возможности плагина. Вот они:
1=Плагин может создавать новые архивы
2=Плагин может изменять существующие архивы
4=В архиве может быть несколько файлов
8=Можно удалять файлы из архива
16=Плагин поддерживает диалог свойств
32=Плагин поддерживает упаковку в памяти
64=Можно определять тип архива по содержимому
128=Можно искать текст в архивах
256=Показывать как обыкновенные файлы (не показывать иконку архивного файла), входить по Ctrl+PgDn, а не по Enter.
Так, например, для плагина chmdir необходимо поставить число 388 (4+128+256=388), то есть в chm-файле естественно может быть много html-файлов (4), нам, возможно, понадобится осуществлять поиск текста внутри этих файлов (128), а по Enter-у, конечно же, удобнее открывать сам файл справки, а входить в него по Ctrl+PgDn (256). В последней версии Chmdir, справедливости ради, надо сказать, что эту проблему устранили и правильная константа устанавливается автоматически.

Плагин установлен!

Итак, если вы все сделали правильно, то все должно уже работать. Если плагин поддерживает упаковку, то теперь его расширение доступно в диалоге архивации, если же не поддерживает, то можно просто входить в соответствующие типы файлов по Ctrl+PgDn
Также не забывайте, что многие архиваторные плагины имеют собственные опции, для установки которых необходимо нажать кнопочку "Настройка" в диалоге "Упаковка файла".

Особняком среди архиваторных плагинов стоят Multiarc и Far2wc. Однако, к настоящему времени их использование - скорее исключение, чем правило, и о них отдельно рассказано не будет.

Андрей Пясецкий


Статьи о контентных плагинах

Статьи, посвящённые контентным плагинам:

· Контентные плагины, и с чем их едят


Контентные плагины, и с чем их едят

Вполне может быть, что кому-то это статья может показаться очень глупой, но на её написание меня сподвигло следующее: мне приходит довольно много писем, в большинстве которых содержится просьба просто объяснить, как установить и настроить один из моих контентных плагинов. Плюс ко всему, статья будет полезна для тех, кто просто не знает об этой возможности TC.

На самом деле, для новичка в использовании TC проблема довольно нетривиальная, хотя для тех, кто уже имеет опыт работы с этим прекрасным файл-менеджером, задача имеет очевидное решение. Да я сам, увидев впервые бету TC 6.50, слегка растерялся – имхо, интерфейс настройки контентных плагинов мог бы быть и попроще.

В этой статье вы узнаете о тонкостях настройки большинства существующих контентных плагинов... и, надеюсь, количество вопросов, приходящих на мой e-mail, весьма сократится. Статья содержит информацию о том, как устанавливать и настраивать wdx-плагины, кроме того - можно узнать о некоторых других способах их применения. Дополнительно можно прочесть статью Ergo «TC 6.50: что нового».

Итак:

Что такое контентные плагины?

Контентные плагины - это дополнительные модули для Total Commander 6.50 и выше, позволяющие ему отображать самую различную информацию для самых различных типов файлов. Самый простой и очевидный пример использования контентных плагинов – отображение ID3-тегов для мультимедийных файлов (см. скриншот).

Все контентные плагины имеют расширение wdx, и, чаще всего, их так и называют – wdx-плагины. Далее, для краткости, я тоже буду их так называть.

Типичная установка и настройка типичного wdx-плагина

Практически все плагины можно скачать с сайта http://wincmd.ru, думаю, это общеизвестный факт. На самом деле, здесь всегда можно найти самые последние обновления плагинов, а также множество полезной информации о TC, пообщаться с авторами плагинов и утилит для TC и вообще – регулярно заходя сюда, вы всегда будете в курсе последних новостей о лучшем файл-менеджере для Windows.

Впрочем, неважно, где вы взяли wdx-плагин, важно, как его установить и настроить. Рассмотрим все эти действия на примере плагина AnyTag, который, как мы видели выше, позволяет выводить информацию из тегов файлов (на самом деле, это не единственный такой плагин, но я пользуюсь именно им, ибо он вполне удовлетворяет моим скромным потребностям, и что-то менять мне нет причины). Также стоит отметить, что мой TC русифицирован с помощью перевода Константина Власова и Вадима Казакова, и этот перевод я всячески рекомендую (найти его можно всё там же).

Итак, вы скачали плагин. Далее возможно два варианта развития событий, мы рассмотрим оба. Вариант первый: просто зайдите в инсталляционный архив как обычно, и, если плагин поддерживает автоустановку, то появится примерно следующее сообщение:

Жмём Yes, выбираем каталог для установки, и всё, плагин практически готов к работе. Если у вас уже установлена другая версия плагина, как у меня, то появится следующий диалог:

Думаю, тут всё понятно. Если хотите обновить плагин – жмите Yes, если вы что-то напутали, и плагин обновлять не надо – всегда можно отказаться от установки, нажав Cancel.

После установки появится окошко, в котором будут перечислены все установленные wdx-плагины:

Закрываем его, нажав кнопку OK, плагин установлен.

Вариант второй: если плагин не поддерживает автоустановку (что случается всё реже), придётся устанавливать его вручную. Для этого делаем следующее: распаковываем инсталляционный архив туда, куда вы хотите установить плагин, заходим в настройки TC, и на странице настройки плагинов нажимаем кнопку настройки wdx-плагинов:

В появившемся диалоге нажимаем кнопку «Добавить», указываем, где лежит распакованный плагин (требуется выбрать сам файл с расширением .wdx), плагин появится в общем списке. Всё, теперь можно приступать к настройке.

Настройка плагина обычно заключается в добавлении колонок TC, в которых отображается информация, получаемая этим плагином. Чтобы настроить такую колонку, в настройках TC идём на страницу «Наборы колонок»:

Нажав кнопку «Новый», вы увидите следующий диалог:

Думаю, стоит просто привести простой пример настройки, и всё сразу же станет просто и понятно. Нажмите кнопку «Добавить колонку», появится новое пустое поле. Как можно догадаться – кнопка «Добавить колонку» - колонку добавляет, а кнопка «Удалить текущую колонку» - осуществляет противоположное действие. Если требуется – поэкспериментируйте с ними, впрочем, думаю, это понятно и так.

Если нажать кнопку «+» справа от пустого поля, то появится меню со списком всех установленных плагинов, у каждого из которых есть подменю:

Ознакомиться с назначением каждого поля обычно можно из документации к плагину, но в данном случае всё понятно и так. Нетрудно догадаться, что поле Artist предназначено для вывода информации об артисте, а поле Length – о длине трека. Если вы щёлкните по какому-нибудь полю, например по полю Title, то вы увидите следующее:

- параметры колонки изменились. Давайте разберёмся поподробнее:

Имя – имя набора колонок. Можно назвать настроенный набор как угодно, чтобы потом не путаться при выборе, например набор, предназначенный для отображения информации об MP3 у меня так и называется – MP3. Дальше вы увидите, как выбирать нужную из существующих колонок.

Заголовок: а это уже заголовок самой колонки. Для примера, давайте назовём нашу колонку «MP3-инфо».

Ширина: ширина новой колонки в пикселях. Зависит от количества колонок в наборе, разрешения экрана и ваших личных предпочтений. Давайте, для начала, сделаем 300 пикселей.

Выравнивание: по какому краю выравнивать колонку. Поэкспериментировав с этим полем, вы поймёте, зачем оно надо, а сейчас оставим его в покое.

Содержимое поля данных – это формат информации, которую мы будем получать из плагина. Собственно, чуть выше мы и настроили это поле, однако его можно довести до ума, повторив предыдущие действия, или даже отредактировав поле вручную (см. ниже).

Выравнивать колонки по ширине окна: если эта галочка установлена, то при изменении размеров окна TC колонки будут сохранять свои пропорции.

Горизонтальная полоса прокрутки: полезно, если выводимая информация не умещается в панель TC (например, колонка очень широкая, или в наборе несколько колонок). Сейчас нам эта опция не понадобится, но, в общем, она довольно полезна, и зачастую вам придётся её устанавливать.

В итоге, после «доводки до ума» мы получим следующий вид окна:

Дополнительно я отредактировал поле данных, предоставляю это сделать вам самостоятельно.

Таким же образом вы можете настроить сколько угодно колонок в одном наборе (здесь же мы ограничимся одной). Можно заметить, что в наборе обязательно присутствуют колонки Имя и Тип – их нельзя убрать или изменить, можно лишь отредактировать их размер.

После закрытия диалогов настройки только что настроенный вид включится автоматически, теперь нужно лишь зайти в какую-нибудь папку с mp3-файлами и наслаждаться:

Выбрать нужный набор колонок можно, щёлкнув правой кнопкой мыши по табуляторам каталогов, и выбрав необходимое (помните, мы обзывали наш набор, вот название и пригодилось):

Через это же меню можно сразу перейти к диалогу настройки наборов колонок... Думаю, тут всё и так понятно.

Wdx-плагины можно применять ещё для некоторых процедур. На этом я останавливаться подробно не стану, напишу вкратце:

Дополнительные возможности использования контентных плагинов

Групповое переименование.
Вы можете использовать данные из плагина для изменения имени файла (например, удобно для переименования mp3-файлов по ID3-тегу):

Поиск.
Можно искать файлы (и папки) с атрибутами, которые могут быть получены через wdx-плагины:

Поля плагинов также можно использовать при создании шаблонов поиска, и это будет работать. Таким образом, например, можно настроить подсветку файлов, имеющих определённого владельца, или подсветку документов, написанных определённым автором.

Подсказки.
Можно настроить вывод подсказок, содержащих информацию из wdx-плагинов:

Как видно, данные, выводимые с помощью wdx-плагинов, дублируют данные стандартной ole-подсказки, но это отключается в настройках.

Подписи к эскизам

Контентные плагины можно использовать и при просмотре эскизов. Для этого идём в соответствующий пункт настроек, и добавляем там нужные поля:

Дополнительные поля можно задать как общие для всех типов файлов, так и разные для каждого расширения (для этого нажмите кнопку "По типу файлов").

В будущих версиях TC Кристиан Гислер обещает новые возможности, связанные с использованием wdx-плагинов, так что – будем ждать.

Некоторые особенности некоторых wdx-плагинов

Как было написано выше – подавляющее большинство плагинов не требуют какого-то дополнительного шаманства, чтобы начать работать. Но некоторые плагины нужно дополнительно настраивать различными способами (это может быть просто необходимо для их работы, может улучшать работу, либо расширять возможности плагина). Я постараюсь описать все такие плагины, существующие на данный момент (однако, плагины постоянно обновляются, всё время выходят новые – так что информация, приведённая в этой статье, может оказаться и устаревшей). Также я не стану описывать здесь незначительные настройки плагинов (вроде настроек CDocProp), на самом деле, ничего особо не дающие.

FileGroups

Плагин, позволяет заносить файлы в группы (полезно для поиска и сортировки). Настройка проводится ручным редактированием ini-файла. Пример:

[Groups]
0=exe|com
0_name=Программы

- заносит все exe и com – файлы в группу «Программы». Т.е. формат файла:

[Groups]
№№=расширение|расширение
№№_name=Название группы

GlobalDiz

Этот плагин во многом аналогичен предыдущему, но умеет гораздо больше. Разобраться с его работой довольно сложно, но многим он просто необходим. Здесь подробного описания приводить не стану, т.к. оно дано в сопроводительной документации плагина. Вкратце – вам требуется настроить плагин, и далее работать с базой описаний посредством программы add_diz.exe.

Media content

На мой взгляд, автор не совсем удачно поступил, сделав диалог настройки частью самого плагина:

Во-первых, их сложно найти, если не знать, где искать. Во-вторых, приходится каждый раз заходить в настройки колонок, если требуется настроить плагин.

Но, в принципе, можно поступить и иначе – нужно запустить файл run_sett.bat в каталоге плагина, и диалог настройки плагина появится на белый свет :)

ShellDetails

Просто маленькая информация: иногда плагин отказывается работать после переустановки системы (если вы сохраняете TC со всеми плагинами и настройками, а не переустанавливаете его заново). Проблема решается очень просто – плагин нужно переустановить, и перенастроить.

Translit

Плагин умеет транслитерировать символы в именах файлов. Как ни странно – большинство вопросов приходит именно по этому плагину. Многие, установив и даже настроив плагин, не могут понять – зачем он нужен, и как им пользоваться.
Нужен он, собственно, для транслитерации имён файлов. Например, некоторые FTP не поддерживают кириллические символы в именах файлов, приходится писать их транслитом (т.е. – русские слова – латинскими буквами). То же самое может понадобиться и для некоторых MP3-проигрывателей, не поддерживающих кириллицу.
А пользоваться плагином можно через групповое переименование. Благодаря этой функции TC, переименование нескольких тысяч файлов займёт всего несколько секунд.
Ещё одна возможность плагина – с его помощью можно смотреть имена файлов, написанные символами других кодировок (например, UTF8 или KOI8). Это достигается с помощью подключением дополнительных таблиц транслитерации, как это сделать – смотрите в сопроводительной документации плагина.

Дополнительно, плагин умеет транслитерировать и текст внутри файлов, подробности здесь.

Wdx_super

После того, как вы уже некоторое время используете возможности wdx-плагинов, появляется один вопрос: а нельзя ли привязать каждый плагин к расширению? Например, чтобы для jpg и gif файлов использовалась информация из Image Info – плагина, для mp3 и ogg – из AnyTag и т.п.
К сожалению, сам TC не позволяет это осуществить, зато существует плагин wdx_super, позволяющий это осуществить. Его требуется настраивать с помощью внешней утилиты SSettings.exe, как это сделать – подробно описано в сопроводительной документации.

По этому плагину также приходит много вопросов – но ничего такого, что нельзя бы было найти в readme.

Кое-какая дополнительная информация

Всегда читайте сопроводительную документацию к плагинам. Зачастую там содержится большинство ответов на возникающие вопросы.

Старайтесь читать комментарии пользователей к плагину (на сайте http://wincmd.ru). Оттуда тоже можно почерпнуть очень много интересной информации.
Если у вас возникли какие-то вопросы по плагину – попробуйте сначала задать их на форуме http://forum.wincmd.ru – шанс, что вы получите ответ, возрастает многократно, не исключено даже, что там уже есть ответ на ваш вопрос. Писать автору нужно только в случае, если ответ вы так и не получили. Не скажу за всех авторов, но мне очень надоедает, когда от разных пользователей приходит куча одинаковых вопросов, ответы на которые они могли бы получить, прочитав readme.

Павел Дубровский


Статьи о системных плагинах

Статьи, посвящённые файлсистемным плагинам:

· Файлсистемные плагины: обзор возможностей


Файлсистемные плагины: обзор возможностей

Файловые системы и файлсистемные плагины

Начать статью о файлсистемных плагинах стоит с рассказа о том, для чего они изначально придумывались. Как нетрудно догадаться из названия этой главы - придумывались они для того, чтобы TC умел работать с файловыми системами, не поддерживаемыми операционной системой. Первым плагином, демонстрирующим изначальное предназначение, стал ex2fs - плагин, позволяющий монтировать файловые системы Ext2/Ext3 и ReiserFS - т.е. с его помощью можно спокойно пользоваться логическим разделом (или даже физическим диском) на котором у вас был установлен Linux (правда, в режиме read only).
К плагинам подобного рода относится и NTFS4TC, который, в своё время, не раз выручал меня при моих походах с винтом. Он позволяет (если это ещё не ясно из его названия) работать с NTFS-разделами, причём даже под 9x виндами, которые о такой роскоши могут только мечтать. Этим возможности плагина не ограничиваются - он ещё может показывать содержимое NTFS MFT и, что очень вкусно, создавать и монтировать образы дисков (это может быть архиполезно для создания бэкапа системного раздела диска целиком). Весит плагин всего 67 килобайт, что для такой классной утилиты - предел мечтаний :)

NTFS-раздел как на ладони

Но кто сказал, что можно ограничиваться только "компьютерными" файловыми системами? Ведь существует множество разнообразных устройств, которые хранят в себе данные - это и наладонные компьютеры, и цифровые камеры, и, конечно же, чума 21 века - мобильные телефоны.
И для всего этого (ну, или почти всего) написаны файлсистемные плагины. Неудобные стандартные программы большей частью отправляются в лес - удобство пользования двухпанельным файловым менеджером в связке с такими плагинами невозможно недооценить.
А вот и сами плагины:

CanonCam
Плагин для работы с цифровыми фотокамерами Canon. Просто берём и копируем с подключённой камеры фотки и фильмы... Разве не супер?

wincefs
Работаем с файловыми системами Windows CE и PocketPC. Не имею ни того, ни другого, так что отзыв дать не могу.

Diamond Rio PMP300 FS-Plugin
Архиполезный плагин для обладателей Rio MP3 плееров. Судя по описанию, читает и пишет, так что ещё надо для кидания MP3 в плеер?

Iriver Storage
Плагин обеспечит поддержку плееров Iriver (список поддерживаемых серий смотрите в его описании).Умеет даже форматировать файловую систему плееров :)

А что же мобильные телефоны? А вот:

SGHFS Plugin
Обладатели телефонов Samsung (не всех, правда :P) радуются и прыгают - этим плагином они теперь творят со своими мобильными всё, что хотят. В дистрибутиве даже есть листер-плагин для прослушки MMF, красота, да и только...

Motorola P2K plugin
Обладатели моторолок радуются даже больше, чем обладатели самсунгов, потому что этот плагин - не что иное, как порт известной им утилиты P2KTools, и, соответственно, может всё, что может эта утилита... а может она много.

SYMBFS - Symbian Filesystem
Владельцы крутых девайсов с Symbian OS (смартфоны) могут пользоваться этим плагином для скачки и закачки файлов в свои устройства. Мне даже один раз довелось поработать через этот плагин с Nokia 3650 - никаких нареканий :)

vsofs - Siemens Obex File System

Настройки vsofs

Те, у кого мобильники от Siemens, будут рады узнать, что и для них есть плагин. Его возможности можно проанализировать по скриншоту... А потом скачать и наслаждаться.

EFS Plugin
А это - универсальный плагин для всех мобильников с файловой системой Embedded file system. Поддерживаемые телефоны: HUAWEI ETS 668,678,688,388 и многие другие CDMA телефоны.

Плагины без границ

Казалось бы - вот и все способы применения этого типа плагинов. Но авторам не захотелось ограничиваться физическими файловыми системами - ведь есть столько логических систем... По сути, в виде файловой системы можно представить очень и очень многое... Это, конечно, лучше один раз увидеть, чем один раз прочесть, но всё-таки:

Плагины для работы с реестром

А что? Реестр Windows - отличный пример как раз вот такой логической файловой системы, о которых я говорил чуть выше. Если представить разделы как папки, а записи - как файлы, то это вполне укладывается в голове.
Плагины TurboRegistry и Registry как раз и обеспечивают работу с реестром подобным образом. Несмотря на отсутствие приставки "Turbo" плагин Registry будет получше (TurboRegistry написан с применением .NET со всеми вытекающими недостатками). С помощью Registry можно даже подключить реестр удалённой машины и работать с ним.

Плагин Registry

Удаление и установка... нет, только удаление :)

Примерно из той же серии плагины Uninstall и UnInstaller. Uninstall был первым плагином, Uninstaller стал вторым и, по моим личным ощущениям - он лучше. Абсолютно безглючный, и, в целом, - несколько мощнее.
Само собой, эти плагины предназначены для деинсталляции программ, находящихся в списке "Установка и удаление программ" Панели управления Windows. И, само собой, можно удалять даже скрытые от удаления программы. "Маст хев" в общем, я и не помню, когда стандартным апплетом пользовался - только плагинами.

Самый классный Uninstaller

Events NT - архиклассный плагин. Замечательная замена виндовой оснастки просмотра событий:

Ба! Да у меня на сидюке бады!

Current User Privileges - ещё одна замена виндовой оснастке, на этот раз - позволяющая просмотреть привилегии текущего пользователя в системе.

TC Services - один из самых полезных плагинов из серии замены виндовых оснасток. Позволяет просматривать и изменять статус сервисов:

Творим с сервисами что хотим

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

А как вам вот такой скриншот:

Железки как на ладони

Плагин Device Manager показывает список установленного на компьютере оборудования... И не только показывает, а позволяет добавлять и удалять железки и менять их параметры. Плюс - отображение используемых железом драйверов, быстрый вызов стандартного "Help and support", и многое другое. Но самое вкусное - это то, что плагин позволяет создать этакий мега-пак из всех используемых драйверов. И при следующей переустановке Windows драйвера для всего железа можно будет просто установить из сохранённого плагином репозитория. Супер!

Диспетчеры задач для TC

Procfs и AceHelper - ещё два похожих плагина. Первый уже давно достиг логического совершенства, а второй - развивается, и обещает стать одним из самых навороченных плагинов.
Оба этих плагина - это менеджеры процессов TC.

Procfs Task Manager

AceHelper Task Manager

Оба плагина относятся к разряду "лучше один раз пощупать", так что - заряжаем качалки, и сливаем последние версии, жалеть не придётся. У каждого свои преимущества, можно выбирать долго, а можно пользоваться и тем и другим.

TipTop также можно отнести к разряду менеджеров процессов, пусть и не таких навороченных, как предыдущие. Возможно, кто-то предпочтёт его.

Простой менеджер процессов Tip Top

Пишем всё, что пишется, жжём всё, что жжётся

Neropanel, TCBurner, и Complex CDBurner - целых три плагина для записи компакт-дисков (CD/DVD). Каким из них пользоваться (а то, что пользоваться вы ими будете - это точно) - решать вам, вот их недостатки и достоинства:
Neropanel использует NeroAPI. Это хорошо тем, что функционал (теоретически) - такой же, как у этого мощнейшего пакета. Плохо тем, что плагину этот самый пакет нужен для работы, то есть Nero ставить всё равно придётся.
TCBurner - был бы идеалом, если бы корректно работал с мультисессиями. А так - постоянные жалобы, что он портит мультисессионные болванки, если в записываемых файлах есть русские символы. В остальном - это просто конфетка: 800 kb веса - и к вашим услугам запись Data CD/DVD, Audio CD, создание ISO/CUE и абсолютное отсутствие капризов по поводу поддерживаемых приводов.

Complex CDBurner же имеет один недостаток - он платный. А это, к сожалению, сводит на нет всю радость от использования неплохого, в общем-то плагина. Работает месяц, а потом требует лекарства... А зачем нам нарушать закон, если есть бесплатный TCBurner?

Сеть и FTP

Многим не хватает возможностей, предоставляемых TC при работе с сетью и FTP-серверами. Поэтому появилось несколько плагинов, исправляющих эту ситуацию:

NetworkAlt - простая замена сетевого окружения Windows, через которое работает TC. Умеет показывать скрытые ресурсы (в TC это надо включать отдельно) и избавлен от тормозов, иногда случающихся в TC.

SHAREDFILES - показывает все расшаренные файлы на данном компьютере, открытые сейчас по сети. С его помощью можно быстренько "отрубить" доступ к шаре, что иногда очень удобно.

LAN Seeker - ещё один плагин для замены сетевого окружения. Его возможности (цитата из readme):
· Netbios сканирование сетей Microsoft по одному или нескольким заданным диапазонам IP адресов для создания списка активных компьютеров. Список сохраняется в базе и все последующие сканирования проводятся по базе.
· Просмотр дисковых ресурсов на хостах
· Поддержка всех основных операций с файлами и папками: Копирование, удаление, переименование...
· Возможность докачки файлов после срыва.
· Показ скрытых/админских шар
· Показ информации о хостах и шарах по Alt+Enter
· Настраиваемый поиск
· Показ разных значков для хостов с разными ОС и для шар разных типов

Кому не хватит этих возможностей при повседневной работе? По-моему, таких людей будет довольно мало.

FTP Monitor - своего рода вспомогательный плагин. Он пингует FTP-сервера из списка FTP-клиента TC, и по результатам показывает скорость доступа и приблизительную скорость скачивания и закачивания файлов на этот сервер.

Sftp Plugin - плагин, исправляющий недочёт встроенного клиента TC - отсутствие работы по протоколу SFTP. Собственно, этим описанием и ограничусь.

ftplist - плагин, выводящий список имеющихся в TC FTP-соединений. Удобнее стандартного Ctrl+F тем, что элементы списка можно импортировать и инако изгаляться, в общем - может кому и пригодится.

Сюда же можно отнести и следующие плагины, так или иначе связанные с сетью:

FSNetStat - показывает список открытых TCP/UDP портов

Плагин FSNetStat

HTTP Browser и HTTP SmartBrowserPlugin - схожие по идее плагины, которым с первого раза бывает трудновато придумать применение. Дело в том, что они позволяют ползать по сайтам в интернете как по дискам... Ссылки будут представлены в виде каталогов, а странички, картинки и прочие файлы - соответственно, в виде файлов.

HTTBBrowser внутри Яndex Desktop Search

WebDAV - плагин для работы с WebDAV-хранилищами (написано, что держатся все стандартные хранилища). Те, кто знает, о чём я, поймут.

RSS Reader - читалка RSS-новостей. Группы новостей представлены папками, сами новости - текстовыми файликами, незатейливо - но архиудобно!

POP3 Connections - похож на предыдущий плагин, за тем отличием, что читает не RSS-фиды, а обычную почту (как понятно из названия - поддерживается только POP3). Из недостатков - я так и не смог заставить его работать через редиректные ящики (когда адрес мыла не совпадает с фактическим адресом сервера) и через прокси. В остальном - бывает удобно.

POP3 Connection - кто сказал, что TC не читает почту?

Удобство не без оригинальности

И всё-таки, иногда можно только развести руками и удивлённо сказать "там даже вот такое есть!". Некоторые плагины столь оригинальны, что о них я решил рассказать отдельно.

TConsole - один из самых оригинальных, полезных, и в то же время - противоречивых плагинов. Он исполняет мечту тысяч пользователей - добавляет в панель Total Commander консоль. Настройки богатейшие, есть свои неудобства, но привыкнуть можно. Посмотрите на скриншот - это не глюк и не фотомонтаж - это действительно FAR, запущенный в панели Total Commander (причём сносно работающий).

Пользователи FAR, это у нас нет консоли?

Virtual Disk - также очень оригинальный и умеренно полезный плагин. Как всегда - по названию определяем назначение. Да - это эмулятор компакт-дисков, не такой навороченный, конечно, как Alcohol 120%, но непритязательному пользователю его хватит. Плагин умеет подключать любые образы дисков, главное - чтобы их файловая система распознавалась операционной системой.

Подключаем виртуальный диск из Тотала!

TWinAmp - моя собственная разработка. Работаем с плейлистом Winamp как с папкой, содержащей музыкальные файлы. Копируем, удаляем, добавляем, редактируем теги... В общем - я уже без него жить не могу. Плагин умеренно глючит, но я с этим борюсь :)

Плейлист Winamp в панели TC

И это ещё не всё!

А следующие плагины, в принципе, могли бы быть реализованы в виде внешних утилит... Но они реализованы плагинами, и это даёт им свои преимущества - вы обнаружите их сразу же, как только начнёте этими плагинами пользоваться.

Плагины-каталогизаторы

CDDataBase и FileRedirector. Суть их сводится к тому, что они создают виртуальную файловую систему для организации хранения информации со съёмных носителей. Т.е. в такой системе может храниться список ваших компакт-дисков с перечислением информации о файлах на них. При обращении к файлу внутри плагина он попросит вас вставить нужный диск, и дальше можно будет работать с этим диском нормально.
У обоих плагинов есть свои преимущества и недостатки. Оба не дотягивают до программ класса WhereIsIt, но, в сочетании с возможностями TC, обладают внушительной мощью.

CDDataBase - неплохой каталогизатор

Calendar - интересный (но, имхо, бесполезный) плагин. Умеет показывать события дня, лунные фазы и время восхода Солнца, а также синхронизировать время с атомным временем.

Самый оригинальный календарик

CD-Ripper - хороший, но несколько глючноватый плагин для рипа CD-Audio. Умеет также конвертировать музыкальные файлы из формата в формат (держатся WAV, MP3, OGG), и всё бы хорошо, если бы не глючность. Работает через раз и постоянно "теряет" настройки. Альтернативы, к сожалению, пока нет.

Настройки CD-Ripper

Control Panel - простецкий плагин для быстрого доступа к апплетам панели управления, ничего более

DialPWD - интересный плагин для "кулхацкеров". Показывает кэшированные пароли Windows 9x, потому сейчас, по большей части, бесполезен.

Startup Guard - показывает все программы, запускающиеся автоматически на компьютере. Проверяется реестр, автозагрузка и прочие "нехорошие" места. Все программы можно прибивать и включать обратно, в общем - полезная приблуда.

MirandaFS возможно покажется полезным тем, кто пользуется этим клиентом. Я к таковым не отношусь, потому могу лишь процитировать ридми: это плагин к Total Commander, позволяющий осуществлять навигацию по файлам профилей миранды, смотреть и сохранять истории разговоров, копировать и переносить контакты (вместе со всей историей и настойками) между профилями, удалять их, осуществлять поиск в историях (намного быстрее, чем в самой миранде, плюс можно искать в нескольких профилях сразу), просматривать информацию и статистику по целым профилям и отдельным контактам, сжимать файлы профилей.

Temporary Drive и Temporary Panel - два схожих по возможностям плагина. Создают виртуальную файловую систему, в которой можно временно "хранить" файлы (на самом деле, хранятся только ссылки, но для пользователя всё абсолютно прозрачно). Пример, зачем это нужно: приходит ко мне кто-нибудь с винтом за музыкой. Он ползает по моим архивам, закидывает на временную панель понравившиеся треки, а потом копирует их скопом себе. Здорово и вечно, а главное - полезно.

Plugin Manager. Оригинальный плагин - менеджер плагинов :) А почему нет? Позволяет настраивать, устанавливать и удалять все поддерживаемые TC типы плагинов.

Плагин для работы с плагинами

ADO Data Sources. Цитирую ридми: плагин обеспечивает доступ к объектам серверных и локальных БД, допускающих подключение с помощью технологии Microsoft ADO: OLE DB провайдеров (MS SQL, Oracle, DB2, Sybase, InterBase, MySQL, MS Access...) и ODBC драйверов (Paradox, dBASE, FoxPro, Excel, CSV...). Я пользовался им пару раз, и то - больше в целях эксперимента, но по отзывам - очень удобная и полезная штука.

Back2Life for TC - замечательный, хотя и платный :( плагин для восстановления убитых файлов. Работает с FAT/NTFS. Незарегистрированная версия имеет одно ограничение: перед восстановлением каждого файла делает пятнадцатисекундную паузу.

FSClipboard - плагин для повседневного применения - удобный просмотр содержимого буфера обмена Windows. Текст и графика, находящиеся в клипборде, отображаются как соответствующие файлы.

Environment Variables - плагин, позволяющий просматривать, редактировать и изменять системные переменные окружения (%temp%, %path% и т.д.)

RamCopy. Классный плагин, но немного неудобный. Дело в том, что он предназначен для копирования файлов через оперативную память. Файл считывается в ОЗУ - пишется на диск. Я проверял - да, это даёт ускорение копирования процентов на 10% (естественно, свободной памяти должно быть больше, чем весит копируемый файл), но то, что приходится постоянно находиться в файловой системе плагина, сводит на нет все преимущества.

CVSBrowser - плагин для работы с CVS-репозиториями. Несколько странный интерфейс настройщика, но, в принципе, удобная вещь... наверное, потому что мне им пользоваться не приходилось :)

MKS Source Integrity® Browser - плагин, позволяющий работать с проектами Source Integrity (просматривать участников группы, репорты и другое). Требует установленного MKS Client Software для работы.

Всё, баста. Плагины у меня наконец-то закончились :)
Перечисленные плагины, в основном бесплатны. Я могу навскидку вспомнить всего лишь три платных плагина, у двух из которых есть бесплатные аналоги. Некоторые плагины обновляются чуть ли не каждый день, какие-то - застыли на месте. Некоторые плагины - бесполезны и написаны просто потому, что могли быть написаны, но гораздо больше плагинов таких, без которых работать становится уже сложно...

Я упомянул тут, само собой разумеется, не обо всех существующих плагинах. Некоторые из них прекратили развиваться и ушли в небытие, некоторые столь специфичны, что обычному смертному не нужны вовсе... Может быть и так, что во время написания этой статьи появилась парочка новых плагинов, дающих лучшему в мире файловому менеджеру новые возможности. Но и в тех плагинах, что я упомянул, каждый найдёт пару-тройку для собственного использования.

Все описанные плагины можно найти в соответствующем разделе сайта "Всё о Total Commander".
Удачи!

Павел Дубровский
07.02.06


Создателям плагинов и утилит

Статьи для создателей плагинов и утилит:

· Lister-плагин на Borland C++ Builder 6 для начинающих
· Lister-плагин на Borland Delphi 7 для начинающих
· К вопросу об анатомии окна Multi-Rename Tool и раздела [rename]
· Находим местоположение WINCMD.INI
· Основы написания WFX-плагина на Borland Delphi
· Пример создания скрипта для PowerPro
· Структура раздела [Searches]
· Структура разделов [lefttabs] и [righttabs]


Lister-плагин на Borland C++ Builder 6 для начинающих

Не боги горшки обжигают…

Наверное, данная статья является не учебным пособием, а попыткой обобщить опыт, полученный автором в процессе разработки плагина xBaseView на Delphi 7, когда пришлось столкнуться с проблемами, довольно неприятными программисту, привыкшему к мощной поддержке VCL среды.

Задача: создать плагин для просмотра RTF файлов

Создаем проект DLL библиотеки и сохраняем его под именем ListSimpleBcb.bpr в отдельной папке, изменим расширение имени плагина на WLX в опциях проекта.
Модуль Unit1.cpp сохраняем под именем ListSimple.cpp.
Плагин должен экспортировать из библиотеки три функции:

ListGetDetectString,
ListLoad,
ListCloseWindow.

ListGetDetectString должна записать в параметр DetectString строку, которая содержит RTF.
ListLoad вызывает плагин для работы и передает параметры:
ListerWin - дескриптор окна Листера;
FileToLoad - полное имя RTF файла.
Плагин должен создать свое окно в качестве дочерней по отношению к окну Листера и вернуть дескриптор этого окна. Эту инициализацию мы будем осуществлять в функции ShowRTF:

HWND ShowRTF(HWND ListerWin, char* FileToLoad);

ListCloseWindow требует от плагина завершения работы, передавая дескриптор окна плагина. Это освобождение ресурсов мы будем делать в функции HideRTF:

void HideRTF(HWND PluginWin);

Надо добавить в проект форму, изменить ее имя на fmMain и сохранить модуль формы под именем unMain.cpp. Эта форма и есть окно плагина.
В заголовочный файл unMain.h надо добавить определения двух вышеприведенных функции и удалить бесполезную глобальную переменную:

extern PACKAGE TfmMain *fmMain;

Замечание: ПЛАГИН НЕ ДОЛЖЕН ИСПОЛЬЗОВАТЬ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ!

Бросив на форму компонент RichEdit, надо установить ему такие свойства:

Align = alClient,
ReadOnly = True,
ScrollBars = ssBoth.

Объект RichEdit1 обеспечивает всю работу с RTF файлом.
В плагинах часто используется контекстное меню, поэтому надо бросить на форму компонент PopupMenu и создать два пункта меню Help и About, назначив им клавиши F1 и F2, соответственно. Необходимо прикрепить контекстное меню объекту RichEdit1, установив свойство RichEdit1:

PopupMenu = PopupMenu1.

Окно плагина является дочерним, следовательно, оно не должно иметь рамку и заголовок. Для этого надо переопределить виртуальную функцию CreateParams класса TCustomForm. Здесь, мы кроме настройки стилей окна:

Params.Style = WS_CHILD | WS_MAXIMIZE & !WS_CAPTION & !WS_BORDER;

зарезервируем память для хранения указателя на нашу форму:

Params.WindowClass.cbWndExtra = sizeof(void *);

Указатель нужен функции HideRTF для корректного закрытия плагина. В функции ShowRTF мы сохраняем указатель в WinAPI структуре окна плагина следующим вызовом:

SetWindowLong(fmMain->Handle, GWL_USERDATA, (LONG)p);

Позднее мы вытащим указатель из структуры, используя дескриптор нашего окна, который является параметром HideRTF, вызывая функцию GetWindowLong:

GetWindowLong(PluginWin, GWL_USERDATA);

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

fmMain = (TfmMain *)(TWinControl::CreateParentedControl(__classid(TfmMain), ListerWin));

Для работы плагина нам понадобятся следующие данные: дескрипторы окон Тотал Командира и Листера, и режим работы плагина: в обычном окне или на одной из двух панелей Тотал Командира (так называемый Quick View - режим быстрого просмотра). Дескрипторы нужны, чтобы избежать краха по клавишам выхода Alt+X и для реагирования на быстрые клавиши Листера. Эти данные будем хранить, соответственно, в переменных TotCmdWin, ParentWin и QuickView. Добавим их определения в public раздел класса формы в файле unMain.h. Дескриптор окна Тотал Командира мы можем найти по имени класса этого окна (это не VCL класс!) с помощью WinAPI функции FindWindow.
Немного теории. Особенностью библиотеки визуальных компонентов Borland VCL является использование глобального объекта "приложение" - Application. Этот Application имеет скрытое окно, которое должно быть владельцем всех окон приложения, что обеспечивает корректное поведение всех окон программы. И DLL библиотека плагина, и исполняемый EXE файл Тотал Командира имеют собственный глобальный объект Application, следовательно, требуется их синхронизация. Для этого надо присвоить дескриптор скрытого окна объекта Application исполняемого файла дескриптору объекта Application библиотеки. К сожалению, Тотал Командир, хотя он написан на Delphi и использует все удобства и прелести VCL, не передает нам дескриптор данного скрытого окна (может, причиной этого является проблема версии компиляторов Delphi?). За неимением оного будем использовать для синхронизации дескриптор окна Листера, в противном случае наше модальное окно (например, окно About) поведет себя неестественно, оно появится на панели задач Windows. Эта синхронизация является задачей для функции ShowRTF.
Чтобы защитить Тотал Командир от сбоев плагина, будем использовать событие OnException объекта Application, которое перехватывает необработанное исключение. Кинем на форму компонент ApplicationEvents, переименуем его на App и создадим обработчик события OnException, куда введем вызов функции MessageBox для выдачи сообщения о сбое. Сохранив проект и модуль, можно удалить из формы ненужный компонент ApplicationEvents. Установка адреса обработчика события в Application.OnException также является задачей для функции ShowRTF.
Все готово для ShowRTF? Увы, "маленькая неточность" в Plugin API Тотал Командира (включая v.6.02) значительно усложняет нашу работу:
Если пользователь откроет окно плагина, затем переключится на Тотал Командир и закроет Тотал Командир, то мы не получим вызов через ListCloseWindow для завершения своей работы. Вместо этого Тотал Командир или Листер (кто его знает?) уничтожает наше окно вызовом WinAPI функции DestroyWindow, а потом то же самое попытается сделать наш объект Application, в конечном счетё плагин вылетит с нарушением защиты памяти (General Protection Fault)!
Если бы мы не стали делать вышеописанную синхронизацию, этой проблемы удалось бы избежать Что ж, будем расплачиваться за это, и поставим ловушку для перехвата сообщений, которое получает наше же окно, подобно змее, которая пожирает себя за свой собственный хвост! Не будем вдаваться в подробности Windows API (кому же он нравится?), вкратце суть дела такова.
Объявляем структуру TPlugInfo, где будем хранить данные, которые нужны для закрытия плагина. При инициализации выделяем память под эту структуру и заполняем ее. Определяем функцию HookDestroy, который будет перехватывать оконные сообщения, чтобы среагировать на сообщение WM_DESTROY (уничтожение окна). Вызовом SetWindowLong(…, GWL_WNDPROC, …) подменяем стандартный обработчик оконных сообщений на функцию HookDestroy. Похожим вызовом SetWindowLong в функции завершения HideRTF обратно восстанавливаем прежний обработчик.
Важно то, что когда функция HookDestroy поймает сообщение WM_DESTROY, она вызывает функцию завершения HideRTF точно так же, как это делает функция ListCloseWindow. В результате мы всегда успеваем нормально закрыть окно и убрать за собой, что, к примеру, демонстрирует free(p) из HideRTF, освобождая память, выделенную в ShowRTF.
Остается создать диалоговую форму About, обработчики контекстного меню и обработчик RichEdit1KeyDown, который ловит нажатие специальных клавиш и передает их с помощью PostMessage в соответствующее окно. Если здесь не перехватывать клавиши Alt+X, это приведет к краху плагина. Причем, здесь придется удерживать фокус ввода в RichEdit1, проверяя режим работы плагина, т.е. значение переменной QuickView.

Об отладке и тестировании плагина.

Листер имеет встроенную возможность просмотра RTF файлов, поэтому перед запуском плагина надо отключить ее, сняв пометку у флага RTF в окне Configure Lister.
Чтобы использовать интегрированный отладчик IDE BCB, закройте Total Commander, а в BCB через меню "Run/Parameters" откройте диалог и в поле Host Application введите путь к Total Commander с помощью кнопки [Browse]. Теперь можно запускать плагин из-под BCB.
Ссылка для скачивания архива с примером здесь.
PS. Уважаемый Читатель! Программирование - многовариантно и я никак не претендую на абсолютную истину. В качестве дополнительного материала предлагаю Вам ознакомиться с исходными текстами плагина xBaseView - "Просмотр DBF, DB, MDB, ADO и ODBC баз данных", который предоставляется с исходными текстами, и где применяется аналогичный подход.
PPS. Прошу Читателя-Полиглота помочь мне перевести статью на английский язык, чтобы послать ее Кристиану Гислеру, автору знаменитого файл менеджера Тотал Командир, с призрачной надеждой, что он предпримет какие-то шаги навстречу нам - VCL программистам.

Е. Савич
19.03.04
© Mutex Ltd.
mutex@nm.ru


Lister-плагин на Borland Delphi 7 для начинающих

Не боги горшки обжигают…

Наверное, данная статья является не учебным пособием, а попыткой обобщить опыт, полученный автором в процессе разработки плагина xBaseView на Delphi 7, когда пришлось столкнуться с проблемами, довольно неприятными программисту, привыкшему к мощной поддержке VCL среды.

Задача: создать плагин для просмотра RTF файлов

Воспользуемся пунктами меню "File/New/Other" и в окне New Items выбираем значок DLL Wizard и сохраняем проект под именем ListSimple в отдельной папке, т.е. плагин является DLL библиотекой. Через пункты меню "Project/Options" откроем диалоговое окно и в поле "Target file extension" введем расширение имени плагина: WLX.
В разделе USES DPR файла модуль Classes изменяем на модуль Windows.
Плагин должен экспортировать из библиотеки три функции:

ListGetDetectString,
ListLoad,
ListCloseWindow.

Их тексты находятся в файле ListSimple.dpr.
ListGetDetectString должна записать в параметр DetectString строку, которая содержит RTF.
ListLoad вызывает плагин для работы и передает параметры:
ListerWin - дескриптор окна Листера;
FileToLoad - полное имя RTF файла.
Плагин должен создать свое окно в качестве дочерней по отношению к окну Листера и вернуть дескриптор этого окна. Эту инициализацию мы будем осуществлять в функции ShowRTF:

function ShowRTF(ListerWin: HWND; FileToLoad: string): HWND;

ListCloseWindow требует от плагина завершения работы, передавая дескриптор окна плагина. Это освобождение ресурсов мы будем делать в процедуре HideRTF:

procedure HideRTF(PluginWin: HWND);

Надо добавить в проект форму, изменить ее имя на fmMain и сохранить модуль формы под именем unMain.pas. Эта форма и есть окно плагина.
В модуле unMain можно удалить бесполезную глобальную переменную:

var fmMain: TfmMain;

Замечание: ПЛАГИН НЕ ДОЛЖЕН ИСПОЛЬЗОВАТЬ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ!

Бросив на форму компонент RichEdit, надо установить ему такие свойства:

Align = alClient,
ReadOnly = True,
ScrollBars = ssBoth.

Объект RichEdit1 обеспечивает всю работу с RTF файлом.
В плагинах часто используется контекстное меню, поэтому надо бросить на форму компонент PopupMenu и создать два пункта меню Help и About, назначив им клавиши F1 и F2, соответственно. Необходимо прикрепить контекстное меню объекту RichEdit1, установив свойство RichEdit1:

PopupMenu = PopupMenu1.

Окно плагина является дочерним, следовательно, оно не должно иметь рамку и заголовок. Для этого надо переопределить виртуальный метод CreateParams базового класса TCustomForm. Здесь, мы кроме настройки стилей окна:

Params.Style := WS_CHILD or WS_MAXIMIZE and not WS_CAPTION and not WS_BORDER;

зарезервируем память для хранения указателя на нашу форму:

Params.WindowClass.cbWndExtra := SizeOf(Pointer);

Указатель нужен процедуре HideRTF для корректного закрытия плагина. В функции ShowRTF мы сохраняем указатель в WinAPI структуре окна плагина следующим вызовом:

SetWindowLong(fmMain.Handle, GWL_USERDATA, Integer(p));

Позднее мы вытащим указатель из структуры, используя дескриптор нашего окна, который является параметром HideRTF, вызывая функцию GetWindowLong:

p := Pointer(GetWindowLong(PluginWin, GWL_USERDATA));

Для работы плагина нам понадобятся следующие данные: дескрипторы окон Тотал Командира и Листера, и режим работы плагина: в обычном окне или на одной из двух панелей Тотал Командира (так называемый Quick View - режим быстрого просмотра). Дескрипторы нужны, чтобы избежать краха по клавишам выхода Alt+X и для реагирования на быстрые клавиши Листера. Эти данные будем хранить, соответственно, в переменных TotCmdWin, ParentWin и QuickView.
Напишем нестандартный конструктор CreateParented для инициализации этих трех переменных формы и для загрузки RTF файла в наше окно (в RichEdit1). Достаточно иметь два параметра конструктора: ParentWindow - дескриптор окна Листера и FileToView - имя RTF файла. Дескриптор окна Тотал Командира мы можем найти по имени класса этого окна (это не VCL класс!) с помощью WinAPI функции FindWindow.
Однако, тут самое главное то, что этот конструктор перекрывает и вызывает конструктор CreateParented базового класса TWinControl, чтобы создать наше окно в качестве дочернего. Таким образом, инициализационная функция ShowRTF может создать наше окно простым вызовом нестандартного конструктора CreateParented.
Немного теорий. Особенностью библиотеки визуальных компонентов Borland VCL является использование глобального объекта "приложение" - Application. Этот Application имеет скрытое окно, которое должно быть владельцем всех окон приложения, что обеспечивает корректное поведение всех окон программы. И DLL библиотека плагина, и исполняемый EXE файл Тотал Командира имеют собственный глобальный объект Application, следовательно, требуется их синхронизация. Для этого надо присвоить дескриптор скрытого окна объекта Application исполняемого файла дескриптору объекта Application библиотеки. К сожалению, Тотал Командир, хотя он написан на Delphi и использует все удобства и прелести VCL, не передает нам дескриптор данного скрытого окна (может, причиной этого является проблема версии компиляторов Delphi?). За неимением оного, будем использовать для синхронизации дескриптор окна Листера, в противном случае наше модальное окно (например, окно About) поведет себя неестественно, оно появится на панели задач Windows. Эта синхронизация является задачей для функции ShowRTF.
Чтобы защитить, Тотал Командир от сбоев плагина, будем использовать событие OnException объекта Application, которое перехватывает необработанное исключение. Кинем на форму компонент ApplicationEvents, переименуем его на App и создадим обработчик события OnException, куда введём вызов функции MessageBox для выдачи сообщения о сбое. Сохранив проект и модуль, можно удалить из формы ненужный компонент ApplicationEvents. Установка адреса обработчика события в Application.OnException также является задачей для функции ShowRTF.
Все готово для ShowRTF? Увы, "маленькая неточность" в Plugin API Тотал Командира (включая v.6.02) значительно усложняет нашу работу:
Если пользователь откроет окно плагина, затем переключится на Тотал Командир и закроет Тотал Командир, то мы не получим вызов через ListCloseWindow для завершения своей работы. Вместо этого Тотал Командир или Листер (кто его знает?) уничтожает наше окно вызовом WinAPI функции DestroyWindow, а потом то же самое попытается сделать наш объект Application, и в конечном счёте плагин вылетит с нарушением защиты памяти (Access Violation)!
Если бы мы не стали делать вышеописанную синхронизацию, этой проблемы удалось бы избежать. Что ж, будем расплачиваться за это и поставим ловушку для перехвата сообщений, которое получает наше же окно, подобно змее, которая пожирает себя за свой собственный хвост! Не будем вдаваться в подробности Windows API (кому же он нравится?), вкратце суть дела такова.
Объявляем тип записи TPlugInfo, где будем хранить данные, которые нужны для закрытия плагина. При инициализации выделяем память под эту запись и заполняем ее. Определяем функцию HookDestroy, который будет перехватывать оконные сообщения, чтобы среагировать на сообщение WM_DESTROY (уничтожение окна). Вызовом SetWindowLong(…, GWL_WNDPROC, …) подменяем стандартный обработчик оконных сообщений на функцию HookDestroy. Похожим вызовом SetWindowLong в процедуре завершения HideRTF обратно восстанавливаем прежний обработчик. Важно то, что когда функция HookDestroy поймает сообщение WM_DESTROY, она вызывает процедуру завершения HideRTF точно так же, как это делает процедура ListCloseWindow. В результате мы всегда успеваем нормально закрыть окно и убрать за собой, что, к примеру, демонстрирует Dispose(p) из HideRTF, освобождая память, выделенную в ShowRTF.
Остается создать диалоговую форму About, обработчики контекстного меню и обработчик RichEdit1KeyDown, который ловит нажатие специальных клавиш и передает их с помощью PostMessage в соответствующее окно. Если здесь не перехватывать клавиши Alt+X, это приведет к краху плагина. Причем, здесь придется удерживать фокус ввода в RichEdit1, проверяя режим работы плагина, т.е. значение переменной QuickView.

Об отладке и тестировании плагина.

Листер имеет встроенную возможность просмотра RTF файлов, поэтому перед запуском плагина надо отключить ее, сняв пометку у флага RTF в окне Configure Lister.
Чтобы использовать интегрированный отладчик IDE Delphi, закройте Total Commander, а в Delphi через меню "Run/Parameters" откройте диалог и в поле Host Application введите путь к Total Commander с помощью кнопки [Browse]. Теперь можно запускать плагин из-под Delphi.
Ссылка для скачивания архива с примером здесь
PS. Уважаемый Читатель! Программирование - многовариантно и я никак не претендую на абсолютную истину. В качестве дополнительного материала предлагаю Вам ознакомиться с исходными текстами плагина xBaseView - "Просмотр DBF, DB, MDB, ADO и ODBC баз данных", который предоставляется с исходными текстами, и где применяется аналогичный подход.
PPS. Прошу Читателя-Полиглота помочь мне перевести статью на английский язык, чтобы послать ее Кристиану Гислеру, автору знаменитого файл менеджера Тотал Командир, с призрачной надеждой, что он предпримет какие-то шаги навстречу нам - VCL программистам.

Е. Савич
19.03.04
© Mutex Ltd.
mutex@nm.ru


К вопросу об анатомии окна Multi-Rename Tool и раздела [rename]

Инструмент группового переименования - один из мощнейших вспомогательных инструментов, встроенных в Total Commander. Помимо задания различных опций переименования, предоставляется возможность сохранять набор сложных настроек в виде именованных шаблонов и загружать их при необходимости. Эти шаблоны хранятся в разделе [rename] файла конфигурации wincmd.ini. Ниже будут рассмотрены ключи этого раздела и их связь с окном Multirename Tool.

Рассмотрим, как сохраняется шаблон в разделе [rename].

[rename]
Шаблон_name="[C]"
Шаблон_ext="[E]"
Шаблон_search="аб"
Шаблон_replace="вг"
Шаблон_params=0|999|-1|3|1|1

Здесь "Шаблон" - произвольное имя. Ключей всегда пять. И если с ключами _name, _ext, _search и _replace все ясно, то на _params следует остановиться подробнее.
Значение ключа - от четырех до шести целых чисел, разделенных символом "|". Если крайнее справа поле равно "0", оно отбрасывается. Значение полей ключа _params рассматриваются в следующей таблице и соотносятся с позициями, обозначенными красным на скриншоте:

Позиция | Смысл | Значения | Комментарий
1 | Регистр имени | 0...4 | Раскрывающийся список содержит 5 режимов регистра. Первому режиму "Без изменения" соответствует значение поля 0, второму - 1, и т. д.
2 | Начальное значение счетчика | любое |
3 | Приращение счетчика | любое |
4 | Число разрядов счетчика | 1...10 |
5 | Использование регулярных выражений | 0 или 1 | "1" - режим включен, "0" - выключен
6 | Замена | 0 или 1 | "1" - режим включен, "0" - выключен
7 | Учёт регистра | 0 или 1 | "1" - режим включен, "0" - выключен

Раскрывающиеся списки (поз. 8 и 9) содержат значения ключей соответственно из разделов [RenameSearchFind] и [RenameSearchReplace] файла конфигурации.

В заключение традиционно приведу информацию для программистов. Эксперименты показали, что управлять окном Multirename Tool проще всего, меняя текст дочерних окон и получая к ним доступ по индексу. Доступ по классу менее эффективен, поскольку в окне много однотипных дочерних окон. Зато индексация может меняться от версии к версии, а класс - вряд ли. В таблице приводятся описания только тех окон, на которые можно воздействовать напрямую, с помощью изменения текста в окне. Индесы приведены для версии TC 6.5 (в 7.0 они, скорее всего, уже другие).

Позиция | Индекс | Класс
2 | 27 | TEdit
3 | 26 | TEdit
7 | 15 | TComboBox
8 | 17 | TComboBox
9 | 29 | TComboBox
10 | 10 | TEdit

Вахмурка
Павел Дубровский (дополнения, касающиеся изменений TC 7.0)


Находим местоположение WINCMD.INI

Уважаемые авторы замечательных плагинов и полезных утилит!
Большинству из ваших программ требуется указание точного местоположения файла TOTALCMD.EXE и INI файлов настройки Коммандера.

Каждый автор ищет решение этой проблемы по своему:
Одни (самые умные :)) вообще ничего не ищут, а требуют от пользователя вручную заводить эти пути. Решение, конечно, крайне примитивное. И пользователь может ошибиться с указанием путей, да и тулза оказывается жестко привязанной к одному месту. Если пользователь имеет несколько настроенных профилей ТС, то он вынужден держать несколько копий вашей программы - для каждого профиля отдельно.
Другие (слава Богу - таких уже почти не осталось) тупо считают, что эти файлы могут называться только wincmd.ini и wcx_ftp.ini и лежат они исключительно в %WINDIR%. Просто нет слов...
Третьи (кто посообразительней), пытаются анализировать содержимое ветки [HKEY_CURRENT_USER\Software\Ghisler\Total Commander] и, увы, тоже не всегда бывают правы.
Этой мини-статейкой я попытаюсь проанализировать опыт тех и других и сделать некоторые выводы. Надеюсь, они пригодятся вам в дальнейших разработках.

Итак, начнем с самого простого - TOTALCMD.EXE

Он ВСЕГДА находится по %COMMANDER_PATH%/TOTALCMD.EXE
Учтите только, что %COMMANDER_PATH% имеется в переменных окружения только тогда, когда ваша прога стартует из ТС. Для авторов плагинов это всегда факт, утилита же может стартовать и не из ТС.
Уважаемые авторы, заставьте своего пользователя хотя бы в первый раз запустить вашу тулзу из ТС - она запишет найденный путь, и в дальнейшем ее можно будет стартовать откуда угодно. Поверьте, 99% пользователей будут запускать вашу утилиту именно из ТС, а автоматически найденный ею путь будет лишним доказательством вашего профессионализма!

Теперь про поиск INI файлов

Единственно правильный вариант на сегодня:

1. Анализируем командную строку ТС, ищем в ней ключи /I и /F и считываем пути к INI оттуда.
2. Если в командной строке ключи не найдены, то проверяем, есть ли в файле %COMMANDER_PATH%/wincmd.ini ключ UseIniInProgramDir (еще одна беда, свалившаяся на нашу голову вместе с версией 6.5). Если есть - то ищем INI файлы в соответствии со значением этого ключа (подробности - в HELP).
3. Если там - пусто, то смотрим в [HKEY_CURRENT_USER\Software\Ghisler\Total Commander].
4. Если и там - пусто, то INI лежат в %WINDIR% и названия их - wincmd.ini и wcx_ftp.ini.

Важные замечания

1. Ключи командной строки /I и /F могут быть в любом регистре, причем второй по очереди ключ может быть и без слеша.
2. Пути в ключах командной строки и реестра могут задаваться как полным путем, так и относительным. В путях можно использовать любые переменные окружения, включая %COMMANDER_PATH%. Пути могут быть заданы и как LongNames и в формате 8.3
3. Если пути к файлам заданы явно (в ключах командной строки или реестре), то файлы инициализации могут иметь ЛЮБОЕ имя.

Ну а теперь - поподробнее про анализ командной строки

Для плагина TC все решается сравнительно просто. А все потому, что он выполняется внутри процесса TC, и поэтому получить командную строку можно просто вызвав API-шную функцию GetCommandLine. Кто понимает, о чем я говорю, тому не составит труда извлечь из нее нужные параметры.
Для внешней утилиты все значительно сложнее. Решается эта проблема с использованием ловушек (hooks), труб (pipes) и прочих мудреных вещей. Пройти все круги ада и построить рабочую программу смог только Alexander Asyabrik aka Shura (я о ReloadTC). Других, увы, не знаю.

Так вот обломали нас в самом начале пути.
Однако, есть возможность получить вожделенные пути и несколько иным способом, если мы вспомним о том, что сам ТС прекрасно осведомлен о местоположении своих INI файлов - достаточно взглянуть на окошко "About".
Итак, вкратце: Находим окно активного экземпляра ТС, шлем ему через SendMessage команду cm_About, считываем через GetWindowText драгоценную инфу, закрываем окошко About. Если на время выполнения этой процедуры запретить обновление окна, то получится почти незаметно.
Намеренно не говорю о подводных камнях (а то обсуждать будет нечего), а вот положительные стороны данного подхода - налицо. Одним махом находим местоположения обоих INI файлов совершенно независимо от того, как и где задал их пользователь.

P.S. Всего этого разговора могло бы и не быть, если бы глубокоуважаемый Christian Ghisler ввел в обиход пару псевдопеременных $MAIN_INI и $FTP_INI (подобно имеющимся уже $MYPICTURES, $LOCAL_APPDATA, $COMMON_APPDATA, и т.п.). Ему-то это сделать - плевое дело!
Представьте, как было бы здорово!
Как вам, к примеру, была бы такая команда в меню "Запуск":

Команда: disk:/path/MySuperEditor.exe
Параметры: $MAIN_INI $FTP_INI

Кому так же больно как мне - отпишите Орлу нашему...

Примечание: начиная с версии 6.55, а точнее - с одной из её бета-версий, в TC появилась поддержка псевдопеременной %commander_ini%. Ура, товарищи! :)
TC 7.0 и старше поддерживают также другие псевдопеременные, список их можно найти здесь.

SAM
Оригинал статьи и её обсуждение


Основы написания WFX-плагина на Borland Delphi

К написанию этого мини-мануала меня подтолкнула сложившаяся несправедливость: до сих пор мне не попалось ни одной толковой доки по написанию WFX-плагинов. О нет, сам я конечно не претендую на то, что этот мануал окажется "толковым", но чем чёрт не шутит? Естественно, есть официальный справочный файл, описывающий WFX API, и, теоретически, его достаточно. А вот на практике придётся столкнуться с заморочками, о которых в официальных документах не пишут.
Когда я писал свой первый плагин, я натворил в нём такую тучу ошибок, что чувство стыда потом не давало мне спать по ночам (отчего спал я исключительно днём, что, в свою очередь, обернулось проблемами на работе и в универе :)). Но это было позже, а вначале я сочинял и радовался...
В общем, очень надеюсь, что эта дока всё-таки поможет начинающему плагинописателю избежать моих ошибок. Опытные авторы, возможно, захотят что-то поправить или дополнить - я всегда открыт для предложений и мой e-mail известен.
Но - приступим, собственно, к мануалу.

На чём писать?

На чём писать, по большей части - абсолютно всё равно, лишь бы на выбранном языке можно было создать полноценную 32-хбитную динамическую библиотеку. Все современные ЯП и их компиляторы это, как правило, позволяют. Я, правда, сталкивался с написанием DLL всего в паре-тройке языков, так что каких-то конкретных особенностей могу и не знать, но ничего существенного, вроде бы, упустить не должен.
Единственная рекомендация при выборе языка программирования - использовать языки, снабжённые полноценным компилятором. Объяснять почему так - долго, нудно, неинтересно, и вообще к теме статьи не относится. Короче говоря - никаких Visual Basic'ов, и ничего, использующего .NET.
Подавляющее большинство плагинов написано на Delphi&Builder&VC++, так что если вы остановитесь на одном из этих средств программирования - всё точно будет в порядке. Примеры я буду приводить на Borland Delphi, если возникнет необходимость - то и на других языках.

Что потребуется?

Потребуются три вещи:
1) Собственно, умение программировать. Умеете вы или нет - решать не мне, но раз взялись за создание плагина - буду считать, что умеете. К тому же, уровень программерского навыка для простого плагина потребуется не такой уж и большой. Само собой - чем сложнее идея, реализовать которую вы задумали, тем большее умение нужно.
2) Знание английского языка. Потому что прочесть справочный файл (найти его можно на wincmd.ru), описывающий WFX API в любом случае придётся, ибо к нему я буду отсылать всегда, когда мне будет слишком лениво объяснять какие-то простые вещи.
Опять же - знание ангельского нужно самое минимальное (как говорил один мой знакомый умный дядька: "Без знания английского в программировании делать нечего").
3) Упорство. Потому что отладка плагина может продолжаться от пяти минут до бесконечности, и вы не будете понимать - вы ли это допустили ошибку (98% вероятности) или это Гислер где-то у себя чего-то напортачил.

Ещё одним желательным, но не обязательным, параметром является хотя бы поверхностное знание WinAPI. Знание это облегчит написание плагина многократно, да и вообще - в ближайшие десять лет от программирования на WinAPI никуда не деться, так что оно по любому понадобится.

Зачем это надо?

Вот сейчас подумайте, _чем_ ваш плагин будет выгодно отличаться от той же программы, реализованной иначе? Преимущество у реализации плагином, по сути, только одно (но зато какое!) - интеграция с TC. Однако, этого преимущество решающее; несмотря на то, что 99% плагинов просто выполняют функции других программ, "тоталовцы" будут пользоваться именно плагинами.
Теперь подумайте ещё раз: а _можно_ ли WFX-плагином реализовать вашу идею вообще? Теоретически, плагом можно сделать что угодно, но всё-таки лучше их использовать по первоначальному предназначению - для доступа к файловым системам (и тому, что на файловые системы хотя бы отдалённо смахивает). Советую прочесть статью Файлсистемные плагины: обзор возможностей для понимания предмета.
А теперь думать не надо. Теперь надо смотреть - не украли ли вашу идею у вас из головы подлые плагиаторы, написавшие ваш плагин до вас :). А то оно по всякому бывает...

Я сказал "Поехали"

Собственно, приступим к написанию плага. Первый наш плагин будет построчно выводить содержимое заданного текстового файла в виде каталога (каждая строка будет соответствовать имени файла). Должно получиться простенько и совсем понятно.
Запускаем Delphi (да, я выше уже сказал - будет именно Delphi). Создаём новый проект динамической библиотеки: File->New->Other->DLL Wizard (кстати, почему это называется "визардом"? Никаким "мастером" или "помощником" там близко не пахнет).

Сразу сохраним файл проекта под нужным нам именем. Правило "Как вы яхту назовёте, так она и поплывёт" здесь не действует - т.е. имя полученной библиотеки (совпадает с именем проекта) и имя, которое будет показываться в панели TC - две разные вещи. Но во избежание путаницы дадим проекту осмысленное имя, например TEXT_PANEL. Дабы бинарник компилировался не с расширением "dll" а с вожделенным "wfx", зададим это расширение в свойствах проекта, либо просто добавим директиву {$E wfx} после объявления uses.
А теперь - небольшое лирическое отступление, которое можно пропустить тем, кто сталкивался с написанием динамических библиотек.

О внутреннем устройстве DLL

Человеку, ранее никогда не писавшему DLL, может показаться, что тут есть какие-то существенные различия. Вовсе нет, написание DLL практически не отличается от написания обычного EXE, разве что придётся учитывать несколько особенностей:
1) Отладка библиотеки немного геморройнее отладки exe-ешника (тем более, что тот же борландовский дебаггер сам далеко не образец для подражания, в плане отсутствия глюков). Впрочем, в нашем примере особых проблем не возникнет, но готовым надо быть ко всему.
2) Библиотека (в нашем случае - плагин) может использоваться внешним приложением (в нашем случае - TC) только потому, что мы написали часть её внутренностей в соответствии с некими правилами (в нашем случае - с WFX API).
3) Обмен строковыми данными между DLL и приложением _ДОЛЖЕН_ осуществляться _ТОЛЬКО_ через указатели (об этом, кстати, упоминает комментарий, автоматически добавленный в наш проект). Конкретно это выражается вот в чём: забываем о типе widestring и используем для обмена строковыми данными только pchar. Тип string тоже придётся оставить, ибо по умолчанию он воспринимается именно как widestring.
В Delphi (как в других языках - не знаю) возможно передавать строковые данные и через widestring с помощью подключения дополнительной библиотеки, но: а) это очень и очень некрасиво б) в плагине нам это всё равно ничем не поможет.
Напомню - указатели используются только при обмене данными. Внутри плагинов можно свободно пользоваться любыми типами, но опять же - если нам всё равно приходится возиться с пойнтерами, так уж давайте возиться до конца :) Если вы ничего не понимаете в работе с указателями - в принципе, ничего страшного, есть шанс, что необходимое понимание придёт в процессе.

Есть, конечно, и другие отличия, но о них я буду упоминать только по мере того, как мы непосредственно с ними столкнёмся. Так что возвратимся к плагину.

Необходимый минимум

Собственно, уже сейчас у нас есть нечто с расширением wfx. Однако, при попытке установить плагин, TC ругнётся примерно следующим образом:

Само собой - ведь существует набор функций, которые обязательно должны присутствовать в WFX-плагине, и без которых плагин будет неработоспособен. Официально их четыре. Неофициально - тоже четыре :). Если эти функции не описать в плагине, TC просто откажется его устанавливать. Дабы не повторяться потом несколько раз, просто приведу необходимый минимальный код проекта:

library TEXT_PANEL;

uses
 fsplugin,
 SysUtils,
 Windows;

{$E wfx}
{$R *.res}

function FsInit(PluginNr:integer;pProgressProc:tProgressProc;pLogProc:tLogProc; pRequestProc:tRequestProc):integer; stdcall;
Begin
End;

function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; stdcall;
Begin
End;

function FsFindNext(Hdl:thandle;var FindData:tWIN32FINDDATA):bool; stdcall;
Begin
End;

function FsFindClose(Hdl:thandle):integer; stdcall;
Begin
end;

exports
      FsInit,
      FsFindFirst,
      FsFindNext,
      FsFindClose;

begin
end.

Юнит fsplugin, добавленный в uses, содержит описания констант и типов, используемых любых WFX-плагином. Взять его можно из справки по WFX API.

Вот в таком виде плагин будет съеден Тоталом без вопросов. Пройдёмся теперь по описанным функциям.
FsInit пока трогать не нужно. Эта функция используется для более плотного, так скажем, взаимодействия с TC - вывода прогрессбаров и стандартных запросов, а также логирования действий. Пока нам ничего такого не требуется, а вот с FsFindFirst, FsFindNext, FsFindClose нам придётся ознакомиться вплотную.
Эти три функции - практически аналогичны стандартным апишным функциям FindFirstFile, FindNextFile, FindClose (в меньшей мере - VCL-функциям FindFirst, FindNext, FindClose). Тем, кто работал с тем или другим, будет совсем просто разобраться, остальным дам подсказку. Эти функции получают список файлов, который и должен отобразить TC. FsFindFirst получает первый файл из списка, FsFindNext - все остальные, FsFindClose не получает ничего, но в ней может проводиться какая-то деиницилизация на усмотрение автора. Порядок вызова функций, думаю, ясен. FsFindFirst вызывается, само собой, тогда, когда Тоталу нужно получить список (при входе в плагин, в каталог внутри плагина, при обновлении панели и т.п.).
Разберём подробнее, что передаётся в эти функции, и что мы в них должны возвращать:

function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; stdcall;

path - указатель на строку с текущим путём внутри плагина. Т.е., когда мы "заходим" в плагин, путь этот будет "\". Если в файловой системе плагина есть какой-то каталог, и мы в него заходим, то путь будет "\имя_каталога". По этому пути можно определять в какой ветке файловой системы плагина мы сейчас находимся.

FindData - запись (или "по сишному" - структура), хранящая всю информацию о файле, который TC должен добавить в список. Не будем забывать, что мы можем работать с чем-то, что никак на файлы не похоже (у нас это будут строки в файле). Однако же оказывается, что с помощью такой записи вывести можно очень даже многое.
Ознакомиться с типом tWIN32FINDDATA желательно всё-таки по Win32s Programmers Reference (поставляется практически с любой версией Delphi/Builder) либо в MSDN. Там эта структура описана как WIN32_FIND_DATA, в Delphi VCL всё практически аналогично.
Я же подробно останавливаться на этом не хочу, отмечу только что FindData.cFilename у нас должна будет содержать имя файла, FindData.dwFileAttributes - его атрибуты (в т.ч. - каталог это или файл). Остальные члены структуры хотя и нужны, но в примере могут быть отброшены.

Результатом функции может являться любое численное значение, и его мы можем использовать для своих целей (например, сохранить указатель на какую-то собственную структуру или что-то подобное). Однако, если вернуть INVALID_HANDLE_VALUE, то это будет означать ошибку внутри функции, после чего тотал уже не станет вызывать FsFindNext и FsFindClose. Чаще всего результат нам этот просто не будет нужен, так что смело приравниваем его к 0.

Попробуем сделать так, чтобы в файловой системе плагина лежал один файл "Hello, world.txt". Напишем примерно так:

function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; stdcall;
Begin
FindData.dwFileAttributes :=0; //0 - обычный файл без каких-либо атрибутов
FindData.cFileName :='Hello, world.txt'; //имя файла
result:=0; //функция нормально отработала
End;

Правильно? Нет! Но ведь работает!? И всё-таки, правильно будет так:

function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; stdcall;
Begin
FindData.dwFileAttributes :=0; //0 - обычный файл без каких-либо атрибутов
StrPCopy(FindData.cFileName,'Hello, world.txt'); //имя файла
result:=0; //функция нормально отработала
End;

Не забываем, что FindData.cFileName - это array [0..259] of char. Если мы приравняем к нему обычную строковую константу так, как написано в первом случае - всё будет в порядке, но если мы приравняем к нему строковую переменную.. у нас просто ничего не получится. Вот этот код:

function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; stdcall;
var
s:string;
Begin
FindData.dwFileAttributes :=0;
s:='Hello, world.txt';
FindData.cFileName :=s;
result:=0;
End;

просто не станет компилироваться. А поскольку работать надо будет не с константами а с переменными, то надо как-то выкручиваться. Самый простой выход описан во втором случае - функция StrPCopy решает все проблемы. Про другие способы, и про работу с ASCIIZ-строками, я распространяться не буду, это предмет отдельного изучения. Тем, кто будет писать не на VCL а на WinAPI объяснения вообще не требуются - там это главное и основное.

Перейдём к FsFindNext:

function FsFindNext(Hdl:thandle;var FindData:tWIN32FINDDATA):bool; stdcall;

Hdl - значение, которое вернула FsFindFirst. Как помним - у нас это 0, поэту его пока не трогаем.

FindData - то же самое, что и у FsFindFirst. Однако запрашивается, само собой, уже следующий в списке файл.

Результат функции указывает, есть ли в списке ещё файлы (true), или нет (false). Т.е. функция будет вызываться до тех пор, пока не вернёт false - и каждый раз запрашивать информацию о следующем файле.
Для демонстрации напишем такой код:

library TEXT_PANEL;

uses
 fsplugin,
 SysUtils,
 Windows;

var
 FilesCount:Integer=0;

{$E wfx}
{$R *.res}

function FsInit(PluginNr:integer;pProgressProc:tProgressProc;pLogProc:tLogProc;
 pRequestProc:tRequestProc):integer; stdcall;
Begin
End;

function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; stdcall;
Begin
FindData.dwFileAttributes :=0; //0 - обычный файл без каких-либо атрибутов
StrPCopy(FindData.cFileName,'Hello, world.txt'); //имя файла
result:=0; //функция нормально отработала
FilesCount:=0;
End;

function FsFindNext(Hdl:thandle;var FindData:tWIN32FINDDATA):bool; stdcall;
Begin
result:=True;
FindData.dwFileAttributes :=0;
StrPCopy(FindData.cFileName,'File_'+IntToStr(FilesCount)); //генерируем имя файла из счётчика
Inc (FilesCount);
if FilesCount=101 then result:=false;
End;

function FsFindClose(Hdl:thandle):integer; stdcall;
Begin

end;

exports
      FsInit,
      FsFindFirst,
      FsFindNext,
      FsFindClose;

begin
end.

И тут можем столкнуться со страннейшей проблемой - плагин будет работать, но время от времени при запуске (входе в файловую систему) выдавать ошибку. Но ведь всё написано верно, так в чём заморочка?
А она скрыта так, что сразу не поймёшь. Дело в том, что некоторые члены FindData мы не заполнили за их временной ненадобностью. Так вот, понадеявшись, что они останутся пустыми, мы обманулись. Они будут не пустыми, они будут случайными, а случайные данные там, где это не предусмотрено - практически готовая ошибка. В нашем конкретном случае потребуется заполнить FindData.nFileSizeHigh и FindData.nFileSizeLow:

function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; stdcall;
Begin
FindData.dwFileAttributes :=0; //0 - обычный файл без каких-либо атрибутов
FindData.nFileSizeHigh :=0; //
FindData.nFileSizeLow :=0; // Убираем случайные данные из записи о размере файла.
StrPCopy(FindData.cFileName,'Hello, world.txt'); //имя файла
result:=0; //функция нормально отработала
FilesCount:=0;
End;

function FsFindNext(Hdl:thandle;var FindData:tWIN32FINDDATA):bool; stdcall;
Begin
result:=True;
FindData.dwFileAttributes :=0;
FindData.nFileSizeHigh :=0;
FindData.nFileSizeLow :=0;
StrPCopy(FindData.cFileName,'File_'+IntToStr(FilesCount)); //генерируем имя файла из счётчика
Inc (FilesCount);
if FilesCount=101 then result:=false;
End;

FindData.nFileSizeHigh и FindData.nFileSizeLow отвечают за размер файла, соответственно старшее и младшее двойное слово. Общий размер файла вычисляется как (nFileSizeHigh * $FFFF) + nFileSizeLow.

Ухищрения в отладке

После того, как мы написали наипростейший, но уже функционирующий плагин, пора задуматься о том, как его отлаживать. До сих пор мы просто запускали его в TC, а это неудобно - после каждой перекомпиляции приходится перезапускать TC, да и искать плагин в списке (если их много) - тоже раздражает.
В общем, в меню Delphi идём в Run->Parameters... и прописываем:

Host Application: путь к totalcmd.exe
Parameters: /i=какой_нибудь_несуществующий_файл.ini

Теперь отлаживать плагин можно точно так же, как обычную программу. При запуске отладки будет запускаться "чистая" копия TC (в которой потребуется только установить наш плагин), при завершении отладки тотал будет закрываться (и наоборот - при закрытии TC отладка будет прекращена). Основную копию TC, желательно закрыть - во избежание недоразумений с незакрытыми хендлами и прочей пакостью.
Трейсить код можно будет тоже как обычно, так что советую наставить брякпойнтов и посмотреть, как построчно работает наш плагин.

Продолжаем писательство
Собственно, полученных знаний уже хватит, чтобы написать пример, который был задуман в самом начале. Путь к текстовому файлу пусть будет пока задан статически, например c:\text.txt

Код:

library TEXT_PANEL;

uses
 fsplugin,
 SysUtils,
 Windows;

Const
 MainFileName='c:\text.txt';

var
 MainFile:TextFile;

{$E wfx}
{$R *.res}

function FsInit(PluginNr:integer;pProgressProc:tProgressProc;pLogProc:tLogProc;
 pRequestProc:tRequestProc):integer; stdcall;
Begin
End;

function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; stdcall;
var
TmpFileName:ShortString;
Begin
Result:=0;
AssignFile (MainFile,MainFileName);
Reset (MainFile);
if not EOF (MainFile) then
 begin
 ReadLn (MainFile,TmpFileName);
 FindData.dwFileAttributes :=0;
 FindData.nFileSizeHigh :=0;
 FindData.nFileSizeLow :=Length(TmpFileName);
 StrPCopy (FindData.cFileName,TmpFileName);
 end else
 begin
 CloseFile (MainFile);
 result:=INVALID_HANDLE_VALUE;
 end;
End;

function FsFindNext(Hdl:thandle;var FindData:tWIN32FINDDATA):bool; stdcall;
var
TmpFileName:ShortString;
Begin
Result:=True;
if not EOF (MainFile) then
 begin
 ReadLn (MainFile,TmpFileName);
 FindData.dwFileAttributes :=0;
 FindData.nFileSizeHigh :=0;
 FindData.nFileSizeLow :=Length(TmpFileName);
 StrPCopy (FindData.cFileName,TmpFileName);
 end else result:=False;
End;

function FsFindClose(Hdl:thandle):integer; stdcall;
Begin
CloseFile (MainFile);
end;

exports
      FsInit,
      FsFindFirst,
      FsFindNext,
      FsFindClose;

begin
end.

Можно заметить, что нами была использована функция FsFindClose (в неё мы закрыли читаемый файл), а также то, что размер файла, отображаемый на панели TC соответствует длине его имени. Что будет происходить если файла c:\text.txt не существует, если он пуст, и если длина любой его строки более 255 символов, я предоставляю вам выяснить самим.

Копаем глубже

Сделаем теперь вот что: пусть файл, из которого происходит чтение, должен будет лежать в папке с плагином. Как его найти? Для exe-файла, использующего forms всё просто - анализируем Application.Exename или Paramstr(0), а в DLL нет ни того, ни другого.
Решение, само собой, есть (и им, кстати, можно пользоваться и при создании exe-файлов):

var
PointerPluginFile:pchar;
StrPluginFileName:ShortString;

begin
GetMem (PointerPluginFile,MAX_PATH);
GetModuleFilename (hInstance,PointerPluginFile,MAX_PATH);
StrPluginFileName:=Strpas (PointerPluginFile);
FreeMem (PointerPluginFile);
end.

Дальше нам остаётся только проанализировать StrPluginFileName и, таким образом, найти где лежит наш файл.
Сделаем следующий шаг навстречу знанию: разберёмся с тем, как работать внутри файловой системы плагина. Сделаем следующее: пусть копирование локального файла в файловую систему плагина вызовет добавление его имени в используемый текстовый файл, а копирование из плагина - создаст на локальной файловой системе в текущем каталоге текстовый файл, содержащий имя копируемого псевдофайла. Надеюсь, вы поняли, что я написал, потому что сейчас мы это будем реализовывать :)
За файловые операции копирования отвечают функции FsPutFile & FsGetFile. Первая вызывается при получении файла (т.е. когда копируем "в плагин"), вторая, соответственно, наоборот. Изучим их досконально:

function FsPutFile(LocalName,RemoteName:pchar;CopyFlags:integer):integer; stdcall;

Параметры у функции следующие:

LocalName - полное имя копируемого локального файла. Если это файл в сети - это будет UNC имя. Зачем это имя нужно - говорить излишне.

RemoteName - имя, введённое пользователем, под которым файл должен быть сохранён в ФС плагина. Само собой, мы можем начхать на все юзверьские претензии, и именовать файл как нам вздумается :). Жаль только, что менять можно лишь имя файла, а вот путь мы изменить не сможем. Иногда это приводит к неприятностям, о которых я расскажу в самом конце статьи. Имя всегда начинается со слеша ("\") что иногда необходимо-таки учитывать.

CopyFlags - флаг или комбинация флагов, описывающая требуемое поведение плагина при копировании. С их помощью TC может сообщить, что была задана опция "перезаписывать имеющиеся файлы" или что закачка должна быть продолжена после обрыва. За подробностями я, как и обещал в начале, отсылаю вас в справку по WFX API.

Вернуть функция должна сигнал о том, как прошло копирование. Опять же - все флаги вместе с описаниями перечислены в справке, так что останавливаться на этом я не стану.

С функцией FsGetFile всё чуть сложнее. Разберём и её:

function FsGetFile(RemoteName,LocalName:pchar;CopyFlags:integer;RemoteInfo:pRemoteInfo):integer; stdcall;

Как видим - здесь добавился ещё один параметр - RemoteInfo. Этот параметр хранит сведения о размере, атрибутах и датах копируемого файла. Атрибуты, например, могут нам понадобиться, если мы реализуем плагин для работы с FTP (чтобы и на сервере и на локальном диске всё было идентично), а сведения о размере - для того, чтобы отобразить верные сведения в диалоге копирования (об этом тоже будет рассказано ниже).

В остальном функции аналогичны. Дальше - смотрим написанный мною код:

library TEXT_PANEL;

uses
 fsplugin,
 SysUtils,
 Windows;

var
 MainFile:TextFile;
 MainFileName:string;

{$E wfx}
{$R *.res}

function FsInit(PluginNr:integer;pProgressProc:tProgressProc;pLogProc:tLogProc;
 pRequestProc:tRequestProc):integer; stdcall;
Begin
End;

function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; stdcall;
var
TmpFileName:ShortString;
Begin
Result:=0;
FindData.dwFileAttributes :=0;
FindData.nFileSizeHigh :=0;
FindData.nFileSizeLow :=0;
AssignFile (MainFile,MainFileName);
Reset (MainFile);
if not EOF (MainFile) then
 begin
 ReadLn (MainFile,TmpFileName);
 FindData.nFileSizeLow :=Length(TmpFileName);
 StrPCopy (FindData.cFileName,TmpFileName);
 end else
 begin
 StrPCopy (FindData.cFileName,'No records in text.txt');
 end;
End;

function FsFindNext(Hdl:thandle;var FindData:tWIN32FINDDATA):bool; stdcall;
var
TmpFileName:ShortString;
Begin
Result:=True;
if not EOF (MainFile) then
 begin
 ReadLn (MainFile,TmpFileName);
 FindData.dwFileAttributes :=0;
 FindData.nFileSizeHigh :=0;
 FindData.nFileSizeLow :=Length(TmpFileName);
 StrPCopy (FindData.cFileName,TmpFileName);
 end else result:=False;
End;

function FsFindClose(Hdl:thandle):integer; stdcall;
Begin
CloseFile (MainFile);
end;

function FsPutFile(LocalName,RemoteName:pchar;CopyFlags:integer):integer; stdcall;
Begin
AssignFile (MainFile,MainFileName);
Append (MainFile);
WriteLn (MainFile,ExtractFilename(StrPas(RemoteName)));
CloseFile (MainFile);
Result:=FS_FILE_OK;
End;

function FsGetFile(RemoteName,LocalName:pchar;CopyFlags:integer;RemoteInfo:pRemoteInfo):integer; stdcall;
var
TmpLocalFile:TextFile;
TmpLocalFileName:ShortString;
Begin
TmpLocalFileName:=StrPas (LocalName);
AssignFile (TmpLocalFile,TmpLocalFileName);
Rewrite (TmpLocalFile);
WriteLn (TmpLocalFile,StrPas(RemoteName));
CloseFile (TmpLocalFile);
Result:=FS_FILE_OK;
End;

exports
      FsInit,
      FsFindFirst,
      FsFindNext,
      FsFindClose,
      FsPutFile,
      FsGetFile;

var
PointerPluginFile:pchar;
StrPluginFileName:ShortString;

begin
GetMem (PointerPluginFile,MAX_PATH);
GetModuleFilename (hInstance,PointerPluginFile,MAX_PATH);
StrPluginFileName:=Strpas (PointerPluginFile);
FreeMem (PointerPluginFile);
MainFileName:=ExtractFilePath(StrPluginFileName)+'text.txt';
if not FileExists (MainFileName) then FileCreate (MainFileName);
end.

Не забываем добавлять имена экспортируемых функций в раздел exports, - иначе Тотал ими не сможет воспользоваться.

Думаю, на этом с основами плагинописания мы разобрались. В этом деле - главное начать, с остальным, я уверен, вы разберётесь в процессе. С разбором некоторых функций могут возникнуть проблемы - но вы справитесь, ничего сложного там нет.

Напоследок несколько... даже не советов, а напутствий что ли:

1. Все функции работы с файлами вызываются для каждого файла отдельно, так что при дебаге учитывайте это. Иногда приходится искать багу, выпозающую только при обработке 1328 файла в списке, вот где настоящее буддийское просветление приходит... А если мы копируем папку - функция копирования будет вызываться отдельно для каждого файла в ней.
2. Иногда кажется, что TC слишком медленно отображает содержимое плага, особенно если он выводит список в несколько тысяч файлов. Не спешите винить себя - так и должно быть, вывод большого списка файлов у TC занимает много времени.
3. Если какая-то функция не имплементирована, то при её вызове TC просто ничего не будет делать. Уберите из Exports FsGetFile - и плагин не будет реагировать на нажатия F5 в своей ФС. Но имплементированные функции необходимо реализовывать - если оставить функцию без тела (т.е. без кода между begin..end), а потом попытаться её вызывать, то Тотал может повести себя непредсказуемо - начиная от выдачи сообщений об ошибках, заканчивая зависанием.
4. Имена файлов с "нехорошими" символами - слешами, двоеточиями и прочим, могут восприниматься некорректно. Например, если выдать в списке файл, содержащий "/", то TC, при некоторых условиях, воспринимает его как папку, и даже "входит" в неё по Ctrl+PgDown.
5. Не забывайте возвращать какой-то результат во всех функциях. Пусть вам этот результат нафиг не нужен - лучше приравнять его к нулю, чем оставить на волю случая.
6. Иногда бывает нужно "заставить" TC выполнить какую-то встроенную команду. Например мне однажды требовалось обновлять панели Тотала после вызова свойств файла. Делается это довольно просто:

PostMessage(FindWindow ('TTOTAL_CMD', nil), WM_USER+51, 540{номер нужной команды, в данном случае - cm_RereadPanels}, 0);

Номера команд можно найти в файле WINCMD.INC, лежащем в папке с TC.

На этом остановлюсь. Возможно - будет продолжение, но это зависит только от ваших вопросов (которые, всё-таки, сначала желательно задавать на forum.wincmd.ru).

Павел Дубровский
15.07.2006


Пример создания скрипта для PowerPro

Скрипт HighLightCurrentTab выделяет цветом текущую вкладку (закладку, таб, ушко) на файловой панели Total Commander. Цвет зависит от установленной "темы" Windows. По умолчанию (как у меня) вкладки имеют серый цвет, а их выделение - синий. Пусть у нас открыты три вкладки - корни дисков C:, D:, E:

После запуска скрипта с параметром "1" текущая (в нашем случае вторая) вкладка закрашивается синим цветом:

Для возвращения вкладки к первозданному виду следует запустить скрипт с параметром "0".

Далее с вкладкой можно производить обычные операции: запирание, дублирование (выделение не "наследуется"), переименование и прочее.

Излишне упоминать, что раскрасить можно произвольное число вкладок:

Зачем это нужно? Я приведу лишь три примера, когда это действие может оказаться полезным. Если я работаю одновременно над двумя-тремя разными проектами, у меня в каждой панели оказывается по 10-15 вкладок, а то и больше. Что имеется в виду под "проектом"? Ну, скажем, я готовлю доклад на конференции, да еще разбираю цифровые фотографии из последнего похода, да еще делаю халтуру по переводу, да еще переписываюсь с любимой девушкой, да еще... Мало найдется счастливцев, кто одновременно занимается всего одним делом. И если каждый "проект" требует хотя бы 6-7 вкладок, то общее их количество оказывается слишком большим. Разобраться, какая из вкладок для какого проекта нужна, получается все хуже и хуже, и сама работа отнимает меньше времени, чем поиск нужной директории.

Куда проще выделить цветом те вкладки, где я работаю в текущий момент, и переключаться только между ними, а все остальные - игнорировать до поры до времени. Когда же "пора и время" приходят, я трачу полминуты на обратную операцию - восстановить стандартный серый цвет вкладок, которые в данный момент не нужны, и закрасить те, куда я буду заглядывать в ближайшем будущем.

Конечно, раскраска даже двух-трех вкладок может показаться делом утомительным и сводящим на нет все преимущества. Тогда можно воспользоваться моим скриптом TabTools - он позволяет выделять сколько угодно вкладок за один раз.

Второй пример. Пусть открыты две вкладки - одна указывает на директорию d:\Graphics\Viewers\Irfan\plugins\, вторая - на d:\Utils\PowerPro\plugins\. Называются обе, естественно, одинаково - plugins, а это неудобно. Можно, конечно, дать им собственные имена, щелкнув правой кнопкой, выбрав "Rename/Lock tab" и введя имя. Если одноименных вкладок три или пять, придется так и поступить (или, опять же, обратиться к TabTools - он сделает все сам). Если же одноименных вкладок всего две, куда быстрее одним щелчком закрасить одну из них и знать, что синяя - это которая Irfan.

Третий пример - из множества вкладок копируем файлы на флешку. Выделяем соответствующую вкладку, и теперь мнемонический принцип прост - "бери и тащи на синюю". При копировании в другую директорию той же флешки переключаемся туда, меняем директорию (закраска сохраняется) и, не нарушая принцип, продолжаем перетаскивание.

Итак, приступаем к разбору скрипта, для начала приведя его код:

local hwnd = win.handle("c=TTOTAL_CMD")
local Panel = ifelse(tc.active(hwnd) == "left", 2, 3)
local TMP = childwin.handle(hwnd, "TMyPanel", Panel)
local TMTC = childwin.handle(TMP, "TMyTabControl")
local CurTab = win.sendmessage(TMTC, 4875, 0, 0)
win.sendmessage(TMTC, 4915, CurTab, arg(1))

Первой строкой я присваиваю переменнной hwnd дескриптор окна Total Commander. Следует заметить, что так начинаются почти все скрипты, нацеленные на работу с конкретным окном. Для этого мне нужно, во-первых, знать, что класс окна Total Commander имеет вид TTOTAL_CMD. Как это узнать? Способов много. Есть, например, утилита Sign Of Misery, есть другие подобные программы, но я пользуюсь скриптом ShowWinInfo собственного сочинения. Запускаем скрипт, за отведенные 5 секунд наводим курсор на строку заголовка и узнаем много информации, которая нам пригодится в дальнейшем. Эту информацию я далее буду называть "информация об окне". В данном случае нас интересует именно класс окна. Он, разумеется, всегда один и тот же, а вот дескриптор (на программерском жаргоне хэндл) окна при каждом запуске программы - разный. Обращение к окну по дескриптору предпочтительнее (а чаще всего это единственная возможность), поскольку окон с одним и тем же классом и/или заголовком в системе может существовать сколько угодно, а дескриптор - уникальная характеристика каждого окна.

Чтобы узнать дескриптор по классу, понадобится плагин win программы PowerPro. Искать и скачивать этот плагин нужды нет - он включен в стандартную поставку PowerPro и находится в поддиректории plugins.

У плагина win множество полезных функций, но нас интересует функция handle, возвращающая handle - дескриптор окна. Можно было задать в качестве параметра не класс, а заголовок окна, но класс надежней.

Спецификатор доступа local переменной hwnd означает, что переменная будет объявлена локальной, то есть она будет доступна только в течение выполнения скрипта. После его завершения значение переменной потеряется, а память, которую она занимала - освободится. Нам нет никакой нужды "помнить" дескриптор окна Total Commander. Можно было бы, конечно, объявить эту переменную как static или global, тогда мы сэкономили бы несколько миллисекунд при следующем обращении к скрипту, но потеряли бы несколько байт памяти. Специфика скрипта состоит в том, что нет никакой гарантии, что он будет вызван многократно, так что экономия времени лишь гипотетическая, зато затраты памяти - фактические. Конечно, потеря нескольких байт при современных объемах в гигабайты мизерна, но здесь важен принцип. Один скрипт "откусывает" несколько лишних байт, другой... Как ни велика память, но все же не безгранична.

Но это только полбеды. Представим себе, что между первым и вторым исполнением скрипта мы по каким-либо причинам перезапустили Total Commander. Тогда его дескриптор после второго запуска будет совсем другим, но статическая или глобальная переменная hwnd будет продолжать хранить прежнее значение, которое потеряет смысл. В худшем случае это может привести к очень неприятным последствиям (если осободившийся дескриптор окажется занятым каким-нибудь новым окном), в лучшем - скрипт просто не произведет желаемого действия. Таким образом, разумно все переменные объявлять локальными, если нет серьезных аргументов против. Из кода скрипта нетрудно видеть, что все остальные переменные также локальны, хотя и по иным соображениям. Поэтому к вопросу о спецификаторах доступа я больше возвращаться не буду.

Теперь требуется определить, какая из панелей - левая или правая - активна в текущий момент, иначе мы не будем знать, какую вкладку закрашивать. В файле конфигурации можно найти указание на активные вкладки обеих панелей, но в какой из них находится курсор, неизвестно. На помощь нам придет плагин tc, который написал Gregory специально для работы с Total Commander. В стандартную поставку плагин tc, разумеется, не включен, поэтому будем качать его отсюда.

Если передать функции active плагина tc дескриптор окна Total Commander, то функция вернет "left", если активна левая панель и "right" - в противном случае. Однако нам не нужно знать, какая именно панель активна, поскольку скрипт должен одинаково работать в любой панели. То, что нам нужно знать - дескриптор этой панели. Его мы узнаем чуть позже, а пока "переведем" слова "left" и "right" на язык цифр.

Во второй строке скрипта мы создаем переменную Panel, которая и принимает определенное числовое значение. Если высказывание tc.active(hwnd) == "left" истинно (активна левая панель), то переменной Panel согласно синтаксису оператора ifelse присваивается его второй операнд, если ложно (правая панель) - третий.

Теперь настало время найти дескриптор самой файловой панели (ведь это тоже окно). Для этого надо знать: дескриптор родительского окна, класс дочернего окна, индекс (если их несколько). Дескриптор окна Total Commander получен в первой строке и хранится в переменной hwnd. Класс дочернего окна можно выяснить указанным способом - из "информации об окне" - он равен TMyPanel. Кроме того, из того же источника становится ясно, что индексы левой и правой панелей равны 2 и 3 соответственно. Значит, переменная Panel хранит индекс дочернего окна.

Итак, у нас есть все, кроме плагина childwin, созданного для работы с дочерними окнами, ведь окно TMyPanel - дочернее по отношению к Total Commander. Поэтому в результате отработки третьей строки в переменную TMP будет записан дескриптор активной файловой панели.

Четвертая строка по сути аналогична третьей - мы продолжаем движение вглубь иерархии окон. Теперь переменная TMTC хранит дескриптор вкладок (Tab Control). Настало время узнать, какая из вкладок - текущая. Трюк с дескрипторами не пройдет - мы спустились в самый низ иерархии. Каждая отдельная вкладка собственного дескриптора не имеет - только набор в целом. Так как же выяснить номер текущей вкладки?

Можно, конечно, запросить данные из файла конфигурации, но для начала его надо обновить командой cm_ConfigSaveSettings, а это занимает достаточно заметное время (порядка секунды). Намного проще и существенно быстрее послать сообщение вкладкам, а для этого нам понадобится MSDN - Microsoft Development Network. Программеры хорошо знают, что это, а остальным я сообщу, что MSDN - сборник сведений, чрезвычайно полезных, а зачастую просто необходимых при написании любых программ, даже таких простых, как скрипты. Успокою противников Microsoft вообще и Билла Гейтса в частности - искомую информацию можно почерпнуть и из иных источников.

Для начала нам понадобится узнать побольше о сообщении TCM_GETCURSEL, где TCM расшифровывается как Tab Control Message. Вот что сказано об этом в MSDN:

TCM_GETCURSEL Message

Syntax

lResult = SendMessage( // returns LRESULT in lResult
(HWND) hWndControl, // handle to destination control
(UINT) TCM_GETCURSEL, // message ID
(WPARAM) wParam, // = 0; not used, must be zero
(LPARAM) lParam // = 0; not used, must be zero );

Parameters

wParam Must be zero.
lParam Must be zero.

Return Value

Returns the index of the selected tab if successful, or -1 if no tab is selected.

Ну что же, давайте разбираться. Прежде всего, нам надо послать сообщение (SendMessage). Эта функция входит в уже упомянутый плагин win, так что с отправкой сообщений все в порядке. Далее, параметры функции: дескриптор hWndControl нами получен в четвертой строке и обозначен TMTC. Найти идентификатор сообщения будет чуть сложнее - для этого понадобится файл commctrl.h, входящий в состав MSDN. Открываем этот файл и ищем строку TCM_GETCURSEL:

#define TCM_GETCURSEL (TCM_FIRST + 11)

Это - так называемая метакоманда, которая дает указание компилятору заменять в программе строку TCM_GETCURSEL на строку TCM_FIRST + 11. Но пока что от этого не легче: чему равно TCM_FIRST? Ищем в том же commctrl.h:

#define TCM_FIRST 0x1300 // Tab control messages

Вот это другое дело! Значит, второй аргумент команды SendMessage будет равен 0x1300 + 11 = 4875. Третий и четвертый параметры, как указано выше, равны нулю. Вот мы и сформировали пятую строку скрипта. Результатом ее отработки будет присвоение переменной CurTab номера текущей вкладки. Строго говоря, следовало бы проверить, что переменная CurTab не равна -1 - это значит, что произошла какая-то ошибка. Да, "правила хорошего тона" программирования этого требуют, но мы в интересах простоты и краткости их нарушаем.

Дело за малым - послать текущей вкладке сообщение о выделении (закраске), то есть сообщение TCM_HIGHLIGHTITEM. Вновь обращаемся к MSDN:

TCM_HIGHLIGHTITEM Message

Syntax

lResult = SendMessage( // returns LRESULT in lResult
(HWND) hWndControl, // handle to destination control
(UINT) TCM_HIGHLIGHTITEM, // message ID
(WPARAM) wParam, // = (WPARAM) (INT) idItem
(LPARAM) lParam // = (LPARAM) MAKELONG (fHighlight, 0)
);

Parameters

idItem - Zero-based index of a tab control item.
fHighlight - Value specifying the highlight state to be set.
If this value is TRUE, the tab is highlighted; if FALSE,
the tab is set to its default state.

Первые два аргумента разбираем так же, как раньше. Третий параметр - индекс вкладки - хранится в переменной CurTab. И, наконец, четвертый параметр может иметь значение "1" (TRUE) - установить выделение, и "0" (FALSE) - снять выделение. Поскольку нам может понадобиться и то, и другое, имеет смысл сделать эту цифру параметром скрипта, причем единственным. Как известно, в скрипт PowerPro можно передать до 9 параметров, обозначаемых arg(1), arg(2), и т. д. Так что разумно создать на панели Total Commander две кнопки, вызывающих скрипт HighlightCurrentTab, но одна - с параметром "1", другая - "0". Тогда мы сможем, переключая вкладки и нажимая то одну, то другую кнопку, раскрашивать вкладки по своему усмотрению.

Итак, простенький скрипт, состоящий из шести строк, уложился в очень простой линейный алгоритм также из шести пунктов-задач:

1. Определить дескриптор окна Total Commander;
2. Определить индекс текущей панели в окне Total Commander;
3. Определить дескриптор текущей панели в окне Total Commander;
4. Определить дескриптор вкладок на текущей панели Total Commander;
5. Определить номер текущей вкладки на текущей панели Total Commander;
6. Закрасить текущую вкладку на текущей панели Total Commander.

Те, кто делает свои первые шаги на тернистом пути скриптинга, могут, взяв алгоритм за основу, поизгаляться над вкладками, внеся в скрипт новые возможности: закрасить все вкладки; закрасить текущую вкладку на противоположной панели; закрасить через одну (две, три); сменить статус на противоположный; и так далее...

Корректно ли вмешиваться в работу программы на более низком, операционном, уровне? Строго говоря, конечно же, нет. В частности, эксперименты с сообщением TCM_DELETEITEM закончились полным фиаско, равно как и с некоторыми другими сообщениями семейства TCM. Утешает то, что раскраска вкладок относится к категории "косметических" и на функциональность программы повлиять не должна. Сомневающихся спешу успокоить - никаких сбоев и побочных эффектов рассматриваемый скрипт не давал, так что пользоваться им можно вполне смело. Конечно, ситуация может измениться в следующей версии Total Commander, но вероятность этого невелика.

На прощание остается лишь выразить удивление и сожаление тем фактом, что Гислер не включил эту простую, полезную и изящную функцию в Total Commander. И порадоваться, что PowerPro помог нам восполнить этот пробел.

ВАХМУРКА
Оригинал статьи: http://pprotcmd.narod.ru/Articles.html


Структура раздела [Searches]

!!! Внести изменения, касающиеся 7.0

Если вы пишете утилиту, которая будет каким-то образом взаимодействовать с инструментом поиска TC, то вам, возможно, понадобится работать с шаблонами поиска, создаваемыми этим инструментом. Шаблон - это набор настроек для поиска, но может он использоваться не только для этого - очень распространена практика настройки цветовых схем TC по таким шаблонам.
Ниже дано полное описание того, как эти шаблоны хранятся. Описание действительно для Total Commander 7.0, в более старых версиях некоторые параметры и флаги могут отсутствовать.

Все шаблоны хранятся в файле wincmd.ini, в разделе [Searches]:

Описание каждого шаблона состоит из четырёх строк:

Имя_шаблона_SearchFor - условие поиска по имени файла, т.е. та строка, которая была введена в поле "Искать файлы".
Имя_шаблона_SearchIn - условие по месту поиска, т.е. та строка, которая была введена в поле "Место поиска".
Имя_шаблона_SearchText - текст, который должен быть найден в файлах, т.е. строка, которая была введена в поле "С текстом".
Имя_шаблона_SearchFlags - набор флагов, установленных для этого поиска, т.е. перечисление установленных галочек в инструменте поиска. Здесь нужно остановиться подробнее.
Каждый флаг описывается одним символом, некоторые необязательные флаги могут быть отделены вертикальной чертой ("|"). Значения обязательных флагов:
0 - флаг снят (соответствующая галочка не установлена).
1 - флаг установлен (соответствующая галочка установлена).
2 - флаг игнорируется (соответствующая галочка затенена).

Необязательные флаги (отделённые чертой) обычно содержат какую-то цифровую или текстовую информацию.

Перечисление флагов (что за какую опцию отвечает):

Имя_шаблона_SearchFlags=A|BCDEFGHIJKLM|N|O|P|Q|R|S|T|U|VWYZ|a

A = Поиск в архивах.
B = Только слова целиком.
C = Учитывать регистр символов.
D = В кодировке ASCII.
E = Файлы, НЕ содержащие этот текст.
F = Только в выделенных файлах/каталогах.
G = NTFS-сжатый файл (используется только при включённом поиске по атрибутам).
H = Hex-код.
I = Unicode.
J = Использовать регулярные выражения в имени файла.
K = Использовать регулярные выражения в тексте файла.
L = NTFS-шифрованный файл (используется только при включённом поиске по атрибутам).
M = UTF8.
N = если присутствует, содержит начальную дату/время искомых файлов.
O = если присутствует, содержит конечную дату/время искомых файлов.
P = если присутствует, содержит возраст искомых файлов.
Q = если присутствует, содержит тип возраста искомых файлов. Принимает значения: -1 (минуты), 0 (часы), 1 (дни), 2 (недели), 3 (месяцы), 4 (года).
R = если присутствует, содержит значение поиска по размеру файла: 0 (равно), 1 (больше), 2 (меньше).
S = значение размера файла (используется только вместе с ключом R).
T = единица измерения: 0 (байты), 1 (килобайты), 2 (мегабайты).
U = если флаг присутствует, то включён поиск по атрибутам. При этом флаг представляет собой секцию из пяти других флагов (abcde), указывающих на атрибуты: a - архивный, b - только для чтения, c - скрытый, d - системный, e - каталог. Значения флагов: 0 - флаг снят (искомый файл не должен иметь этот атрибут), 1 - флаг установлен (искомый файл должен иметь этот атрибут), 2 - флаг игнорируется.
V = поиск дубликатов.
W = поиск дубликатов по содержимому (автоматически устанавливается флаг Y).
Y = поиск дубликатов по размеру.
Z = поиск дубликатов по имени.
Примечание: учитываются только следующие комбинации флагов: 1000 (дубликаты по имени и размеру), 1001 (дубликаты по имени), 1010 (дубликаты по размеру), 1100 (дубликаты по имени, размеру и содержимому), 1110 (дубликаты по размеру и содержимому). Остальные комбинации считаются взаимоисключающими и игнорируются.
a = глубина вложенности поиска (от 0 до 100, 0 - поиск только в текущем каталоге), если флаг отсутствует - вложенность неограничена.

Также, в случае использования в шаблоне значений из контентных плагинов, может добавляться пятая строка:

Имя_шаблона_plugin - описание правил использования значений из контентных плагинов. Если эта строка присутствует, то флаг "Поиск с плагинами" установлен. Общий вид строки:

Имя_шаблона_plugin="plugin_name.plugin_field условие значение"

где:
plugin_name - используемый плагин
plugin_field - используемое поле этого плагина. Сохраняется оригинальное название поля, без учёта локализации.

Примечание: если имя плагина и/или поле плагина содержат в названии пробел, то шаблон plugin_name.plugin_field заключается в кавычки.

значение - искомое значение (зависит от типа поля плагина).
условие - оператор, определяющий соответствие искомого значения найденному. Для полей, возвращающих числовые значения и даты используются следующие операторы:

> (больше)
< (меньше)
>= (больше или равно)
<= (меньше или равно)
= (равно)
!= (не равно)

Для полей, возвращающих строковые значения, используются следующие операторы:

contains - возвращённая строка содержит искомое значение
!contains - возвращённая строка не содержит искомое значение
cont.(case) - возвращённая строка содержит искомое значение с учётом регистра
!cont.(case) - возвращённая строка не содержит искомое значение с учётом регистра
= - возвращённая строка равна искомому значению
!= - возвращённая строка не равна искомому значению
=(case) - возвращённая строка равна искомому значению с учётом регистра
!=(case) - возвращённая строка не равна искомому значению с учётом региста
regex - возвращённое значение равно указанному регулярному выражению

Для полей, возвращающих логическое значение, используется один оператор = (равно), при этом искомое значение может соответствовать только 1 (условие истинно) или 0 (условие ложно).

Также возможно объединение поиска по значениям нескольких плагинов. В таком случае строка имеет следующий вид:

Имя_шаблона_plugin="plugin_name.plugin_field условие значение условие_объединения plugin_name.plugin_field условие значение "

условие_объединения принимает значения:
& (логическое и), если должны выполняться все условия поиска.
| (логическое или), если должно выполняться хотя бы одно условие поиска.

В одном шаблоне поиска можно объединять не более 20 условий поиска с использованием плагинов.

Этой информации более чем достаточно, чтобы разобраться, что к чему. Вы можете поэкспериментировать с сохранением шаблонов в инструменте поиска и проверить приведённые данные на сохранённых настройках, если есть такая необходимость.

Павел Дубровский


Структура разделов [lefttabs] и [righttabs]

Эти разделы файла конфигурации Total Commander содержат информацию о текущем состоянии вкладок на левой [lefttabs] и правой [righttabs] панелях. Прежде всего, следует отметить, что выражение "текущее состояние" не совсем верно. Попробуйте в произвольный момент открыть файл wincmd.ini и просмотреть эти разделы - вы убедитесь, что они отражают состояние вкладок не на данный момент, а, скорее всего, на момент начала сеанса работы. Чтобы синхронизировать эти разделы, необходимо выдать команду cm_ConfigSaveSettings.
Прежде всего, двигаясь от общего к частному, рассмотрим наиболее распространенный случай, когда открыто множество вкладок. Вот один из примеров раздела [lefttabs], а именно - содержание файла XXcopy.tab, который я в целях наглядности несколько подправил. Здесь и далее рассматривается левая панель, для правой всё аналогично.

[lefttabs]
0_path=c:\utils\XXcopy\
0_options=1|0|0|0|0|1|0
1_path=c:\user\HTML\Статьи\XXcopy\
1_caption=Статьи\XXcopy
1_options=1|0|0|0|0|1|0
2_path=c:\Utils\Test\
2_options=13|0|0|0|0|0|0
3_path=c:\user\Batches\
3_options=1|0|0|0|0|2|0
4_path=c:\Utils\
4_options=5|0|0|0|0|0|0
5_path=\\\Registry\HKEY_USERS\
5_options=1|0|0|0|0|0|0
6_path=::
6_caption=Desktop
6_options=1|0|0|0|0|0|0
7_path=D:\Documents and Settings\
7_options=1|0|0|0|0|0|0
8_path=c:\Utils\Test\
8_options=1|3|1|0|0|0|0
activetab=4

На первый взгляд, все очевидно. Вкладки нумеруются слева направо, первый индекс 0. У каждой вкладки два обязательных ключа: <номер>_path и <номер>_options и один необязательный - <номер>_caption, содержащий заголовок (название) вкладки, присвоенное пользователем.
Начнем с ключа <номер>_options. Подробное изучение смысла, который вкладывается в цифры, не проводилось, однако удалось сделать некоторые наблюдения.
Первая цифра - вид, используемый для представления файлов. Например, 0 - brief, 1 - full, 4 - show comments и т. д. Номер 13 в ключе 2_options соответствует одному из content-плагинов, идущим в моем списке под №8. Третья цифра с конца показывает, находится ли текущая директория внутри архива, предыдущая - тип архива, и т. д.
Для меня при написании скрипта TabTools была наиболее важна предпоследняя цифра, которая может принимать значения 0, 1 или 2, что соответствует состоянию "запертости" вкладки - "unlock", "lock" и "lock, but directory changes allowed" соответственно.
Обратим внимание, что кавычки не используются даже в тех строках, что содержат пробелы (например, 7_path=D:\Documents and Settings\). Символ :: означает рабочий стол. Ключ 5_path=\\\Registry\HKEY_USERS\ - FS-плагин TurboRegistry.
Казалось бы, все просто. Ключ activetab=4 тоже вроде бы сомнений не вызывает. А вот теперь вопрос на засыпку: какая директория является текущей? Вы думаете, c:\Utils\? А вот и нет! Не существует никакой связи между цифрами 4 в ключах activetab и 4_path. Точнее, отдаленная связь есть - текущая вкладка располагается рядом с c:\Utils\, но в общем случае отображает другой путь и другие опции!
Аналогично, пытаясь ответить на вопрос "Сколько вкладок открыто на левой панели?", вы скажете "Девять" и опять ошибетесь - десять.
Попутно заметим, что, сохранив текущий набор вкладок в файл, мы получим несколько иную структуру, как раз-таки отвечающую нашим ожиданиям. Во-первых, общее число вкладок будет на единицу (а не на два) больше номера последней. Во-вторых, значение ключа activetab будет указывать именно на текущую вкладку с соответствующим номером. Но нас интересует не файл с содержанием вкладок, а раздел конфигурации.
Дело в том, что информация о текущем пути и опциях всегда хранится не в разделах [lefttabs] и [righttabs], а [left] и [right]. Типовое содержание раздела [left]:

[left]
path=d:\Winnt\
ShowAllDetails=1
show=1
negative Sortorder=1
SpecialView=0
sortorder=3

Тут все еще проще и в пояснениях не нуждается. При этом заголовок панели, если он есть, все равно располагается в разделе [lefttabs], в ключе activecaption, и в этом есть смысл.
Теперь рассмотрим некоторые особые, частные случаи.
Прежде всего, загляните в свои настройки, раздел "Folder Tabs", флаг "Show tab header also when there is only one tab". Не знаю как вы, а я не вижу в установке этого флага решительно никакого смысла. Впрочем, если этот флаг все-таки стоит, придется рассмотреть один частный случай вместо двух.
Итак, предполагая, что флаг сброшен, закроем все вкладки (например, с помощью моего скрипта CloseAllTabs) и вернем панель к первозданному виду, характерному для менее продвинутых файл-менеджеров или для самого ТС версии ниже 6.
Сохранив настройки и открыв файл конфигурации, мы увидим, что раздел [lefttabs] отсутствует - ровно до тех пор, пока мы не создадим вкладку - тогда их сразу будет две. Однако в разделе [lefttabs], напомним, будет содержаться информация всего об одной из них - той, которая не является активной.
Можно ли добиться, чтобы при единственной вкладке раздел [lefttabs] существовал? Как я узнал при написании скрипта TabTools - можно. В реальной жизни такая ситуация вряд ли встретится, но хорошая программа должна предусматривать все, даже маловероятные, возможности.
Создадим две вкладки, одну из них запрем, а вторую закроем. На панели останется одна запертая вкладка. Тогда раздел будет иметь вид:

[lefttabs]
activetab=0
activelocked=1

Единственное, что может здесь меняться - значение ключа activelocked: 1 - "lock" или 2 - "lock, but directory changes allowed". Стоит нам отпереть вкладку, она пропадет (если флаг сброшен) или, в противном случае, присвоит ключу activelocked значение 0.
Напомню, что из файла конфигурации нельзя установить, какая панель - левая или правая - является активной в данный момент времени. Для этого можно использовать плагин tc.
Напоследок приведу информацию для программистов - путь к текущей директории на левой панели можно получить и без чтения раздела [left], а запросив текст дочернего окна №3 класса TMyPanel.

Вахмурка


Другие статьи

Статьи, относящиеся к другим вопросам, и косвенно связанные с TC:

· Интервью с Кристианом Гислером (Christian Ghisler, автор Total Commander)
· Мифы о Total Commander
· Персональный Total Commander: за и против
· Почему была переименована программа
· Сравнение файл-менеджеров Total Commander и Frigate


Интервью с Кристианом Гислером (Christian Ghisler, автор Total Commander)

Тоталкомандующий

Крокодилы, черепахи, вараны с острова Комодо - все это долгожители эволюционного пути развития жизни на Земле. Среди программного обеспечения, как и в биосфере, тоже есть подобные долгожители, корни которых уходят в далекие времена текстовых интерфейсов, пятидюймовых дискет и однозадачных операционных систем. Но и теперь, в эру практически безраздельного властвования графического интерфейса, мультимедиа и многозадачности, они сохраняют свои позиции. Одним из видов подобных программ являются файл-менеджеры. Знамя из ослабевших рук почившего в бозе Norton Commander'а выхватили и продолжают гордо нести FAR, Frigate (оба российского происхождения!) и Total Commander (прежде Windows Commander). С автором последней программы, швейцарским программистом Кристианом Гислером, наш сегодняшний разговор.
Кристиан был настолько скромен, что, несмотря на мои просьбы, свою фотографию предоставить отказался.
Виктор Котов: Кристиан, день добрый! Позвольте задать несколько "каверзных" (и не очень! :)) вопросов?
Кристиан Гислер: Здравствуйте! Хорошо, я готов к ответам на любые вопросы! :)
Виктор Котов: Microsoft постоянно экспериментирует с пользовательским интерфейсом, делая его более "интуитивным" и "дружелюбным". Как Вы считаете, удастся ли Total Commander сохранить свои позиции с распространением новых версий ОС от Microsoft?
Кристиан Гислер: Я придерживаюсь того взгляда, что в первую очередь необходимо использовать интерфейс пользователя присущий конкретной операционной системе, а не применять свою собственную технологию скинов, так как пользователю проще работать с программой, которая выглядит как органичная часть операционной системы. Именно поэтому Total Commander выглядит как "ХР" под Windows XP, но не под Windows 2000. Полагаю, что Total Commander будет выглядеть как "Longhorn" под Longhorn.
Виктор Котов: В новой версии ОС от Microsoft - Longhorn - будет использоваться файловая система нового типа. Как это скажется на функциональности Total Commander?
Кристиан Гислер: Это зависит от того, каким образом это будет организовано, если Microsoft будет поддерживать типичные функции файловой системы, то изменения будут незначительны. Если же они представят их как виртуальные папки (как "Рабочий стол", например), тогда необходимость в серьезных изменениях возникнет не только у Total Commander, но и у большинства программ, разрабатываемых сторонними компаниями.
Виктор Котов: Как часто Вы получаете отзывы от пользователей Total Commander? Что именно из последних нововведений (фоновые операции, закладки папок и т.д.) понравилось им больше всего?
Кристиан Гислер: Я получаю достаточно много комментариев пользователей, примерно 100 сообщений в неделю. Кроме того, я получаю много отзывов на форуме нашего сайта www.ghisler.ch, которые очень полезны для дальнейшей разработки программы. Закладки для папок были хорошо приняты многими пользователями, но вместе с тем это нововведение вызвало много предложений, например, насчет того, что должно происходить при повторном создании закладки для одной и той же папки и т.д.
Виктор Котов: При разработке новых версий программы, на что Вы в первую очередь ориентируетесь? На ситуацию на рынке ПО? На запросы пользователей? Находки конкурентов? Или пользуетесь исключительно личными мотивами и интересами?
Кристиан Гислер: Я стараюсь включить те функции, которые больше всего востребованы пользователями, но только в том случае, если они не выходят за рамки концепции файл-менеджера. Например, я не собираюсь добавлять FTP-сервер, так как это задача гораздо лучше решается в виде отдельной программы, которая будет запущена постоянно в фоновом режиме.
Виктор Котов: Насколько тесно Вы сотрудничаете с разработчиками плагинов к Total Commander? Можно ли сказать, что сложилось определенное сообщество плагин-программистов?
Кристиан Гислер: С одними разработчиками я поддерживаю постоянную связь, а с кем-то не связывался ни разу. Чрезвычайно открытый интерфейс плагинов позволяет написать свой плагин без необходимости обращаться к нам. С другой стороны я знаю, что некоторые компании разрабатывают и используют плагины для работы с файлами собственного формата и никогда не выкладывают их для всеобщего пользования.
Виктор Котов: Задумывались ли Вы, почему Microsoft при всем ее желании занять любую нишу в секторе ПО, никогда не предпринимала серьезных попыток выпустить собственный файл-менеджер?
Кристиан Гислер: Рынок, без сомнения, очень мал. Symantec прекратила выпуск Norton Commander для Windows из-за низкого уровня продаж. Программы подобного рода являются прибыльным бизнесом лишь для маленьких shareware-компаний (например, у нас 2 человека), но не для больших корпораций.
Виктор Котов: В момент, когда Вас вынудили сменить название программы с Windows Commander на Total Commander, не было ли со стороны Microsoft альтернативных предложений? Например, купить права на Windows Commander или взять Вас к себе на работу?
Кристиан Гислер: Нет, ни в коей мере. Мы не контактировали непосредственно с Microsoft, но адвокаты, работающие на корпорацию, сами связались с нами и очень вежливо объяснили нам ситуацию. Microsoft была вынуждена пойти на такие шаги в связи с судебным процессом против компании Lindows в США. До этого они игнорировали нас в течение 9 лет, до тех пор, пока люди из Lindows не вынудили их защищать торговую марку "Windows", вслед за этим они обратились и к нам.

Именно с версии 3.01 началась "взрослая" жизнь Windows Commander!

Виктор Котов: Кем Вы работаете? Или Вы зарабатываете на жизнь, занимаясь исключительно Total Commander?
Кристиан Гислер: Да, на протяжении нескольких лет я вместе со своим коллегой работаю только над Total Commander, и, надо сказать, это позволяет мне жить в достатке.
Виктор Котов: Total Commander существует только в версии для Windows. Это определено раз и навсегда или возможен выход версий для других ОС?
Кристиан Гислер: Я работал над Linux-версией программы в течение нескольких месяцев, но, к сожалению, столкнулся с рядом проблем, которые требовали ЗНАЧИТЕЛЬНЫХ временных затрат для их решения, в то время как работа над Windows-версией и так занимает все мое время. Именно поэтому релиз Linux-версии пока не планируется. К тому же философия пользователей Linux такова, что они привыкли получать все бесплатно, а я не хотел бы тратить достаточно много своего времени для работы над бесплатной версией. Это больше похоже на хобби, как, например, версия для Pocket PC, которую я распространяю бесплатно.
Виктор Котов: Ведёте ли Вы учет проданных/скачанных дистрибутивов Total Commander? Какой процент пользователей в мире используют Total Commander? Есть ли региональный или "профессиональный" аспект?
Кристиан Гислер: Total Commander более популярен в Европе (включая Россию). Большинство покупателей из соседней Германии. Количество скачанных копий оценить достаточно трудно, так как многие сайты также распространяют дистрибутив программы.
Виктор Котов: Насколько мне известно, Вы используете Delphi (кстати, какую версию?). Но сейчас появились новые языки программирования (C#, .Net и т.д.). Нет ли планов сменить язык и среду программирования? Какой язык Вы будете использовать в будущем?
Кристиан Гислер: Для Total Commander я все еще пользуюсь Delphi 2.0, хотя у меня есть лицензионная Delphi 7, которую я использую для других проектов. Delphi 2.0 идеальна для меня, потому что она работает очень быстро и выдает очень компактный код. Кроме того, последние версии Delphi создают код, который несовместим с 16-разрядной Delphi. Маленький размер программы важен для меня еще и потому, что я отправляю заказы покупателям на дискетах, но в будущем я планирую перейти на компакт-диски. Также маленький размер важен для скачивания в Интернет. Вот почему ".Net" абсолютно неприемлема для shareware-программистов: пользователям придется скачивать кроме программы еще и 23-хмегабайтный дистрибутив ".Net framework" для того чтобы запустить программу.
Виктор Котов: На Ваш взгляд, чего еще не хватает Total Commander?
Кристиан Гислер: Будет добавлено много функций - мой лист пожеланий насчитывает сотни пунктов. С другой стороны, добавление большого числа функций приводит к увеличению размера программы и замедлению работы, а, кроме того, - пользователям становится сложно отыскать, разобраться и использовать все эти функции.
Виктор Котов: Можете ли Вы чуть-чуть приоткрыть "завесу тайны", что ждет нас в новых версиях Total Commander? И когда планируется очередной релиз?
Кристиан Гислер: В этом году в Европе истекает срок действия патента на формат GIF (LZW-сжатие), так что я планирую добавить расширенную поддержку для работы с изображениями, например, просмотр в режиме thumbnail. Следующий значительный релиз планируется осенью 2004 года.
Виктор Котов: Спасибо, Кристиан, за содержательный разговор!
Кристиан Гислер: Вам спасибо, было интересно!

Примечание: Официальный сайт Total Commander: http://www.ghisler.com. Русскоязычный сайт, посвященный Total Commander: http://www.wincmd.ru.

Виктор Котов


Мифы о Total Commander

Мне очень хотелось бы рассеять некоторые сложившиеся мифы о Total Commander. Мифы эти, в основном, распространяются благодаря пользователям конкурирующих с TC файлменеджеров, и это неудивительно. Зная свой файловый менеджер почти на рефлекторном уровне, они пытаются применить свои знания и привычки к TC... после чего и рождаются заблуждения, мол "то-то и то-то не работает!". А иногда, в косности своей, недалёкие пользователи пускают откровенную "дезу", которая у пользователей TC ничего, кроме насмешки, не вызывает...

Что же, попытаюсь разрушить найденные мною мифы. Разрушить, а где-то и посмеяться.

В TC нет редактора файлов! По F4 он запускает мерзкий Notepad!

В TC нет встроенного редактора файлов. Автор дал пользователю возможность решать, чем ему редактировать файлы. Кому-то хватит и стандартного Блокнота, а кто-то повесит EditPlus, или ещё что-то. Создатель TC не отвлекается на написание встроенного редактора, который всё равно не устроит 100% пользователей, а улучшает файлменеджер.

В TC нет редактора с подсветкой синтаксиса.

См. предыдущий вопрос.
Ну, на крайний случай - есть SynPlus:

SynPlus - мощный плагин с возможностью редактирования

Этот плагин позволяет подсвечивать любой синтаксис (редактор подсветок входит в дистрибутив) и умеет редактировать файлы. Да ещё, плюс ко всему, умеет работать не только в качестве плагина TC, но и как отдельное приложение.

TC работает медленно, потому что графический, и тратит время на отрисовку иконок.

Графические приложения в Win-системах работают не медленнее (если не быстрее), чем консольные. Все нужные библиотеки всегда висят в памяти, и обращение к ним моментально. Если кто-то и вправду думает, что отрисовка иконок способна затормозить работу TC на современном компьютере, может отключить показ иконок в настройках и найти разницу. Она, если и будет, то очень небольшой.
Справедливости ради скажу, что на P-100 с архимедленным винтом на 2 Gb отрисовку иконок действительно приходилось отключать :).

Тотал платный и сливает бесплатным файлменеджерам.

Никто не запрещает использовать TC бесплатно - достаточно один раз при каждом запуске нажать кнопку на наг-скрине.
Оплата программы гарантирует её развитие. Новые версии TC с абсолютно новыми возможностями появляются относительно часто, в то время, как бесплатные конкурирующие программы обновляются очень редко, да и то - эти обновления, чаще всего, - простые исправления ошибок

Тотал не имеет консоли, а потому - ацтой! А внешняя консоль закрывается сразу.

Смотрим сюда. Встроенной консоли TC не имеет, но претензии по отсутствию возможности её подключения абсолютно необоснованы.
Ах да, чтобы внешняя консоль не закрывалась, нужно жать Shift+Enter.

При работе в консоли TC сливает консольным менеджерам.

См. предыдущий миф.
Вопросы "слива" относятся скорее к кривизне рук пользователя, нежели к недочётам самого TC. Конечно, у изначально заточенных под консоль файлменеджеров удобства будет побольше... Но зачем тем, кто сидит в консоли, файлменеджер?

По количеству плагинов TC проигрывает другим файлменеджерам.

230 плагинов на все случаи жизни я насчитал у себя на винте. Это наверняка не все существующие плагины, но зачем мне какой-нибудь экзотический плаг для просмотра файлов сохранёнок версии пакмена от 87 года?

Цветовая схема TC похожа на выстиранную простыню.

Раскрашиваем в настройках, как хотим, и что хотим. А ещё читаем эту статью, и преисполняемся высшей мудростью.

TC написан на Delphi, а значит - ацтой!

TC написан на Delphi 2.0. Эта версия создаёт компактный и быстрый код, и позволяет простой перекомпиляцией создавать шестнадцатибитные приложения (TC под Win 3.1 обновляется и по сей день). Перехода на другие версии Delphi не ожидается.
Во времена многогигагерцовых процессоров и повального увлечения программированием на .NET говорить о тормознутости программ, написанных на Дельфи как-то глупо.

Тотал для мышатников! Клавиатура рулит!

В TC настраиваются практически любые клавиатурные сочетания практически на любое действие. При желании можно задействовать сторонние программы для написания скриптов, позволяющих выполнять сложные действия.
Мышь - не единственное средство управления, а дополнительное. Каждый пользователь выбирает сам, чем ему пользоваться, TC позволяет и то и другое.

Горячие клавиши в TC очень неудобны.

См. предыдущий миф. Удобство или неудобство, в данном случае, - вопрос личных предпочтений. Не нравится - переназначь :)

Тотал - для ламаков, которые кроме винды ничего не знают!

Если почитать отзывы пользователей TC на официальном форуме, то найдётся множество пользователей, работавших и на Amiga, и на Commodore, а уж NC/VC под DOS использовал каждый второй. А уж сколько пользователей просит перенести TC на Linux/Mac OS - не счесть.

По F3 в TC вызывается какая-то хрень...

Эта "хрень" называется Lister. И этот листер умеет больше, чем многие сторонние программы. Даже без предварительной настройки он способен смотреть многие текстовые форматы, а после подключения плагинов он "видит" практически всё. С некоторыми (далеко не всеми) возможностями Lister-плагинов можно ознакомиться в этой статье.

В TC нет возможности записи макросов.

Чего нет - того нет. Зато есть возможность написания скриптов для PowerPro или TCWSHelp, хотя это и не совсем то же самое, что макросы FAR.

TC не работает с NTFS Symbolic links & Hard links

Работает (корректнее, чем Windows Explorer), создаёт и удаляет, см. здесь.

TC слишком долго надо настраивать...

Этот аргумент всегда меня поражал - можно подумать, что другие программы сразу после установки знают, чего от них хочет пользователь, и без всякой настройки угадывают его желания :)
Самые нужные возможности TC настраиваются за несколько минут. Дальше же можно копаться бесконечно - но это говорит о том, что TC богат возможностями, а не о том, что он сложен.

TC не показывает скрытые шары в сетке.

Странно, а у меня показывает... :).

Дурацкие скобки в именах каталогов меня бесят, и их фиг отрубишь!

Да, да, несомненно :)

TC при удалении грохает файлы без подтверждения... И это в настройках по умолчанию!

Откуда взялось это утверждение, мне непонятно, однако и оно проскакивало пару раз. По умолчанию все запросы на подтверждение файловых операций в TC включены.

В TC нельзя смотреть ресурсы файлов.

Подключаем resextract, и открываем любые файлы с ресурсами, как архивы. А с помощью листер-плагинов эти ресурсы легко просматриваются. Кстати, даже редактировать можно.

Переименования с регулярными выражениями в TC нет, хе-хе...

Жмём Ctrl+M, и балдеем.

После переустановки винды все настройки TC слетают, ведь хранятся они в папке Windows.

Ещё один миф, возникший в среде людей, редко использующих свой мозговой аппарат. Настройки TC хранятся в двух файлах: wcx_ftp.ini (настройки ftp-клиента) и wincmd.ini. И тот и другой могут находиться где угодно по выбору пользователя, самым логичным решением будет их хранение в папке самого TC. Кстати, при установке TC спрашивает, где пользователь хочет хранить настройки. И кто виноват, если вы решили сохранить их в папке Windows, а перед удалением забыли их скопировать?..

Менюшки в TC сверхизбыточны и запутаны! Бесит!

Файл меню - обычный текстовый файл с легкопонимаемой структурой, и любой пользователь может его отредактировать. К тому же, существует немало программ, облегчающих редактирование меню.
Более подробно о создании собственного меню рассказано в этой статье.

TC не умеет редактировать MP3 теги!

AmpView, Multimedia Factory, SMViewer, MediaShow, TWinAmp, anytag... Ничего не пропустил?
Теги редактируются с помощью любого из этих плагинов, выбирай на вкус. Или подключай внешние программы, если есть желание - а возможность есть.

В TC нет почтового клиента!

Для тех, кто смог отказаться от The Bat!, есть POP3 Connections, или MAIL_WFX (плагин, поддерживающий даже GMail).

У TC интерфейс перегружен.

Чем же? И почему руки не дотягиваются до настроек интерфейса, где отключить можно любой его элемент?

GUI не нужен файлменеджеру, в консольном приложении удобнее.

Используем консоль, и отказываемся от идентификации файлов по иконкам, от drag'n'drop, стандартного copy&paste, всплывающих подсказок, просмотра графики и мультимедиа и многого другого. Зато приобретаем необходимость медленного переключения из full screen в случае запуска GUI-приложения из консольного файлменеджера и имеем фиксированного размера окно вне full-screen режима.

TC без инсталляции не работает, а уж чтобы с сидюка или дискеты запускался - и речи об этом нет.

TC всех версий может работать без установки и запускаться откуда угодно. Он не кидает в системные папки никаких файлов (кроме, разве что, файла настроек - и то, если это будет выбрано пользователем), не держит никакой важной информации в реестре (хотя может использовать и реестр, если понадобится), и абсолютно не привязывается к текущей системе.
Тут ещё подсказывают, что есть версия TC, специально созданная для работы с флешек...

У TC корявый интерфейс, напоминающий Win 3.1

Total Commander, конечно, не поддерживает скины и прочие украшения (почему - описано тут), но всё же позволяет настраивать и украшать интерфейс до тех пор, пока тот не начинает терять функциональность. TC - графическое, а не консольное приложение, и может пользоваться всеми удобствами GUI. А может и не пользоваться. Решает пользователь.

-

С мифами покончено. Впрочем, я не упомянул самый распространённый миф - TC для продвинутого пользователя не подходит. Убедиться в том, что это не так, я предоставляю читателю. Думаю, после прочтения RU.TCKB вы будете знать, чему верить, а над чем смеяться.

З.Ы.
Все "мифы" взяты с сайта www.yes-no.ru, из спора FAR vs. Total Commander. Так что это не прикол и не фантазия - люди действительно делают такие вот высказывания :)

Павел Дубровский


Персональный Total Commander: за и против

Всем хорош Total Commander - мощный, удобный и очень быстрый, расширяемый с помощью невообразимого количества самых разнообразных плагинов. И все-таки есть у него один достаточно неприятный недостаток, который вводит в недоумение многих новичков: TC, установленный "начисто", попросту не выглядит мощным. Его меню не содержит и десятой доли возможных команд, панель инструментов имеет кнопки вызова только стандартных функций и программ, в файловых панелях нет никакой цветовой подсветки, а используемые иконки сразу навевают ассоциации с Win 3.1. Нет в стандартном дистрибутиве и никаких плагинов, поэтому неопытный пользователь, наслушавшись разговоров о том, что Тотальный Командир "может это и это", и не найдя как "это и это" сделать, с большой долей вероятности попросту снесет TC.

История вопроса

Попробую объяснить, почему это именно так, а не иначе. Швейцарский программист Кристиан Гислер, автор TC, очень сильно печется о размере дистрибутива (до недавнего времени он вообще рассылался зарегистрированным пользователям на дискетах, и только недавно стал распространяться на CD). Дополнительные наборы иконок и плагинов увеличат конечный размер дистрибутива, что Гислер считает недопустимым. К тому же, Гислеру, так или иначе, придётся обеспечивать поддержку и развитие плагинов, включённых в дистрибутив, а это никак невозможно - ведь пишут их совсем разные люди.
И всё-таки, многих не устраивает текущее положение дел, что приводит к появлению "паков" - сборок Total Commander, с предустановленными плагинами, программами и "украшениями". Часто также составители таких сборок пытаются раскрыть мощь TC, настраивая в нём горячие клавиши на все случаи жизни, и огромные, подробные меню.
Вот о таких сборках я и хотел бы поговорить в этой статье. Всё нижесказанное, конечно же, является моим личным мнением, а не истиной в последней инстанции... Однако по результатам опроса на русском форуме поддержки пользователей Total Commander мою позицию, в той или иной степени, разделяет три четверти проголосовавших (это на момент написания статьи). К тому же, я имею достаточный опыт общения с пользователями паков - администраторы в моём университете тупо установили XP-сборку на все машины, и я вдоволь насмотрелся на студентов, с этой сборкой работающими. Чтобы быть беспристрастным, скажу, что общался я и с пользователями других паков (у меня большой опыт работы в различных компьютерных кафе и клубах), да и сам пытался с ними поработать (просто для ознакомления, надолго меня не хватало).

Хорошо или плохо?

Плюсы. Я вполне понимаю, чем обосновано появление паков (об этом я уже сказал выше). Стоит сравнить отвратительный (для современного пользователя, избалованного всякими графическими примочками) вид свежеустановленного TC и вид TC из какого-нибудь пака. Руки сами тянутся потрогать это "красивое и блестящее". Незнающий человек выберет из двух предложенных вариантов именно пак, и это идет в плюс сборке (то есть, в минус - стандартному TC). Замечу, что этот минус скоро будет частично убран - в грядущем TC 7.0 используются новые иконки от StickyNomad (особо нетерпеливые могут их найти на сайтах, посвящённых TC, и использовать уже сейчас).

Даже на этапе инсталляции сборка eXtended Pack выгодно отличается от дефолтного TC.

Второй плюс, который облегчает жизнь пользователю пака: большая часть возможностей уже настроена. Меню (а новички предпочитают использовать именно меню) пестрят разнообразием команд, и пользователь радостно улыбается, видя это обилие. Ему не надо составлять фильтры поиска: для непривередливого пользователя всё внесено. А на основании фильтров составлены и схемы подсветки: архивы - одним цветом, музыка - другим, а exe-файлы - так вообще серо-буро-малиновые. Это не может не нравиться, да и вообще – очень полезно для новичков, которые, "разобрав" пак по винтикам, смогут понять и принципы настройки.
Третий плюс выражается в простом словосочетании "всё включено". 90% виденных мной пользователей паков сразу после установки делают простую проверку его работоспособности: жмут F3 на html или doc-файле – и вполне довольны тем, что Lister показал им всё, как надо. Естественно; ведь в любую сборку включён самый всеядный из плагинов - IEView.
Это, конечно, самый распространённый случай, но остальное выглядит примерно так же. Пользователь будет смотреть Тоталом фильмы и слушать музыку, смотреть картинки и читать разнообразнейшие документы - и к тому, чтобы всё это работало, он не приложит никаких усилий. Сюда же отнесём и локализацию пака - простая операция по добавлению и включению русского языка в паках всегда выполнена.
Что же, опять плюс? Да, плюс, вне сомнений.

Минусы. Сначала я задумался, к чему отнести следующий пункт моих рассуждений, к хорошему, или, всё-таки, к плохому. А потом вспомнил одну тему на forum.wincmd.ru и однозначно решил - это плохо.
Я говорю сейчас о включении регистрационных ключей или сломанных версий TC в сборки. Они, конечно же, там есть не всегда, но, в большей части виденных мною сборок - присутствуют. Автор пака старается облегчить жизнь своему пользователю, но при этом нарушается закон, причем правонарушение совершают как автор сборки, так и ее пользователи. К тому же, из-за использования нелегальных регистраций происходит множество курьёзов. Скачал, скажем, пользователь официальный дистрибутив новой версии TC (правильно - а зачем ему качать большой файл с новой версией пака, когда можно слить небольшой файл дистрибутива), поставил поверх своего пака, запускает, а тут ему на - "Using cracks is unfair!". Дело в том, что все ворованные ключи быстро отслеживаются и блокируются, после чего новые версии TC с этими ключами работать уже отказываются. А пользователь в недоумении - он ведь даже и не подозревал, что за TC нужно платить деньги... (либо пользоваться на халяву, просто наблюдая при старте nag-screen).
Второй минус вытекает из второго плюса. Конечно, всё уже настроено, но настроено так, как посчитал нужным составитель пака. Если с меню особых проблем не возникает (чаще всего просто используется русское меню от Константина Власова и Вадима Казакова, которое идеально подходит почти для всех пользователей), то с горячими клавишами вопросов очень много. Для многих функций TC не существует стандартных хоткеев, пользователь сам волен выбирать, нужны ли ему эти функции, и на что их "подвесить"... А составители пытаются угадать - так что же нужно пользователю, как ему будет удобнее. А ответ на этот вопрос знает только сам пользователь.
То же самое - и с более общими настройками Коммандера. За пользователя уже решили, будет использоваться выпадающее меню дисков или же кнопки переключения, будет он видеть размер своих файлов в мегабайтах или байтах... ну, и прочие подобные мелочи. Всё это, конечно, перенастраивается за три минуты, но пользователь пака вряд ли полезет в настройки, он не для того скачивал пак, чтобы его настраивать, ведь настроить-то можно и обычный TC...
Конечно, последние мои слова во многом спорны, и всё-таки я отношу это к минусам. Для меня "голый" TC (да и любая другая программа) лучше, чем неизвестно как настроенная.
Третий минус: включённые в сборки плагины и софт. Чего только не суют в паки - и медиаплееры, и калькуляторы и эмуляторы CD-приводов и прочее, и прочее... А это, зачастую, ещё одно нарушение закона. Обычно в лицензиях даже бесплатных программ отдельно оговариваются условия распространения, и одним из таких условий почти всегда является распространение только оригинального дистрибутивного файла. Это условие в паке не выполняется - и вот составитель пака делает пользователя невольным соучастником преступления (я и сам не праведник касательно использования лицензионных программ, но 90% программ, используемых мною, либо бесплатны, либо куплены. Чтобы купить дорогие программы вроде Delphi или Photoshop, я, к сожалению, просто не имею средств).
С плагинами TC несколько иная ситуация. Зачастую авторы плагинов закрывают глаза на использовании плагинов в паках, так как это невольно способствует росту их популярности. Это, конечно, их право, но всё же, один простой пример, всё про тот же IEView:
Пользователь жмёт F3 на html-файле и смотрит его. Потом жмёт на doc-файле и... и тут всё зависит от локальных настроек компьютера. Если на компьютере, из соображений безопасности, отключено открытие файлов в броузере, листер покажет стандартную страницу ошибки, что, конечно, вызовет неудовольствие пользователя (он-то не в курсе, что IEView почти полностью сидит на настройках IE). Далее, в IE может быть включена опция автоматического сохранения скачивания файлов на диск без их открытия, как поведёт себя листер в этой ситуации, тоже нетрудно догадаться.
Да и со знанием возможностей вносимых в сборку программ и плагинов у составителей бывают проблемы. В одном из клубов, в которых я имел удовольствие поработать, была установлена какая-то сборка (уже не помню, какая), которая при попытке архивации в rar показывала консольное окно архиватора (кстати, вот вам и пример незаконного распространения и использования софта). Хотя без труда можно было настроить вывод более приятного и сочетающегося с видом TC графического диалога архивации.
Минус четвёртый: по умолчанию в пак могут быть включены какие-то нестандартные для дефолтного TC возможности, заводящие пользователя в тупик. Особенно много таких "тупиков" появилось после появления wdx-плагинов - составители сборок настраивают и включают по умолчанию какие-то пользовательские колонки, которые могут настолько замедлить работу TC, что юзер, в лучшем случае, бежит жаловаться на форум, а в худшем - сносит TC и больше к нему не возвращается.
Я, кстати, сталкивался с ситуацией, когда в какой-то сборке неправильно настроенный Lister-плагин просто вешал систему на одной из машин. На соседнем компьютере всё работало нормально - и пользователь сбойной версии ругал TC почём зря. Мне так и не удалось объяснить ему, что Командир, скорее всего, ни при чём. Позже мне удалось решить проблему, путём перебора найдя сбоивший плагин (это была какая-то старая версия MediaShow, конфликтовавшая с каким-то из установленных в системе кодеков) и заменив его на корректно работающую версию.
Пятый минус связан с четвёртым. Почему пользователь не разбирается с настройками TC и не отключает "тормозные" колонки, или не перенастраивает вывод на более скоростной? Потому что ему жалко времени на изучение возможностей? Потому что лень? Почему-то ещё?
По моему нескромному мнению - паки отучают пользователя думать, он привыкает к тому, что кто-то подумал за него. А допустить, что за него подумали не так, как он подумал бы сам, пользователь уже не может.
Потому в форумах появляется множество вопросов, приходящих именно от пользователей паков. И эти вопросы (с большой вероятностью), не возникли бы при самостоятельной настройке TC.
Let user decide. Всё предусмотреть невозможно.
Минус шестой: пусть в пак включены какие-то плагины, без этого он паком бы и не назывался. Но где гарантия, что в паке самые новые и стабильные версии плагинов? Обновленные версии появляются очень часто, и составители паков добавляют их себе, после чего прибавляют циферку версии сборки... и качай, юзер, десяток мегабайт ради пары новых плагинов, каждый из которых отдельно весит сто килобайт.
Минус седьмой: сразу замечу - относится далеко не ко всем пользователям, однако такие уникумы тоже есть. Я о тех, кто считает, что все существующие паки - это и есть официальные версии TC. Это приводит к следующим последствиям:
- Пользователь даже не задумывается, о том, что кроме включённых в пак плагинов, к TC можно подключить что-то ещё. Составители сборок обычно включают в них только самые распространённые плагины, остальное остаётся вне его поля зрения.
- При ошибках в работе пользователь начинает жаловаться всем и на всех. Простой пример (подобные жалобы неоднократно появлялись на форумах, посвящённых TC): "Я установил новую версию Коммандера, а он затёр все мои настройки!!!!! Версия TC - Power Pack x.yz".
А ошибка была не в TC, а в инсталляторе пака...
Кстати, инсталляторы, в частности, способствуют распространению мнения об "официальности" сборок. Всё красиво, и действительно при установке выглядит как серьезный продукт серьёзного производителя с красивым названием (о, сколько их, всяких МегаПаков, СуперПаков, Подарков и прочего...). А некоторые составители ещё и «забывают» сообщать о том, что их творчество - продукт сугубо неофициальный (честнее было бы добавить - и не совсем законный) – а это нужно вдалбливать пользователю в первую очередь.

Лицензия сборки PowerPack вызывает и улыбку и недоумение - какой договор может заключаться с незаконным распространителем?

Составители же вообще разделяются примерно на две группы. Первая обычно начинает кричать на форумах и софтварных бордах "Вот зацените мою крутую сборку!!!" (и дальше линк на файл в полста метров), вторая же - реально старается, отлавливает баги, усердно и тщательно - в общем, действительно трудится на благо народа, и с некоторой точки зрения, их труд вполне достоин уважения. Но и они допускают недочёты, о которых я сказал выше.

Заключение

На этом я остановлюсь.
Все минусы, конечно, субъективны. Пользователь глупым быть не обязан, он может поставить сборку только потому, что ему жаль собственного времени. Он может отлично знать и понимать плюсы и минусы – но при этом делать выбор в пользу пака. Свобода выбора - это право каждого.
Да и я не призываю вас не использовать паки, я только предостерегаю. Мной лишь рассказано о положительных и отрицательных последствиях их использования, решать же вам.

P.S. Большинство продвинутых пользователей TC считают правильной следующую точку зрения: лучше всего использовать не чужие, а свои сборки, настроенные сугубо "под себя", а распространением их вообще не заниматься.
Ссылка на соответствующее обсуждение: http://forum.wincmd.ru/viewtopic.php?t=577

Павел Дубровский
09.02.06

Статья была опубликована в Вятском компьютерном еженедельнике «Мегабайт», №8'2006


Почему была переименована программа

Windows Commander теперь Total Commander!

Зачем нужно было менять название? Летом 2002, мы получили письмо от адвокатов представляющих владельца торговой марки "Windows". В этом письме они выражали обеспокоенность тем, что использование названия Windows Commander может привести к ошибочному мнению о связи с их собственными продуктами. В частности, пользователи могут подумать, что Windows Commander написан их программистами. Таким образом, нас косвенно попросили сменить название нашего продукта.
Поскольку слово "Windows" является зарегистрированной торговой маркой, мы не захотели рисковать быть вовлеченными в судебный процесс и решили сменить название. Важно заметить, что с нами поступили довольно честно. Не было никаких угроз о возбуждении судебного разбирательства, и мы могли договориться о переходном периоде до конца этого года. Мы просим вас понять это и не делать никаких негативных комментариев - особенно на нашем форуме, поскольку мы на законном праве отвечаем за размещенные на нем комментарии, и это может повлечь глубокие судебные последствия. Также, пожалуйста, не связывайтесь с нами по вопросу смены имени. Будучи маленькой компанией, мы не можем справиться с большим количеством писем. В любом случае мы не предоставим больше информации, касающейся смены названия программы
Первоначальное название "Windows Commander" было выбрано, скорее, по случайности. Было уже много программ в стиле "Commander" для DOS (например "DOS Command Center", "DOS Controller" и "Norton Commander"), но едва ли для Windows. Слово "Commander" подразумевало под собой уже тогда - 9 лет назад - целый класс файловых менеджеров с двумя файловыми панелями. "Total Commander" был один из самых первых таких программ для Windows, следовательно, выбор имени был довольно логичным.
Новое название "Total Commander" было выбрано вместе с юристом по торговым маркам. "Total Commander" также был зарегистрирован как торговая марка. Благодаря новому названию у нас появились новые возможности предложить похожие продукты для других платформ, например для PocketPC или Linux. Новое название также должно подразумевать собой тот факт, что наша программа предлагает вам абсолютный контроль над вашими файлами. Она позволяет вам видеть, что действительно хранится на вашем жестком диске и помогает манипулировать всеми вашими файлами без посредников.
Мы можем только рассуждать, почему владелец названия "Windows" активизировался только сейчас (спустя 9 лет). С одной стороны, они оказались под давлением использования их (слегка измененного) названия со стороны сообщества Linux. С другой стороны, кто-то другой просто зарегистрировал доменное имя www.windowscommander.com (которое тем временем принадлежит нам). И они, возможно, заметили нас в связи с этой регистрацией.

Оригинал находится здесь.
Перевод (прошу не судить слишком строго) Андрей Пясецкий


Сравнение файл-менеджеров Total Commander и Frigate

Со времени написания этой статьи прошло уже очень много времени. И TC, и Frigate успели обзавестись новыми возможностями, да и тестируя новые версии Фрегата, я уже не встречал в нём некоторых описанных в статье проблем. Так что не кидайте в меня кирпичами, если что :)

Я многое слышал о файл-менеджере Frigate, один мой знакомый нахваливал его, говоря, что это очень удобный и функциональный файл-менеджер, ни в чём не уступающий TC. Сам я Фрегат юзал очень и очень давно... даже не юзал, а так, смотрел что к чему, и сейчас мне захотелось провести некий сравнительный анализ возможностей TC и Frigate.
Я ни в коем случае не намереваюсь разжигать священный джихад между пользователями этих файловых менеджеров. Цель этого анализа - найти те фичи в Фрегате, которых нет в Тотале, понять (с помощью благодарных читателей) - нужна ли эта фича, если нужна - как её реализовать (с помощью плагинов, сторонних утилит или через закидывание дяди Гислера письмами :))
Я даже не выдам в конце ошеломляющего итога "TC победил!" или "Фрегат круче!" - я не ставлю себе цели определить, что лучше, я ставлю цель улучшить TC.
-
Итак: знакомство с Фрегатом я решил начать с того, что залез почитать форум поддержки Фрегата (http://frigate3.com/rus/forum/). Весь форум, конечно же, я не осилил, прошёлся весьма поверхностно. Сложилось впечатление, что Фрегат, в целом, довольно мощный и удобный, но в то же время - сильно глюкавый. Что ж, будем проверять :)

На пробу слил Pro-версию Фрегата 3.29 (последняя версия на момент написания статьи), размер, конечно, впечатлил - 9,4 метра, сразу возник вопрос - чего ж они туда напихали-то? Кстати, ещё доступны бесплатная Lite-версия Фрегата, а также Standard, но меня, как и следовало ожидать, заинтересовала именно Pro-версия, дабы я мог протестить все возможности по максимуму.
Итак, сливаю, инсталлю, запускаю. Интерфейс по умолчанию - неплохо, честно скажу. Сразу видно, куда и для чего надо тянуться.

Интерфейс Frigate по умолчанию.

Менюшки в стиле WordXP, часики, регулятор звука, кнопка "Купить" :) По сравнению с довольно убогим дефолтным видом TC - рулез семизначный. Сколько же весит, интересно, эта красота (Фрегат, как и TC, пишется на Delphi, а значит, используемые компоненты неминуемо увеличат размер экзешника) - оказывается, чуть больше мегабайта. Файл защищён ASProtect (значит, скорее всего, сжат ASPack'ом), в принципе, нормальный размер. Но чу - рядом лежат 4 bpl-файла общим размером в 5 метров, в которых, собственно, и спрятан весь интерфейс. Без них Фрегат не запускается. Итого - размер в шесть раз больше, чем у TC. И памяти голый Фрегат занял 14 Mb - столько же, сколько полностью настроенный TC.

Сразу же лезу в настройки, и переключаю язык на русский. Требуется перезапуск... ладно, перезапустим.
Кстати, форма настройки (гордо именуемая в Фрегате "Панелью управления") очень похожа на Тоталовскую. В принципе, это самый логичный вариант, не знаю, кто у кого слямзил идею, может - никто ни у кого, всё равно удобно, остальное мало волнует.

Панель управления Frigate... Что-то она мне напоминает...

Разбираюсь с настройками (тут напишу только действительно интересное и полезное).

Оппа! Стили панелек переключаются (стандартное, как в WinWord или как один из стилей в WinXP, этот стиль я себе и оставил). Панельки можно передвигать и кастомайзить - это плюс несомненный. Но меня тут же постигло некое разочарование - сдвинуть любую панельку вниз, под файловые панели, у меня не получилось, некоторые панели двигаются, некоторые - нет, в принципе - логично. Было бы такое в Тотале - красота бы была. Вообще, был бы интерфейс полностью настраиваемым, как в Opera 7/8... Такая возможность - огромный плюс любой проге.

Кастомизация панелек - очень нравится.

По этому пункту резюмирую: во Фрегате кастомизация интерфейса лучше тоталовской на порядок, а то и на два.

Так... Файловые ассоциации. Ради эксперимента ассоциирую Фрегат с *.avi, и в Тотале запускаю фильм... Открывается во Фрегате, на новой панели. Удобно конечно, но ЗАЧЕМ? Если я собираюсь работать в этом файл-менеджере, нафиг мне ассоциировать с ним файлы? Я что, в Проводнике буду щёлкать по *.avi. чтобы запустился Фрегат с фильмом? Мне это кажется глупостью. Я даже подумал - наверное, ассоциации - аналог F3, чтобы в самом Фрегате по ентеру фильм играть, а не плеером. Нет, F3 тоже работает. Тогда вопрос "Зачем?" остаётся открытым, а фича признаётся малополезной.

Далее. Поле "Горячая клавиша для минимизации/восстановления Фрегата", по умолчанию Scroll Lock. Проверил - действительно работает... Классно, почему в Тотале такого до сих пор нет? Я вообще не знаю, зачем Scroll Lock нужен, а тут ему нашли такое архиудобное применение. У кого нет программируемой клавиатуры - тем такая возможность покажется очень удобной, как и мне. Да, есть возможность сторонними прогами (PowerPro, например) настроить это хотя бы на тот же Scroll Lock... но ведь фича-то абсолютно логичная, и, имхо, просто-таки должна быть в TC! У меня на минимизацию в трей стоит F12, но чтобы достать Тотал из трея приходится трогать мыша, а я заядлый тракторист и за шесть лет сносил кучу клавиатур и всего одну мышку :)

Дальше. Закладки файловых панелей можно перемещать вниз. Удобно, я бы и в Тотале не отказался от такой возможности, но, в принципе, не критично.

Так, идём дальше. Работа с Интернетом. Замечаю: ФТП работает только через один прокси (по крайней мере, создается такое впечатление; где настроить список прокси, я не нашёл), Тотал, как известно, позволяет указать туеву хучу проксей с разными настройками и выбирать из них. Пробую поползать по парочке FTP-серверов - никаких проблем. Скачка/закачка в фоне (причём можно доставать окно закачки из фона), есть даже что-то вроде очереди закачек, правда, не столь логичной и удобной, как в TC (мне показалось, что файлы скачиваются одновременно, а не по очереди, т.е. так же как при простом копировании в TC). Зато окна копирования сворачиваются в собственный тулбар - неплохо выглядит, да и удобно.

Почта. Тут и почта есть? То есть, можно забирать почту через файл-менеджер? Не верю такому счастью :), настраиваю... и остаюсь в недоумении - а чего сделать-то, чтобы почту забрать? В меню нигде никакой команды нет... хм, ладно, если попадётся - хорошо. В Тотал почтовый клиент - надо однозначно, но только плагином (может, даже и есть такой плаг, я не интересовался, если честно, всё как-то по старинке - летучим мышом...). Позже нахожу команду "Послать по почте" - оно ли это? Но всё время запускается стандартный почтовик :), значит - не оно.

Опа... я нахожу возможность поставить в фон картинку! Пищю, и, стеная от предвкушения, ставлю пикчу... да, есть!

Картинка в фоне - почему нет?

Если честно - я не любитель украшательств, скорее наоборот. Даже на рабочем столе у меня долгое время не было никакой картинки. Но потом картинка всё же появилась, да такая, что мне её хочется видеть и в фоне Тотала. Да, я осведомлён, что Гислер ну ни в какую не хочет добавлять всякие украшательства интерфейса... но я ничего не могу с собой поделать. Это здорово, и всё тут.

Иду дальше. Настройки вида панелей, по сравнению с тоталовскими, - убожество. Насколько я понял, имеется только два основных вида - "список" и "таблица" (аналоги "краткого" и "подробного" режима в TC). Я не нашёл, как показать дерево каталогов, не говоря уж про Custom Columns, которых Frigate вообще не имеет.

Thumbnails есть, но работает только с графическими файлами, и, в целом, проигрывает тоталовскому (в TC этот режим расширяется ещё и за счёт плагинов).

Дальше. Файловые группы - позволяет группировать файлы по расширениям, дабы потом по группам их и раскрашивать. Но TC и тут выигрывает - настройки файловых групп в нём куда как богаче (можно указать не только расширение, а любой параметр, по которому вообще можно осуществлять поиск).

Дальше. Встроенный текстовый редактор с проверкой (как написано) и подсветкой синтаксиса. Не нужно. Редактор я всё равно использую внешний, а проверку синтаксиса и орфографии могу доверить только Ворду. Кстати, может кто напишет плагинчик для проверки орфографии с помощью вордовских словарей? Ну а подсветка - SynPlus давно и однозначно рулит в этой области.

Ух, плагины... Добрался. Папка с плагинами весит целых 20 метров, но и наборчик впечатляет. Поддержка архивов, просмотрщики, редакторы, часики, которые мне столь понравились, управление звуком, даже запись CD... чего только нет. Плюс, как заявлено, можно подключать FS-плагины от TC. Будем смотреть.

Приличный список плагинов... Но никакой сортировки по типу.

Аналоги файловых плагинов TC, идущие в pro-версии: Registry, Uninstall и WriteCD. Всё вроде работает, особых замечаний нет. Но чтобы добраться до плагинов... гм, нажимаю Alt+F2, потом мышкой или через PgDown нажимаю кнопку Frigate (это вроде для группировки), и уже там выбираю плагин. Очень неудобно. Впрочем, я нашёл, как скинуть всё в одну группу, стало можно выбирать почти так же, как в TC. По идее, наверно, можно написать для Фрегата все FS-плагины, что есть у TC.

Архиваторные плагины.
На всех типах архивов проверить не смог (TC всё равно поддерживает гораздо больше :P), стал мучить Rar и Zip. С маленькими архивами - всё в порядке, но в среднего размера (128 Mb) архив с большим количеством файлов (документы) Фрегат заходил довольно долго. Причём на то время, пока он пытался войти в архив, никакой индикации или блокирования не было, я попробовал просто "погулять" в это время по винту - Фрегат порадовал меня ошибкой в своём архиваторном модуле. Просмотр файлов внутри архива - ужасен, просмотр открывается, но в окне - пустота. Я пытался подождать, думая, что файл просто распаковывается в фоне - нет, не дождался. Попробовал просто распаковать файл - нет, не получилось, делает вид, что распаковывает, а файла нет :(. Может я где-то что-то недоглядел, но, имхо, такие важные настройки, как архиваторные, всегда должны быть под рукой.

Плагины просмотра и редактирования. Без проблем посмотрел RTF, послушал MP3, видео посмотрел, теги медиа отредактировал. Показалось даже SWF, DBF (с возможностью редактирования), XLS (правда, открывал ОЧЕНЬ долго). Дальше не тестировал - в целом понравилось.

Плагины... как бы их назвать - общего назначения, что ли. Просто панели, встраиваемые в интерфейс Фрегата (как часы, регулятор громкости, etc). Что понравилось - некоторые плагины других типов при запуске добавляют такие панельки (например, при прослушивании MP3 через F3 появляется панель управления плеером). Удобно!

Панель, появляющаяся при нажатии F3 на мультимедийном файле.

Резюмирую: вот этих плагов общего назначения в Тотале не хватает, остальное сделано так же, а в случае "плавающих панелек" - даже лучше. И очень напрягло то, что все плагины лежат в одной куче, нет никакой сортировки по назначению или ещё как-нибудь. Устанавливаются плаги так же скопом (вообще не устанавливаются - Фрегат сам пытается подхватить все плагины, лежащие в его папке), в Тотале сортировка и установка сделаны удобнее. Вообще-то я бы не сказал, что уж очень удобно - но в TC это хотя бы есть.

Подключение плагинов от TC.
Вот такая вот заманчивая возможность есть у Фрегата. Я попробовал, сделал как указано - скопировал в папку /Plugins/TC свои FS-плагины (всего полсотни :)). При запуске Фрегат вылетел с ошибкой :) Эх-х, ладно, будем по одному плагину пробовать.
Ставлю ADO Data Sources - ага, появилось, и даже работает. Добавляю Back2life, Calendar и CanonCam - ни фига не видит, только ADO. Сношу все плагины, запускаю Фрегат - ADO так и висит, правда в файловой системе плагина пусто :)
Короче - фича глючная. Что уж говорить, некоторые плаги и в самом TC подглючивают, а уж во Фрегате... о чём тут говорить, он даже определить плаги не смог.
Возможно, это всё лечится подстройкой и шаманством, как и в случае с некоторыми TC-плагинами.

Ладно, перейдём к наиболее важной части Фрегата - собственно, к файловому менеджеру.

Навигация.
В основном, ползать по диску не удобнее, чем в TC. Закладки панелей сделаны иначе, чем в Тотале - там мы видим две панели с закладками, здесь - закладки с двумя панелями. Т.е., во Фрегате реализовано некое подобие MDI-интерфейса, если честно - не понравилось, хотя, возможно, это дело привычки. Может быть, кому-то покажется удобной фича с выбором дисков через Ctrl+Стрелочки. Мне же понравилась возможность перехода в FullScreen (на самом деле просто убираются дополнительные панельки), в TC такого нет (зато круче можно сделать с помощью сторонних программ). Ну и ещё пара мелких возможностей, которые кому-то приглянутся, но в целом - ничего особенного.
Кстати, просмотр открывается хоть и в новом окне, но это окно как раз открывается такой закладочкой. Мне показалось неудобным.

Просмотр по F3 открывается в отдельной панели, а не в отдельном окне.

Панель быстрого запуска.
По идее, эта панель должна выполнять те же функции, что тулбар в TC, но возможности у неё убогие (абсолютно аналогично Quick Launch в таскбаре винды). Тотал тут на две головы выше.

Вот и все возможности Quick Launch

Быстрый просмотр.
В принципе - то же самое, что в TC, вызывается так же (Ctrl+Q).
Стал смотреть картинки, включил слайд-шоу... Появилась куча ошибок Catastrophic Failure, Фрегат остался работать, но на любую попытку до него домогнуться опять плевался сообщениями об ошибке, и, в конце концов, вылетел нафиг. Перезапустился, стал экспериментировать дальше - при попытке посмотреть 13-метровый файл опять вылезло сообщение об ошибке, хотя файл показался (как текст, естественно). Дальше тестировать что-то расхотелось.

Поиск.
Единственная фича, которой нет в опциях поиска TC, и которая есть у Фрегата - это поиск/замена текста в файлах. Есть также некое подобие фонового поиска - поиск ведётся в открытом табе, можно перейти на другой таб и работать там, пока Фрегат ищет что-то. Удобно, ничего не скажешь. Почему бы Гислеру не сделать такое, юзеры были бы на седьмом небе от счастья.

Поиск/замена текста в файлах

В поиске поддерживаются регэкспы, а вот возможности сохранять/загружать настройки поиска (и тем более применять их в других целях) нет.

Расцветка.
Плюс: можно раскрасить интерфейс программы, выбрать шрифт каждому элементу интерфейса. Минус: раскраска файлов на панели на несколько порядков хуже тоталовской (взять хотя бы отсутствие возможности раскрашивать файлы в зависимости от времени последнего редактирования).
В целом - Тоталу такое не нужно, это файл-менеджер, а не попугай.

Хоткеи.
Верите или нет - не нашёл, как переназначить хоткеи, или добавить какую-то команду на хоткей. Ужас!
В принципе, конечно, и стандартные клавишные сочетания удобны, но они есть не ко всем пунктам меню, и мне придётся постоянно юзать мышку... Да никогда я на это не соглашусь, хоткеи быстрее и удобнее!

Копирование.
Практически аналогично тоталовскому, даже очередь есть (хм, странно, а почему тогда при работе с ФТП её не было? Или я что-то просмотрел?). Есть возможность сохранить не полностью скопированный файл при остановке копирования (хочу такое же в Тотал).

Обозреватель Internet.
Судя по всему - на движке IE. Мне в Тотале такой и даром не надо, внешний браузер всегда лучше.

Консоль.
Сама идея - хорошая, но реализация - гнусная. Начать хотя бы с того, что курсор ведёт себя совершенно непривычно, бегает туда-сюда, вместо того, чтобы, как положено, выбирать команды. К тому же, она мне показалась очень медленной - набрал белиберду, пока выдалось сообщение, что такой команды нет, прошло секунды две. Плагин TConsole для TC куда как удобнее, хотя тоже не идеал.

-
Вроде всё сказал.
Я не пытался быть объективным, потому что слишком люблю Тотал, и слишком мало знаю о Фрегате. Наверняка я описал тут не все возможности Фрегата, и не всё сравнил с Тоталом. Многих возможностей, которые есть в TC, во Фрегате просто нет, а потому сравнивать их было не с чем (например, нет возможности управлять Фрегатом из сторонних программ, нет редактора хоткеев, нет меню быстрого запуска, да и вообще меню не настраивается). Может, не описал чего-то, что есть во Фрегате, и отсутствует в Тотале.
Мне Фрегат показался, в целом, удобным, но, по сравнению с TC, - малофункциональным и глючным (меня постоянно преследовали какие-то неприятные мелкие глюки - то кнопка в настройках с первого раза не сработает, то курсор изменится невпопад). Вообще-то, по умолчанию Фрегат даже более функционален (как за счёт встроенных фич, так и за счёт идущих в поставке плагинов) чем TC, но после настройки TC даже без плагинов начинает выигрывать у Фрегата, а если добавить плагины - выигрыш в функциональности будет более чем очевиден
Фрегат очень меня порадовал своим настраиваемым интерфейсом, который, даже по умолчанию, довольно удобен и информативен. Также понравились присутствующие в нём некоторые мелкие фичи, реализуемые в TC с помощью сторонних утилит.
В общем, для неприхотливого пользователя Frigate станет неплохим выбором.
-
Фичи, которые может добавить только Гислер:
Полностью настраиваемый интерфейс. В частности: "плавающие" панели, возможность перемещать "ушки" закладок вниз и по бокам, возможность ставить картинку на фон панелей.
Новый тип плагинов, добавляющий функциональность интерфейсу TC.
Find/Replace текста в файлах.
Фоновый поиск.
Возможность сохранять недокопированные файлы при остановке копирования/перемещения.

Фичи, которые могут добавить сторонние разработчики:
Простой и удобный менеджер хоткеев, который может управлять окном TC.
Нормальный плагин для забирания почты. (Такой плагин был написан мной уже после написания статьи, он называется MAIL_FWX).
Плагин для проверки орфографии в Lister (например, с помощью вордовских словарей).

Павел Дубровский


Кнопки панели инструментов

Список материалов раздела:

Введение: кнопки панели инструментов

Вызов апплетов управления Windows:

· Звуки, аудиоустройства
· Изменение компонентов Windows
· Мастер настройки сети
· Мастер новых подключений
· Произношение текста
· Свойства системы
· Свойства экрана
· Управление компьютером
· Установка и удаление программ

Вызов инструментов и утилит Windows:

· Восстановление системы
· Вызов диспетчера задач
· Вызов консоли
· Вызов поисковика Windows
· Дефрагментация диска
· Диагностика DirectX
· Диалог завершения работы
· Настройка системы
· Очистка дисков
· Переименование файла с помощью cmd
· Подключение к серверу служб терминалов
· Проверка и восстановление повреждённых системных файлов
· Производительность системы
· Просмотр изображений стандартной программой Windows
· Результаты поиска Проводника
· Сведения о системе

Переход к папкам Windows:

· Переход в папку Application data
· Переход в Program Files
· Переход в папку Windows
· Переход в временную папку (%TEMP%)
· Переход в папку главного меню
· Переход в Корзину
· Переход в папку меню "Пуск"
· Переход в Мои документы
· Переход в Мои рисунки
· Переход в Мой компьютер
· Переход в Назначенные задания
· Переход в Панель управления
· Переход в Принтеры и факсы
· Переход в папку профиля
· Переход в папку Рабочего стола
· Переход в Сетевое окружение
· Переход в Сетевые подключения
· Переход в папку шрифтов

Управление компьютером:

· Выключение компьютера и перезагрузка
· Кнопка для подключения к Интернету
· Кнопка для отключения от Интернета
· Отключение всех расшаренных ресурсов
· Перевод системы в спящий режим
· Перезагрузка и выключение через указанное время
· Форматирование диска A:

Другие полезные кнопки:

· Архивация в том же каталоге
· Архивирование файлов из разных каталогов
· Вызов диалога "Свойства папки"
· Запуск приложений с различными приоритетами
· Кнопка для создания файла
· Кнопка отключения флеш-накопителей
· Монтирование образов Alcohol 120%
· Монтирование образов Daemon Tools
· Окончательное стирание удалённых файлов
· Открыть с помощью...
· Отправка почты с аттачем
· Очистка временной папки
· Очистка корзины
· Поиск Yandex Desktop Search
· Работа с сетевыми дисками
· Распаковка файлов в папку с именем архива
· Резервное копирование данных
· Синхронизация каталогов
· Создание бэкапа файла
· Создание одноимённой папки
· Создание "пустых" копий
· Создание списка выделенных файлов
· Создание шифрованного RAR-архива
· Сохранение копии реестра
· Сравнение файлов с помощью Compare It!
· Управление Foobar2000
· Управление Winamp & Apollo


Введение: кнопки панели инструментов

В этом разделе вы найдёте коды кнопок для панели инструментов TC. Все коды выделены зелёным моноширинным шрифтом, дабы вам было удобнее их использовать.
Пользоваться такими кодами очень просто. Просто копируете код в буфер обмена, затем щёлкаете правой кнопкой по пустому месту на панели инструментов TC, и выбираете пункт "Вставить" (этот пункт появится только в том случае, если в буфере обмена у вас правильный код кнопки).

На панели появится новая кнопка, выполняющая указанное действие. В некоторых случаях у кнопки может не появиться иконка - тогда попробуйте выбрать пункт "Изменить" на этой кнопке, но не применять никаких изменений (это заставит Тотал обновить иконки на панели).
Если где-то прописаны абсолютные пути до каких-то файлов, вам, возможно, потребуется заменить их на свои.
В случаях, если для выполнения одного действия приведено несколько кнопок - используйте ту, которая у вас работает :)

О формате кода кнопок панели инструментов

Всё довольно просто. Смотрим на скриншот и на код кнопки:

TOTALCMD#BAR#DATA
D:\dshell\PLUGINS\WDX\translit\translit.exe
"%P%N" "%P%N.txt" "D:\dshell\PLUGINS\WDX\translit\Rus2Lat (sms).ttb"
d:\dshell\plugins\wdx\translit\translit.exe
translit
D:\dshell\PLUGINS\WDX\translit\

-1

Первая строка (TOTALCMD#BAR#DATA) - сигнатура, по которой TC определяет, что это - кнопка.
Вторая строка (D:\dshell\PLUGINS\WDX\translit\translit.exe) - значение поля "Команда".
Третья строка ("%P%N" "%P%N.txt" "D:\dshell\PLUGINS\WDX\translit\Rus2Lat (sms).ttb") - значение поля "Параметры".
Четвёртая строка (d:\dshell\plugins\wdx\translit\translit.exe) - путь к файлу иконки. Номер значка можно указать после запятой, по умолчанию берётся первая иконка.
Пятая строка (translit) - подсказка к кнопке.
Шестая строка (D:\dshell\PLUGINS\WDX\translit\) - значение поля "Путь запуска".
Седьмая строка - вид окна. Пусто - обычное окно, 1 - свёрнутое, -1 - развёрнутое.
Восьмая строка - числовое значение команды. Если это внутренняя команда - её номер, если запуск внешнего файла - то -1.

Посмотреть код любой имеющейся у вас кнопки можно, щёлкнув по ней правой кнопкой мыши, и выбрав в меню пункт "Копировать", а потом вставив этот код в любом текстовом редакторе.

Большинство этих кнопок вы могли бы создать и сами. Здесь они приведены большей частью для удобства (взял и скопировал готовое) и для примера (посмотрел, как устроено, создал своё). Миллионов кнопок на все случаи жизни тут никогда не будет.

Павел Дубровский


Псевдопеременные окружения

Total Commander поддерживает использование так называемых псевдопеременных окружения (pseudo-environment variables) - неких значений, всегда ссылающихся на определённые каталоги. Обычно, это какие-то системные каталоги (напр. Fonts), или виртуальные папки Windows, вроде Desktop.
Эти переменные могут использоваться в любых путях, с которыми работает TC, начиная от параметров командной строки, заканчивая вызовом программ с панели инструментов. И именно в панели инструментов чаще всего и приходится использовать эти псевдопеременные.
Что даёт их использование? Явное преимущество одно: независимость от текущей конфигурации. Команда cd %$DESKTOP% будет работать вне зависимости от того, какой пользователь работает с TC, и где у него рабочий стол находится физически.

Вот список поддерживаемых на данный момент псевдопеременных:

%$APPDATA% - Application Data текущего пользователя.
%$DESKTOP% - Рабочий стол текущего пользователя.
%$PERSONAL% - Мои Документы текущего пользователя.
%$PROGRAMS% - Главное меню\Программы текущего пользователя.
%$STARTMENU% - Главное меню текущего пользователя.
%$STARTUP% - Главное меню\Программы\Автозагрузка текущего пользователя.
%$MYPICTURES% - "Мои рисунки" текущего пользователя.
%$MYMUSIC% - "Моя музыка" текущего пользователя
%$MYVIDEO% - "Моё видео" текущего пользователя
%$LOCAL_APPDATA% - Local Settings\Application Data текущего пользователя.
%$COMMON_APPDATA% - Application Data всех пользователей.
%$COMMON_DESKTOPDIRECTORY% - Рабочий стол всех пользователей.
%$COMMON_DOCUMENTS% - "Мои документы" всех пользователей.
%$COMMON_PROGRAMS% - Главное меню\Программы всех пользователей.
%$COMMON_STARTMENU% - Главное меню всех пользователей.
%$COMMON_STARTUP% - Главное меню\Программы\Автозагрузка всех пользователей.
%$COMMON_PICTURES% - "Мои рисунки" всех пользователей.
%$FONTS% - Папка Windows\Fonts
%COMMANDER_PATH% - Папка запуска Total Commander.
%COMMANDER_INI% - Файл настроек Total Commander.
%COMMANDER_DRIVE% - диск, с которого запущен TC (\\Server\Share для сетевых путей).

Примечание: для использования одноимённых переменных окружения Windows (напр. APPDATA), набирайте их так же, но в нижнем регистре. Просмотреть список всех текущих переменных окружения можно, выполнив команду set.
Список поддерживаемых псевдопеременных будет пополняться по мере их появления.

Павел Дубровский


Вызов апплетов управления Windows

Вызов апплетов управления Windows:

· Звуки, аудиоустройства
· Изменение компонентов Windows
· Мастер настройки сети
· Мастер новых подключений
· Произношение текста
· Свойства системы
· Свойства экрана
· Управление компьютером
· Установка и удаление программ


Звуки, аудиоустройства

TOTALCMD#BAR#DATA
control Mmsys.cpl,,4

Mmsys.cpl
Звуки, Аудиоустройства

-1

DredD

Или так:

TOTALCMD#BAR#DATA
mmsys.cpl
,2
mmsys.cpl
Звуки и аудиоустройства

-1

LocKtaR-o-DarK


Изменение компонентов Windows

TOTALCMD#BAR#DATA
rundll32.exe shell32,Control_RunDLL appwiz.cpl,,2

appmgr.dll
Изменение компонентов Windows

-1

или

TOTALCMD#BAR#DATA
appwiz.cpl
,2
appmgr.dll
Изменение компонентов Windows

-1

LocKtaR-o-DarK


Мастер настройки сети

TOTALCMD#BAR#DATA
rundll32
hnetwiz.dll,HomeNetWizardRunDll
shell32.dll,150
Мастер настройки сети

-1

LocKtaR-o-DarK


Мастер новых подключений

TOTALCMD#BAR#DATA
rundll32
netshell.dll,StartNCW
netshell.dll,3
Мастер новых подключений

-1

LocKtaR-o-DarK


Произношение текста

Этой интересной кнопкой можно без установки специального софта (стандартными средствами) узнать произношение английских слов и фраз:

TOTALCMD#BAR#DATA
%CommonProgramFiles%\Microsoft Shared\Speech\sapi.cpl

%CommonProgramFiles%\Microsoft Shared\Speech\sapi.cpl,4
Речь

-1

LocKtaR-o-DarK


Свойства системы

TOTALCMD#BAR#DATA
control sysdm.cpl,,1

shell32.dll,15
свойства системы

-1

DredD


Свойства экрана

TOTALCMD#BAR#DATA
control DESK.CPL,,3

DESK.CPL,1
Свойства экрана

-1

DredD

Или так:

TOTALCMD#BAR#DATA
desk.cpl
,3

shell32.dll,93
Экран

-1

LocKtaR-o-DarK


Управление компьютером

TOTALCMD#BAR#DATA
compmgmt.msc

mstsc,2
Управление компьютером

-1

LocKtaR-o-DarK


Установка и удаление программ

TOTALCMD#BAR#DATA
rundll32.exe shell32,Control_RunDLL appwiz.cpl,,0

appwiz.cpl
Удаление программ

-1

или

TOTALCMD#BAR#DATA
appwiz.cpl

appwiz.cpl
Удаление программ

-1

LocKtaR-o-DarK


Вызов инструментов и утилит Windows

Вызов инструментов и утилит Windows:

· Восстановление системы
· Вызов диспетчера задач
· Вызов консоли
· Вызов поисковика Windows
· Дефрагментация диска
· Диагностика DirectX
· Диалог завершения работы
· Настройка системы
· Очистка дисков
· Переименование файла с помощью cmd
· Подключение к серверу служб терминалов
· Проверка и восстановление повреждённых системных файлов
· Производительность системы
· Просмотр изображений стандартной программой Windows
· Результаты поиска Проводника
· Сведения о системе


Восстановление системы

TOTALCMD#BAR#DATA
%windir%\system32\Restore\rstrui

Restore\rstrui.exe
Восстановление системы

-1

LocKtaR-o-DarK


Вызов диспетчера задач

TOTALCMD#BAR#DATA
taskmgr

taskmgr
Диспетчер задач

-1

LocKtaR-o-DarK


Вызов консоли

TOTALCMD#BAR#DATA
cmd
/t:f1
cmd
Командная строка

-1

Примечание: параметр /t:f1 задаёт цветовую схему консоли, подробнее см. cmd /?. Там же можно указать и другие параметры запускаемой консоли.
Для Win 9x нужно вместо cmd писать command.

LocKtaR-o-DarK

А мне больше нравится такой универсальный вариант:

TOTALCMD#BAR#DATA
cm_ExecuteDOS

%commander_path%\TOTALCMD.EXE,2

511

Павел Дубровский


Вызов поисковика Windows

Q: Иногда требуется вызывать поисковик Windows, как это сделать?

A: Создаём где угодно файл !.fnd, и вешаем его на кнопку (просто пертаскиваем на тулбар TC). Далее при её нажатии будет вызываться инструмент поиска Windows.

По ответам форума forum.wincmd.ru


Дефрагментация диска

Вызов оснастки дефрагментатора:

TOTALCMD#BAR#DATA
dfrg.msc

dfrgres.dll
Дефрагментация

Запуск в консоли (диск, само собой, указываем нужный):

TOTALCMD#BAR#DATA
defrag c: -v

dfrgres.dll
Быстрая дефрагментация

Тоже самое, но с подписанным и свёрнутым консольным окном:

TOTALCMD#BAR#DATA
cmd /c title Дефрагментирую C: && defrag c: -v

dfrgres.dll
Быстрая дефрагментация

1
-1

LocKtaR-o-DarK


Диагностика DirectX

Диагностика DirectX

TOTALCMD#BAR#DATA
dxdiag

dxdiag
Средство диагностики DirectX

-1

Сохранение информации диагностики DirectX в текущую панель

TOTALCMD#BAR#DATA
dxdiag dxinfo

dxdiag,1
Сохранение информации о DirectX

-1

Примечание: файл с результатами диагностики появится не сразу, а спустя некоторое время, в зависимости от скорости и конфигурации конкретной машины.

LocKtaR-o-DarK


Диалог завершения работы

TOTALCMD#BAR#DATA
rundll32 msgina,ShellShutdownDialog

shell32.dll,215
Меню завершения работы

-1

Данный диалог ничего не делает, потому непонятно, зачем он нужен.

Павел Дубровский


Настройка системы

TOTALCMD#BAR#DATA
msconfig

PCHEALTH\HELPCTR\Binaries\msconfig.exe
Настройка системы

-1

LocKtaR-o-DarK


Очистка дисков

TOTALCMD#BAR#DATA
cleanmgr

cleanmgr
Очистка диска

-1

LocKtaR-o-DarK


Переименование файла с помощью cmd

Q: Нужно переименовать файл под курсором (например, видео.avi) по шаблону видео.[tag].avi
Добавляю следующую команду в меню запуск или на кнопку:
ren %N *.[tag].*
запускаю для проверки - получаю сообщение "Файл не найден"! Что я делаю не так (из cmd то же самое работает отлично)?

A: Кнопка:

TOTALCMD#BAR#DATA
cmd
/c ren "%N" "%O.[tag].%E"
shell32.dll,225
Переименование файла

1
-1

LocKtaR-o-DarK


Подключение к серверу служб терминалов

TOTALCMD#BAR#DATA
mstsc.exe

%SYSTEMROOT%\system32\mstsc.exe
Подключение к серверу терминалов
%SYSTEMROOT%\system32\

-1

KPOBABAK


Проверка и восстановление повреждённых системных файлов

TOTALCMD#BAR#DATA
sfc
/scannow
shell32.dll,79
Проверка и восстановление поврежденных системных файлов

-1

LocKtaR-o-DarK


Производительность системы

TOTALCMD#BAR#DATA
perfmon

perfmon
Производительность

LocKtaR-o-DarK


Просмотр изображений стандартной программой Windows

Удобная кнопка для просмотра файлов изображений стандартной программой Windows, может использоваться, например, если файлы ассоциированы другой программой просмотра и пр.:

TOTALCMD#BAR#DATA
rundll32 shimgvw.dll,ImageView_Fullscreen
%p%n
shimgvw.dll
Открыть в программе просмотра изображений и факсов

LocKtaR-o-DarK


Результаты поиска Проводника

TOTALCMD#BAR#DATA
::{E17D4FC0-5564-11D1-83F2-00A0C90DC849}

explorer,1
Результаты поиска

LocKtaR-o-DarK


Сведения о системе

TOTALCMD#BAR#DATA
msinfo32

C:\PROGRA~1\COMMON~1\MICROS~1\MSInfo\msinfo32
Сведения о системе

-1

LocKtaR-o-DarK


Переход к папкам Windows

Переход к папкам Windows:

· Переход в папку Application data
· Переход в Program Files
· Переход в папку Windows
· Переход в временную папку (%TEMP%)
· Переход в папку главного меню
· Переход в Корзину
· Переход в папку меню "Пуск"
· Переход в Мои документы
· Переход в Мои рисунки
· Переход в Мой компьютер
· Переход в Назначенные задания
· Переход в Панель управления
· Переход в Принтеры и факсы
· Переход в папку профиля
· Переход в папку Рабочего стола
· Переход в Сетевое окружение
· Переход в Сетевые подключения
· Переход в папку шрифтов


Application data

Переход в Application Data текущего пользователя:

TOTALCMD#BAR#DATA
cd %$APPDATA%

shell32.dll,165
Переход в Application Data

-1

Переход в Local Settings\Application Data текущего пользователя:

TOTALCMD#BAR#DATA
cd %$LOCAL_APPDATA%

shell32.dll,165
Переход в Local Settings\Application Data

-1

Переход в Application Data всех пользователей:

TOTALCMD#BAR#DATA
cd %$COMMON_APPDATA%

shell32.dll,165
Переход в All Users\Application Data

-1

Павел Дубровский


Program Files

TOTALCMD#BAR#DATA
cd %$PROGRAMFILES%

shell32.dll,36
Переход в Program Files

-1

Павел Дубровский


Windows

TOTALCMD#BAR#DATA
cd %$WINDIR%

shell32.dll,46
Переход в папку Windows

-1

Павел Дубровский


Временный каталог

TOTALCMD#BAR#DATA
cd %TEMP%

shell32.dll,233
Временный каталог

-1

Павел Дубровский


Главное меню

TOTALCMD#BAR#DATA
cd %$STARTMENU%

shell32.dll,87
Папка главного меню

-1

Павел Дубровский


Корзина

TOTALCMD#BAR#DATA
$84F

shell32.dll,31
Корзина

2127

Павел Дубровский


Меню "Пуск"

TOTALCMD#BAR#DATA
cd %$PROGRAMS%

shell32.dll,39
Папка меню "Пуск"

-1

Павел Дубровский


Мои документы

Навеяно ру-бордом: кнопочка для перехода в каталог "Мои документы", не требующая подстановки специфических для данной системы путей:

TOTALCMD#BAR#DATA
cd %$PERSONAL%

mydocs.dll
Мои документы

-1

Константин Власов


Мои рисунки

TOTALCMD#BAR#DATA
cd %$MYPICTURES%

shell32.dll,139
Переход в "Мои рисунки"

-1

Павел Дубровский


Мой компьютер

TOTALCMD#BAR#DATA
$84A

shell32.dll,15
Мой компьютер

2122

Павел Дубровский


Назначенные задания

TOTALCMD#BAR#DATA
cd ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}

mstask.dll
Назначенные задания

-1

или

TOTALCMD#BAR#DATA
cd ::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}

mstask.dll,3
Назначенные задания

-1

LocKtaR-o-DarK


Панель управления

TOTALCMD#BAR#DATA
$84B

shell32.dll,57
Панель управления

2123

Павел Дубровский


Принтеры и факсы

TOTALCMD#BAR#DATA
$84E

shell32.dll,16
Принтеры и факсы

2126

Павел Дубровский


Профиль пользователя

TOTALCMD#BAR#DATA
cd %USERPROFILE%

shell32.dll,130
Профиль пользователя

-1

Павел Дубровский


Рабочий стол

TOTALCMD#BAR#DATA
$849

shell32.dll,110
Рабочий стол

2121

или

TOTALCMD#BAR#DATA
cd %$DESKTOP%

shell32.dll,110
Рабочий стол

2121

Павел Дубровский


Сетевое окружение

Переход в папку "Сетевое окружение". Может использоваться для быстрого доступа к FS-плагинам (т.к. TC объединяет вывод и того и другого).

TOTALCMD#BAR#DATA
$84D

shell32.dll,13
Сетевое окружение (FS-плагины)

2125

Павел Дубровский


Сетевые подключения

В окне проводника:

TOTALCMD#BAR#DATA
control
netconnections
shell32.dll,164
Сетевые подключения

-1

или

TOTALCMD#BAR#DATA
ncpa.cpl

ncpa.cpl
Сетевые подключения

-1

в панели Total Commander:

TOTALCMD#BAR#DATA
cd ::{7007ACC7-3202-11D1-AAD2-00805FC1270E}

ntshrui.dll,2
Сетевые подключения

-1

LocKtaR-o-DarK


Шрифты

TOTALCMD#BAR#DATA
$84C

shell32.dll,38
Шрифты

2124

Павел Дубровский

Открытие папки "Шрифты" в Проводнике (полезно для инсталляции новых шрифтов):

TOTALCMD#BAR#DATA
control fonts

fontext.dll,1
Шрифты

LocKtaR-o-DarK


Управление компьютером

Управление компьютером:

· Выключение компьютера и перезагрузка
· Кнопка для подключения к Интернету
· Кнопка для отключения от Интернета
· Отключение всех расшаренных ресурсов
· Перевод системы в спящий режим
· Перезагрузка и выключение через указанное время
· Форматирование диска A:


Выключение компьютера и перезагрузка

Выключение:

TOTALCMD#BAR#DATA
shutdown
-s -t 0
shell32.dll,27
выключение

-1

перезагрузка:

TOTALCMD#BAR#DATA
shutdown
-r -t 0
shell32.dll,27
перезагрузка

-1

DredD


Кнопка для отключения от Интернета

TOTALCMD#BAR#DATA
rasdial
DISCONNECT
SHELL32.dll,88

-1

Для отключения какого-то конкретного соединения (если их несколько), можно использовать следующую кнопку:

TOTALCMD#BAR#DATA
rasdial
имя_соединения /DISCONNECT
SHELL32.dll,88

-1

Где имя_соединения - название подключения, которое нужно отключить.

Павел Дубровский


Кнопка для подключения к Интернету

Несколько способов создания кнопки для подключения к Интернет:

TOTALCMD#BAR#DATA
rasdial
Имя_подключения Логин Пароль
%SystemRoot%\system32\SHELL32.dll,148

-1

или

TOTALCMD#BAR#DATA
rasdial
Имя_подключения Логин Пароль & pause
%SystemRoot%\system32\SHELL32.dll,148

-1

Здесь Имя_подключения - имя существующего подключения к Интернет, Логин/Пароль - соответственно, логин и пароль для этого подключения.
Вторая кнопка не закрывает окно подключения после выполнения подключения.

Вместо rasdial можно вписать rasphone (уже без параметров):

TOTALCMD#BAR#DATA
rasphone

%SystemRoot%\system32\SHELL32.dll,148

-1

Это вызовет диалог выбора подключения.

Ещё один способ для запуска ярлыка подключения на Рабочем столе:

TOTALCMD#BAR#DATA
%$COMMON_DESKTOPDIRECTORY%\имя_соединения.lnk

netshell.dll,105
Подключиться к интернету

-1

Здесь имя_соединения - ваше vpn или другое нужное соединение, ярлык для которого есть на Рабочем столе. Если в имени соединения есть пробелы, его нужно заключить в кавычки.

По ответам форума forum.wincmd.ru


Отключение всех расшаренных ресурсов

TOTALCMD#BAR#DATA
net
share ipc$ /delete
SHELL32.dll,109
Откл. общие ресурсы (работает до перезагрузки)

-1

LocKtaR-o-DarK


Перевод системы в спящий режим

TOTALCMD#BAR#DATA
rundll32 powrprof.dll,SetSuspendState

shell32.dll,211
Спящий режим

Примечание: в зависимости от настроек компьютера эта кнопка будет включать либо спящий, либо ждущий режим. Для включения спящего режима выполните команду

powercfg /h on

для ждущего:

powercfg /h off

LocKtaR-o-DarK


Перезагрузка и выключение через указанное время

Перезагрузка через 30 секунд:

TOTALCMD#BAR#DATA
shutdown /r

%SYSTEMROOT%\regedit.exe,8

-1

Отменить перезагрузку:

TOTALCMD#BAR#DATA
shutdown /a

%SYSTEMROOT%\winhelp.exe

-1

Перезагрузка через заданное время:

TOTALCMD#BAR#DATA
shutdown
-r -t 60
shell32.dll,27
Выключить комп через 10 минут

-1

Выключение через заданное время:

TOTALCMD#BAR#DATA
shutdown
-s -t 60
shell32.dll,27
Выключить комп через 10 минут

-1

Время, как видно указывается в секундах.
И в том и другом случае отменить операцию можно кнопкой

TOTALCMD#BAR#DATA
shutdown
-a
shell32.dll,27
Отменить выключение/перезагрузку

-1

Для более подробной инфы см. параметры команды shutdown.

По ответам форума forum.wincmd.ru


Форматирование диска A:

TOTALCMD#BAR#DATA
format a: /x /fs:fat /q /f:1.44 /v:floppy

ntbackup
Форматирование А:

-1

LocKtaR-o-DarK


Другие полезные кнопки

Другие полезные кнопки:

· Архивация в том же каталоге
· Архивирование файлов из разных каталогов
· Вызов диалога "Свойства папки"
· Запуск приложений с различными приоритетами
· Кнопка для создания файла
· Кнопка отключения флеш-накопителей
· Монтирование образов Alcohol 120%
· Монтирование образов Daemon Tools
· Окончательное стирание удалённых файлов
· Открыть с помощью...
· Отправка почты с аттачем
· Очистка временной папки
· Очистка корзины
· Поиск Yandex Desktop Search
· Работа с сетевыми дисками
· Распаковка файлов в папку с именем архива
· Резервное копирование данных
· Синхронизация каталогов
· Создание бэкапа файла
· Создание одноимённой папки
· Создание "пустых" копий
· Создание списка выделенных файлов
· Создание шифрованного RAR-архива
· Сохранение копии реестра
· Сравнение файлов с помощью Compare It!
· Управление Foobar2000
· Управление Winamp & Apollo


Архивация в том же каталоге

Простая кнопка для архивации выделенного файла/каталога в том же каталоге, где он находится. Сжатие установлено максимальным. Путь к WinRAR прописываем свой.

TOTALCMD#BAR#DATA
"C:\Program Files\WinRAR\WinRAR.exe"
a -m5 "%O.rar" ""%N""
C:\Program Files\WinRAR\WinRAR.exe
Упаковать текущий файл

-1

Константин Власов


Архивирование файлов из разных каталогов

Вот сразу четыре кнопки для выполнения операции архивирования нужных файлов или каталогов, разбросанных в разных местах. Это необходимо, например, когда требуется снести систему, а некоторые файлы с настройками перенести. Список для архивирования файлов и каталогов можно создавать продолжительное время.

TOTALCMD#BAR#DATA
cmd /c
type %L>>c:\files.lst
shell32.dll,208
Создание списка архивируемых файлов

1
-1

TOTALCMD#BAR#DATA
winrar
a -EP3 c:\backup @c:\files.lst
C:\Program Files\WinRAR\WinRAR.exe
Архивирование файлов согласно списку

-1

TOTALCMD#BAR#DATA
cmd /c
del c:\files.lst /Q
shell32.dll,131
Удаление списка архивируемых файлов

1
-1

TOTALCMD#BAR#DATA
winrar
x -EP3 "%P%N"
C:\Program Files\WinRAR\WinRAR.exe
Распаковка файлов сохраняя полные пути

-1

Первой кнопкой создаем список копируемых файлов, просто натыкиваем файлы и каталоги которые нужно сохранить.
Второй кнопкой создаем архив сохраняя пути с именами дисков.
Третья кнопка нужна для удаления списка.
Ну а четвертая кнопка для распаковки файлов сохраняя пути с именами дисков (работает если установить на созданный архив).

Пути и значки к кнопкам можно изменять на ваше усмотрение.

jehaz


Вызов диалога "Свойства папки"

TOTALCMD#BAR#DATA
rundll32 shell32.dll,Options_RunDLL

SHELL32.dll,96
Свойства папки

Или так:

TOTALCMD#BAR#DATA
control folders

SHELL32.dll,96
Свойства папки

LocKtaR-o-DarK


Запуск приложений с различными приоритетами

TOTALCMD#BAR#DATA
cmd
/c start /high %N
grpconv,1
Запуск программы с высоким приоритетом

TOTALCMD#BAR#DATA
cmd
/c start /low %N
grpconv,1
Запуск программы с низким приоритетом

TOTALCMD#BAR#DATA
cmd
/c start /abovenormal %N
grpconv,1
Запуск программы с приоритетом выше среднего

TOTALCMD#BAR#DATA
cmd
/c start /belownormal %N
grpconv,1
Запуск программы с приоритетом ниже среднего

TOTALCMD#BAR#DATA
cmd
/c start /realtime %N
grpconv,1
Запуск программы с приоритетом реального времени

Ставим курсор на нужный exe-шник, жмём соответствующую кнопку.
LocKtaR-o-DarK


Кнопка для создания файла

Q: Подскажите, как в панели инструментов сделать кнопку, которая в открытой на данный момент директории, создавала бы новый текстовый файл (*.txt), чтобы каждый раз не делать это через контекстное меню. Что-то типа cm_CreateFile...

A: Я сделал так: сделал кнопку с текстовым редактором (у меня Bred3), и в параметрах прописал %pNewFile.txt. При нажатии на эту кнопку Bred спрашивает, создать ли файл (название NewFile.txt само собой).
З.Ы. Хоткей в TC Shift+F4 тоже очень удобен.

Павел Дубровский

Q: Можно ли сделать так, чтобы при нажатии на эту кнопку проверялось наличие файла с именем NewFile.txt, и, если он существует, то к имени нового файла добавлялся порядковый номер (NewFile01.txt, NewFile02.txt и т.д.)?

A:

Создай файл *.vbs (например, %COMMANDER_PATH%\Utils\WHS\OpenWithNextNumber.vbs) с содержимым:

Dim Akelpad, FilePath, WS
Akelpad = WScript.Arguments(0)
FilePath = WScript.Arguments(1)
Set WS = WScript.CreateObject("WScript.Shell")
WS.Run """" & Akelpad & """ """ & NextName(FilePath) & """"
Set WS = Nothing
WScript.Quit()

Function NextName(pFilePath)
Dim FSO, Path, Name, Ext, i, Ending
Set FSO = CreateObject("Scripting.FileSystemObject")
Path = FSO.GetParentFolderName(pFilePath) & "\"
Name = FSO.GetBaseName(pFilePath)
Ext = FSO.GetExtensionName(pFilePath)
Do While FSO.FileExists(Path & Name & Ending & "." & Ext)
i = i + 1
Ending = Right("0" & i, 2)
Loop
Set FSO = Nothing
NextName = Path & Name & Ending & "." & Ext
End Function

Соответственно, кнопка:

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\WHS\OpenWithNextNumber.vbs %COMMANDER_PATH%\Programs\AkelPad\akelpad.exe
%pNewFile.txt
%COMMANDER_PATH%\Programs\AkelPad\akelpad.exe
Создание файла в активной панели

-1

Batya


Кнопка отключения флеш-накопителей

Кнопка, вызывающая диалог отключения USB Flash-накопителей и других подобных устройств.

TOTALCMD#BAR#DATA
RunDll32.exe
shell32.dll,Control_RunDLL hotplug.dll
hotplug.dll
Извлечение флеш-накопителя

-1

По материалам http://ghisler.ch/board/

Q: Как выполнить команду "Извлечь накопитель", если неизвестна буква диска сьёмного устройства?
A: Скачиваем Remove Drive (http://www.uwe-sieber.de/usbdlm_e.html) и закидываем ее куда-нибудь. Потом делаем кнопку по типу:

TOTALCMD#BAR#DATA
"Путь к проге\" "JetFlash TS1GJFV30 USB Device" -l

hotplug.dll
RD
путь к проге\

-1

где:
*путь к проге* - путь к exe RemoveDrive.
"JetFlash TS1GJFV30 USB Device" - название моей флешки
-l - параметр.

Программе не требуется знать букву диска, нужно только имя устройства.
gegabit


Монтирование образов Alcohol 120%

В папке Alcohol 120 есть файл AxCmd.exe, а в Help инфа о параметрах командной строки для него. Так вот, создаем такую кнопку:

TOTALCMD#BAR#DATA
"C:\Program Files\Alcohol Soft\Alcohol 120\AxCmd.exe"
1: /M:%P%N
C:\Program Files\Alcohol Soft\Alcohol 120\Alcohol.exe
Смонтировать..
C:\Program Files\Alcohol Soft\Alcohol 120\

-1

Пути заменить на свои.
Теперь встаем на ЛЮБОЙ файл образа, поддерживаемый Alcohol 120%, и жмем кнопку. Все, образ смонтирован на первый виртуальный привод. Быстро и удобно. Можно еще нарисовать красивую иконку для кнопки.

AlRak


Монтирование образов Daemon Tools

Кнопка для подключения образа в DAEMON Tools (проверено на версии 4.03):

TOTALCMD#BAR#DATA
"c:\Program Files\DAEMON Tools\daemon.exe"
-mount 0, %P%N
C:\Program Files\DAEMON Tools\daemon.exe
Подключение образов в DAEMON Tools
c:\Program Files\DAEMON Tools\

-1

Пути, само собой, пишем свои.

Zorroz


Окончательное стирание удалённых файлов

В Windows (начиная с 2000) есть занимательная утилитка cipher.exe. Она предназначена для шифрования файлов в NTFS. однако есть у неё и ещё одна занятная возможность. Следующая кнопка может пригодиться для окончательного и безповоротного затирания "удалённых" файлов, которые влёгкую востанавливаются любым анерейсером.

TOTALCMD#BAR#DATA
cipher.exe
/w:%P
%windir%\system32\cleanmgr.exe
Очистить неиспользуемое место на текущем диске
%windir%\system32\

-1

Затираться будет свободное место на диске, который открыт в активной панели.

По материалам forum.wincmd.ru


Открыть с помощью...

TOTALCMD#BAR#DATA
Rundll32 shell32.dll,OpenAs_RunDLL
%O.%E
shell32.dll,30
Open with...

-1

А в таком варианте галочка "Всегда использовать..." будет затенена:

TOTALCMD#BAR#DATA
Rundll32 shell32.dll,OpenAs_RunDLL
%O.%E %2
shell32.dll,30
Open with...

-1

Stance


Отправка почты с аттачем

А вот такая кнопочка (правда, требующая настройки под себя), бывало, очень мне ускоряла работу:

TOTALCMD#BAR#DATA
"C:\Program Files\The Bat!\thebat.exe"
/MAILU=MyAccount;A=%P%N;S=%O;EDIT
c:\Program Files\The Bat!\thebat.exe
Послать файл по почте
C:\Program Files\The Bat!\

-1

Выделенный текст - это пути, которые надо прописать в зависимости от системы, а также имя аккаунта.
Кнопочка вызывает TheBat, создаёт в нём новое письмо в указанном аккаунте, приаттачивает к нему файл, находящийся в момент вызова под курсором, и открывает это письмо на редактирование. Остаётся только вписать адрес - кому отсылать, да нажать кнопку "Отправить".

Константин Власов

Если на ящик стоит пароль, то кнопочку нужно такую:

TOTALCMD#BAR#DATA
"C:\Program Files\The Bat!\thebat.exe"
/MAILU=MyAccount;P=******;A=%P%N;S=%O;EDIT
c:\Program Files\The Bat!\thebat.exe
Послать файл по почте
C:\Program Files\The Bat!\

-1

****** - ваш пароль.

Zorroz


Очистка временной папки

TOTALCMD#BAR#DATA
cmd /c rd %tmp% /s /q

shell32.dll,131
Очистка временной папки %temp%

1
-1

LocKtaR-o-DarK


Очистка корзины

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\EXE\RecycleBinCleaner\rbc.exe
/c /s /p
%COMMANDER_PATH%\Plugins\EXE\RecycleBinCleaner\32.ico
Очистить корзину

1
-1

Очистка корзины без всяких потверждений, напоминаний и консольных окон с использованием rbc и runfile:

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\util\Runfile\runfile.exe CMD=%COMMANDER_PATH%\Plugins\util\Rbc\rbc.exe
/c /p
Explorer.exe,6
Очистить корзину
%COMMANDER_PATH%\Plugins\util\Runfile\

-1

Утилита rbc (RecycleBinCleaner): http://rmc.net.ru/files/progs/rbc.rar

По ответам forum.wincmd.ru


Поиск Yandex Desktop Search

Пользователи утилиты "Персональный поиск Яндекса" могут использовать эту кнопку для её вызова, чтобы каждый раз не тянуться к иконке в трее:

TOTALCMD#BAR#DATA
iexplore
http://127.0.0.1:9375/
C:\Program Files\Yandex\Desktop\yandesk.exe

-1

Пользователи Opera/Firefox должны вписать полный путь к своему броузеру вместо iexplore. Путь к yandesk.exe, естественно, должен быть правильный.

Павел Дубровский


Работа с сетевыми дисками

Подключение сетевого диска:

TOTALCMD#BAR#DATA
cm_NetConnect

C:\WINDOWS\SYSTEM32\shell32.dll,9

512

Отключение сетевого диска:

TOTALCMD#BAR#DATA
cm_NetDisconnect

C:\WINDOWS\SYSTEM32\shell32.dll,10

513

Zorroz


Распаковка файлов в папку с именем архива

Кнопка, по нажатии на которую произойдёт распаковка архива под курсором в каталог с именем архива:

TOTALCMD#BAR#DATA
WinRAR.exe
x %P%N "%P%O\"
%COMMANDER_PATH%\UTILITIES\WinRAR\WinRAR.exe
Распаковать в каталог с именем архива
%COMMANDER_PATH%\UTILITIES\WinRAR\

-1

Пути нужно заменить на свои.
Параметр %P%O\ взят в кавычки, иначе будут неправильно разобраны пути с пробелами. Правда всё это работает только с одним архивом, если нужно распаковать т.о. несколько архивов за раз, то можно воспользоваться соответствующей командой самого WinRARа из контекстного меню.

c930


Резервное копирование данных

Кнопочка для резервного копирования файлов перечисленных в «c:\totalcmd\Plugins\Script\backup\totalcmd.txt» в «E:\Мои Документы\Я-Copy\totalcmd\». Причем имя файла выглядит как "год.месяц.день".

TOTALCMD#BAR#DATA
C:\Program Files\WinRAR\WinRAR.exe
a -m1 -agYYYY.MM.DD "E:\Мои Документы\Я-Copy\totalcmd\" @c:\totalcmd\Plugins\Script\backup\totalcmd.txt
C:\totalcmd\TOTALCMD.EXE
backup totalcmd
C:\Program Files\WinRAR\

-1

Zorroz

Создание бекапа папки в фоне:

TOTALCMD#BAR#DATA
cmd /c title Откат папки... &
xcopy %P%N %P_%N.bak /y /e /v /c /i /h /r /k /g
TOTALCMD.EXE,15
Откат папки

1
-1

Значок, естественно, по вкусу, стандартный никуда не годится.

LocKtaR-o-DarK


Синхронизация каталогов

TOTALCMD#BAR#DATA
$7E4

inetcpl.cpl,23
Синхронизация каталогов

2020

LocKtaR-o-DarK


Создание "пустых" копий

Создание в противоположной панели "пустых" (т.е. нулевого размера) копий выделенных файлов (работает на WinXP и выше):

TOTALCMD#BAR#DATA
cmd.exe /c @echo off &
for /f "delims=" %%i in (%F) do fsutil file createnew "%T%%i" 0 > nul
shell32.dll,84

-1

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

Evgenych


Создание бэкапа файла

Кнопка создаёт резервную копию файла под курсором с расширением .bak

TOTALCMD#BAR#DATA
cmd /c
copy %N %N.bak
Totalcmd.exe,9
Создать бэкап файла

1
-1

LocKtaR-o-DarK


Создание одноимённой папки

Кнопка создаёт в неактивной панели каталог с именем файла/каталога под курсором.

TOTALCMD#BAR#DATA
cmd /c md
%T%N
shell32.dll ,3
Одноимённый каталог в соседней панели

1
-1

Batya


Создание списка выделенных файлов

Быстрое создание в текущей папке списка выделенных файлов:

TOTALCMD#BAR#DATA
%ComSpec% /c
copy "%F" "filelist.txt" /y
sysedit.exe,1
Создать список выделенных файлов
.
1
-1

По идее должно работать на всех виндах (испытывалось на XP). Естественно, параметр %F можно заменить для получения, например, списка с полными путями (%L), с именами в формате DOS (%d) и т.д. Описание - в справке Тотала.

Volniy

Q: Подскажите, как сделать список файлов с дальнейшей дозаписью при выделении объектов под курсором?
Как сделать, чтобы список файлов создавался в противоположной панели?

A: Создание списка:

TOTALCMD#BAR#DATA
%comspec%
/c type %L>>"c:\filelist.lst"
shell32.dll,225
Список файлов

1
-1

Создание списка в противоположной панели:

TOTALCMD#BAR#DATA
%comspec%
/c type %L>>"%T\filelist.lst"
shell32.dll,134
Список файлов в противоположной панели

1
-1

Если нужна не дозапись в список, а обновление, то вместо ">>" ставим ">".

LocKtaR-o-DarK


Создание шифрованного RAR-архива

Создание зашифрованного архива RAR. Шифруется папка под курсором, архив помещается в туже папку где и исходные файлы. Шифрование и сжатие происходит в фоне

TOTALCMD#BAR#DATA
"C:\Program Files\WinRAR\WinRAR.exe"
a -hpПАРОЛЬ -ibck -ep1 %P%N %P%N
C:\Program Files\WinRAR\WinRAR.exe,5
Зашифровать файл/папку
C:\Program Files\WinRAR\

-1

красный - путь к WinRAR
синий - ваш пароль

Шифрует только папки, на файлах не работает.

b01d

Шифрование папок и файлов:

TOTALCMD#BAR#DATA
c:\progra~1\winrar\rar
a -hpпароль -m5 -ms -idc,d,p,q -cfg- -o+ -c- -s -ep1 -ag_[yyyy.mm.dd-hh.mm.ss] %P%N %P%N
c:\progra~1\winrar\winrar.exe,4
Зашифровать папку\файл

1
-1

пароль -- необходимый пароль.

LocKtaR-o-DarK


Сохранение копии реестра

TOTALCMD#BAR#DATA
REGEDIT
/E REGIMAGE.REG
REGEDIT,1
Создать копию всего системного реестра

-1

LocKtaR-o-DarK


Сравнение файлов с помощью Compare It!

Кнопка - сравнение файлов с помощью сторонней утилиты Compare It! Если в текущей панели выделено более одного файла, то сравниваются первый и второй файлы. Если выделен только один или нет выделенных, то сравнивается файл под курсором с текущем файлом на противоположной панели (текущий - это тот, на котором стоит курсор, если нажать Tab (перейти на панель)).

TOTALCMD#BAR#DATA
d:\TotalCmd\Utils\Lst2Str\lst2str.exe
/X:"d:\Program Files\Compare It!\wincmp3.exe" /L:%L /F:%T%M
d:\progra~1\compar~1\wincmp3.exe
Сравнение файлов

-1

Здесь цветами:
Синий - утилита lst2str (http://ghisler.fileburst.com/addons/lst2str.zip) от JackFoo, которая передает указанной в параметрах программе в качестве параметров список выделенных файлов через пробел;
Красный - утилита Compare It!

Batya

Примечание: начиная с TC 7.0 поддерживается подключение внешней программы сравнения файлов.


Управление Foobar2000

Воспроизвести все файлы активной панели в foobar2000:

TOTALCMD#BAR#DATA
путь\к\foobar2000\foobar2000
/play "%P"
путь\к\foobar~1\foobar~1.exe
Воспроизвести все файлы панели в foobar2000

Добавление всех файлов на активной панели в список воспроизведения (плейлист) foobar2000 с автоматическим воспроизведением:

TOTALCMD#BAR#DATA
путь\к\foobar2000\foobar2000
/add /play "%P"
путь\к\foobar~1\foobar~1.exe
Добавить файлы активной панели в плейлист и воспроизвести foobar2000

LocKtaR-o-DarK

Воспроизвести выбранные файлы в Foobar2000:

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\путь к\lst2str.exe /X:"%COMMANDER_PATH%\путь к\foobar2000.exe"
/L:%L
путь к\foobar2000.exe
Играть в foobar2000

-1

Tovarishh


Управление Winamp & Apollo

На панели TC можно организовать кнопки управления медиаплеером Winamp (также это будет работать и для некоторых других плееров, например Apollo и LA).

Для этого нужно воспользоваться утилиткой WAC, входящей в состав плагина TWinAmp. Коды изображённых на скриншоте кнопок такие:

Предыдущий трек:

TOTALCMD#BAR#DATA
D:\dshell\PLUGINS\WFX\TWinAmp\WAC.exe
prev
d:\dshell\plugins\wfx\twinamp\wac.exe,1
Предыдущий трек
D:\dshell\PLUGINS\WFX\TWinAmp\

-1

Проигрывание:

TOTALCMD#BAR#DATA
D:\dshell\PLUGINS\WFX\TWinAmp\WAC.exe
play
d:\dshell\plugins\wfx\twinamp\wac.exe,9
Играть
D:\dshell\PLUGINS\WFX\TWinAmp\

-1

Пауза:

TOTALCMD#BAR#DATA
D:\dshell\PLUGINS\WFX\TWinAmp\WAC.exe
pause
d:\dshell\plugins\wfx\twinamp\wac.exe,8
Пауза
D:\dshell\PLUGINS\WFX\TWinAmp\

-1

Стоп:

TOTALCMD#BAR#DATA
D:\dshell\PLUGINS\WFX\TWinAmp\WAC.exe
stop
d:\dshell\plugins\wfx\twinamp\wac.exe,13
Стоп
D:\dshell\PLUGINS\WFX\TWinAmp\

-1

Следующий трек:

TOTALCMD#BAR#DATA
D:\dshell\PLUGINS\WFX\TWinAmp\WAC.exe
next
d:\dshell\plugins\wfx\twinamp\wac.exe,7
Следующий трек
D:\dshell\PLUGINS\WFX\TWinAmp\

-1

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

Павел Дубровский


Автоматизация Total Commander

Задачи, решаемые при помощи внешних скриптов, программ и прочих средств, привязываемых к Total Commander.

· Автоматизация копирования компакт-дисков
· Выделение дубликатов после поиска
· Выделение файлов с одинаковыми именами
· Запуск поиска в текущей папке файла, имя которого находится в буфере обмена
· Как собрать несколько файлов в один?
· Копирование "пустой" структуры каталогов с файлами
· Копирование в буфер обмена пути в кратком формате
· Копирование в каталог с именем файла
· Копирование каталога HTML-страницы
· Копирование полного пути в буфер с кавычками
· Массовая обработка комментариев
· Очистка RW-диска
· Очистка буфера обмена
· Перезапуск Total Commander
· Перенос кнопки с тулбара в меню
· Переход в следующий каталог
· Подсчёт количества подпапок
· Поиск и замена текста в файлах
· Преобразование FTP-имён в ссылки
· Продвинутые запуск и добавление файлов в Winamp
· Создание каталога с текущей датой в названии
· Создание папки и переход в нее в TC
· Создание папки по дате выделенного файла с последующим перемещением
· Создание папки с частью имени выделенного файла с последующим перемещением
· Снятие/установка атрибутов с файлов
· Создание большого количества каталогов с порядковыми номерами
· Создание файла с именем другого файла
· Создание файла с содержимым буфера обмена
· Установка фильтра по расширению


Автоматизация копирования компакт-дисков

Q: Очень нужно копировать всё с CD-дисков в одну папку на винте. Вставил диск - скопировалось - выкинуло трей, никаких вопросов и т.п. до отмены операции! Какие есть варианты?!

A: Идеальная программа для копирования (а я их много перепробовал) - это xxcopy (http://www.xxcopy.com). Что касается "выкинуло трей", то CDRom Eject Tools. Я ими тоже давно пользуюсь. Батник написать с этими утилитами - пять минут.

Вахмурка


Выделение дубликатов после поиска

Q: Имеется папка Music, содержащая кучу других папок, с музыкой, соответственно (mp3). Хочу удалить дубликаты. Нахожу, соответственно, через поиск, потом выношу файлы на панель. Дубликаты располагаются парами, тройками и т.д. Ручками выделять долго и нудно (много их). Как можно выделить дубликат(ы) для удаления?
Имеется ввиду что должен остаться только один файл из всех копий.

A: Предлагается следующий скрипт на TCWSHelper. Создаёте файл *.vbs с указанным кодом, запуск файла вешаете на кнопку. В параметрах кнопки устанавливаете %L.
После выполнения поиска дубликатов нужно нажать "Файлы на панель", затем выделить все файлы. Нажимаете кнопку. Будут выделены все файлы в группе дубликатов, кроме первого.
Внимание:
1. Скрипт работает только если при поиске была установлена галочка "Поиск дубликатов по имени".
2. Скрипт затирает содержимое буфера обмена.

' File: SelNotFirst.vbs
' Description: Удаляет все парные файлы кроме первого
' из списка, созданного поиском дубликатов в ТС
' Installation: Создайте кнопку на панели TC
' Команда: "диск:\путь\к\файлу\SelNotFirst.vbs"
' Параметры: "%L"
' Copyright: (c) 2006, Volniy

Option Explicit
Dim FSO, ListFile, SelFile,TCS
Dim File1, File2, Cnt, Buf
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TCS = CreateObject("TCScript.Helper")
Set ListFile = FSO.OpenTextFile(WScript.Arguments(0), 1)
Do While Not ListFile.AtEndOfStream
SelFile = ListFile.ReadLine
File2 = FSO.GetFileName(SelFile)
If StrComp(File1, File2, 1) = 0 Then
Buf = Buf & SelFile & vbNewLine
Cnt = Cnt + 1
End If
File1 = File2
Loop
ListFile.Close
'TCS.ClearClip
TCS.SetTextToClip CStr(Buf)
TCS.SendCommand "cm_LoadSelectionFromClip", True
Set ListFile = Nothing
Set FSO = Nothing
Set TCS = Nothing
MsgBox "Выделено дубликатов: " & Cnt, vbInformation, "Завершено!"
WScript.Quit

Volniy


Выделение файлов с одинаковыми именами

Q: Как выделить файлы с одинаковыми именами?

A: Ну что ж, могу посоветовать написать скриптик *.vbs, используя TCWSHelp:

'Пометить файлы с именем как у текущего файла
'В параметрах необходимо прописать %O
FileName = WScript.Arguments(0)
Dim TCS
Set TCS = CreateObject("TCSCRIPT.Helper")
TCS.SendCommand "cm_SpreadSelection"
TCS.SendKeystroke FileName & ".*{ENTER}"
Set TCS = Nothing

Batya


Запуск поиска в текущей папке файла, имя которого находится в буфере обмена

Q: Нужно найти файл, имя которого сейчас в буфере обмена. Как сделать?

A:

'============================================================================
'Запуск поиска в текущей папке файла, имя которого находится в буфере обмена.
'============================================================================

Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.Pause=100
TCS.LockTC True
TCS.SendCommand(501)
TCS.SendKeystroke (TCS.GetTextFromClip)
TCS.SendKeystroke ("{Enter}")
TCS.LockTC False
Set TCS=Nothing
Wscript.Quit

Скрипт на TCWSHelper.

Batya

Q: А как сделать, чтобы поиск слова из буфера происходил внутри файлов (галочка "с текстом"), а поле "искать файлы" оставалось пустым...?!

A:

'=====================================================================
' Запуск поиска в текущей папке по содержимому тексту из буфера
'=====================================================================

Dim TCS, Str
Set TCS = CreateObject("TCScript.Helper")
Str = TCS.GetTextFromClip ' Текст из буфера
TCS.Pause=100
TCS.LockTC True
TCS.SendCommand(501)
TCS.SendKeystroke ("{DEL}") ' Очистить файловую маску
TCS.SendKeystroke ("{TAB 5} ") ' Перейти к чекбоксу и нажать пробел
If Len(Str) > 0 Then
TCS.SendKeystroke (Str) ' Вставить текст
'TCS.SendKeystroke ("+{TAB 6}") ' Вернуться в поле ввода файловой маски
TCS.SendKeystroke ("{Enter}") ' Запустить поиск
End If
TCS.LockTC False
Set TCS = Nothing
Wscript.Quit

При желании, для ввода файловой маски в скрипте можно закомментировать 16 строку и раскомментировать 15 строку. Тогда поиск не запустится - нужно ввести маску и нажать Enter.

Batya


Изменение размера панелей

Q: Можно ли сделать произвольное изменение размера панелей по горячей клавише? TC умеет только 50/50...

A: Можно через скрипт на WSH Script Helper. Там есть специальное свойство Separator для управления положением сепаратора.

Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.LockTC True

'Выберите свой вариант положения разделителя

' 1) По середине, 50 на 50
'TCS.Separator=50

' 2) Левая панель развернута полностью
TCS.Separator=0

' 3) Правая панель развернута полностью
'TCS.Separator=100

' 4) Произвольное положение в X%
'TCS.Separator=X

TCS.LockTC False
Set TCS = Nothing

На такой скрипт потом можно будет поставить желаемый хоткей.

Volniy


Как собрать несколько файлов в один?

Q: Как собрать несколько файлов в один?

A: Создай файлик *.vbs. Повесь его на кнопку. В параметрах пропиши %L. Код файла:

Dim FSO, TempFile, SelFile, WriteFile, OpenFile
Set FSO = CreateObject("Scripting.FileSystemObject")

ForReading = 1 'Open a file for reading only. You can't write to this file
ForWriting = 2 'Open a file for writing
ForAppending = 8 'Open a file and write to the end of the file

Set TempFile = FSO.OpenTextFile(WScript.Arguments(0), ForReading)

FileAll = InputBox("Введите имя файла", "Копирование содержимого", "all.txt")
if Len(FileAll) = 0 then
A1 = MsgBox("Не задано имя файла!", vbOKOnly + vbExclamation, "Копирование содержимого")
WScript.Quit(1)
End if

Set WriteFile = FSO.OpenTextFile(FileAll, ForAppending, True)
Do While Not TempFile.AtEndOfStream
Set SelFile = FSO.GetFile(TempFile.ReadLine)
Set OpenFile = FSO.OpenTextFile(SelFile, ForReading)
WriteFile.Write OpenFile.ReadAll
WriteFile.Write chr(13)
Loop

WScript.Quit

Batya

A: Как вариант: переименоввываем файлики по виду file01.ext file02.txt (легко делается мультиренеймом), ставим курсор на первый файл и лезем в меню Файл->Собрать. На выходе получаем искомый файл.

NakaRB


Копирование "пустой" структуры каталогов с файлами

Q: Бывает нужно скопировать каталог вместе с вложенными в него каталогами и файлами, но так, чтобы вместо файлов копировались "пустышки", с соответствующими им именами.

A: Тебе поможет следующий скрипт:

'=====================================================================
' Создание структуры каталогов и файлов нулевого размера в них

' В параметрах вызова из TC должно быть прописано:
' %L "%T"
'=====================================================================

Option Explicit
Dim FSO, WSH, OTF, Target, NewTar
Dim Selected
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1)
Target  = WScript.Arguments(1)

Do While Not OTF.AtEndOfStream
  Selected = OTF.ReadLine
  If FSO.FileExists(Selected) Then
    WSH.Run "fsutil file createnew """ & Target & FSO.GetFile(Selected).Name & """ 0", 7, True
  End If
  If FSO.FolderExists(Selected) Then
    NewTar = Target & FSO.GetFolder(Selected).Name
    If Not FSO.FolderExists(NewTar) Then
      FSO.CreateFolder(NewTar)
    End If
    FolderProcess FSO.GetFolder(Selected), NewTar & "\"
  End If
Loop
'MsgBox("Выполнено!")
Set OTF = Nothing
Set FSO = Nothing
Set WSH = Nothing
WScript.Quit()

Function FolderProcess(Fold, Tar)
  Dim sf, f, NewF
  For Each sf in Fold.SubFolders
    NewF = Tar & sf.Name
    If Not FSO.FolderExists(NewF) Then
      FSO.CreateFolder(NewF)
    End If
    FolderProcess sf, NewF & "\"
  Next
  For Each f in Fold.Files
    WSH.Run "fsutil file createnew """ & Tar & FSO.GetFile(f).Name & """ 0", 7, True
  Next
End Function

Сохрани код в файл с расширением vbs. Повесь файл на кнопку. В параметрах кнопки укажи:
%L "%T". Соответственно, выделяешь файлы и папки и нажимаешь кнопку. На противоположной панели будет создана структура каталогов с файлами нулевого размера. А затем ты можешь с ними делать что угодно. Например, запаковать в любой архив.

Batya


Копирование в буфер обмена пути в кратком формате

Q: Часто бывает нужно скопировать путь в формате DOS (~1), как можно в TC это быстро сделать?

A: Можно использовать следующий vbs-скрипт:

'==============================================================================
' Добавление в буфер обмена содержимого переданного в качестве параметра файла
'
' В качестве параметра может быть передано:
' %l
'==============================================================================
Option Explicit
If WScript.Arguments.Count = 0 Then
MsgBox "Необходимо в качестве параметра передать имя файла", _
vbOKOnly + vbExclamation, _
"Чтение в буфера обмена"
WScript.Quit
End If
Dim TCS, Clipboard, FSO, OTF
Set TCS = CreateObject("TCScript.Helper")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1)

Clipboard = OTF.ReadAll
OTF.Close
TCS.SetTextToClip(Clipboard)

Set TCS = Nothing
Set FSO = Nothing
Set OTF = Nothing
WScript.Quit

Batya


Копирование в каталог с именем файла

Q: Как сделать так, чтобы, при нажатии на кнопку в панели инструментов, выделенный файл (или лучше файлы) копировались на другую панель, в папку которая будет создаваться и иметь такое же название как и сам файл (можно без расширения)?
Например файл test.exe при нажатии на кнопку должен копироваться на другую панель в /TEST/test.exe.

A: Установи себе TCWSHelp от Volniy. Создай файлик *.vbs со следующим кодом:

Dim TCS, FSO, TempFile, SelFile
Set TCS = CreateObject("TCScript.Helper")
Set FSO = CreateObject("Scripting.FileSystemObject")

Set TempFile = FSO.OpenTextFile(WScript.Arguments(0), 1)

TCS.SendCommand(2030)
TrgPath = TCS.GetTextFromClip

Do While Not TempFile.AtEndOfStream
Set SelFile = FSO.GetFile(TempFile.ReadLine)
FileName = SelFile.Name
DotInName = InstrRev(FileName, ".")
If DotInName <> 0 Then
FileName = Left(FileName, DotInName - 1)
End If
If Not FSO.FolderExists(TrgPath & "\" & FileName) then
FSO.CreateFolder(TrgPath & "\" & FileName)
End If
FSO.CopyFile SelFile, TrgPath & "\" & FileName & "\"
Loop

Повесь этот файл на кнопку, и в параметрах пропиши %L.

Batya


Копирование каталога HTML-страницы

Q: При сохранении Web страниц IE, как известно, создает директорию, куда пишет ассоциированные с данным HTML-файлом объекты (обычно такая директория называется [имя файла]_files). Так вот, при перетаскивании мышкой таких сохраненных HTML-страниц, эти директории не копируются/не перемещаются вместе с ними как в Explorer.

Есть ли какой-нибудь способ заставить их драг-энд-дропиться автоматически вместе с HTML-файлом? По Ctrl+C/Ctrl+V работает как нужно, но часто удобнее мышкой! Выделять каждый раз соответствующие каталоги перед перетаскиванием тоже громоздко.
Может быть, какие-то настройки или скрипт?

A: Батник:

copy %1%2 %3
md %3%4_files
copy %1%4_files\*.* %3%4_files\

Параметры:

%P %N %T %O

Свалял на скорую руку, но вроде работает.
Вешаешь батник на кнопку, ставишь курсор на ФАЙЛ и жмешь кнопку. Вся эта дребедень будет скопирована в ПРОТИВОПОЛОЖНУЮ панель.

Вахмурка

A: Можно включить копирование Проводником (Настройки -> Операции с файлами -> Выполнять копирование/вставку Проводником (при проблемах)), но тогда будут недоступны определённые фичи, типа копирования комментариев descript.ion и режима копирования больших файлов.

Константин Власов

A: Скрипт на VBS:

'==========================================================================
' Копирование выделенных файлов с соответствующими им (для *.html) папками
'
' Параметры вызова из TC:
' %L "%T"
'==========================================================================

Dim FSO, Fld, OTF, Rln
Set FSO = CreateObject("Scripting.FileSystemObject")
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1)

Do While Not OTF.AtEndOfStream
Rln = OTF.ReadLine
If FSO.FileExists(Rln) Then
FSO.CopyFile Rln, WScript.Arguments(1)
Fld = FSO.GetBaseName(Rln) & "_files"
If FSO.FolderExists(Fld) Then
FSO.CopyFolder Fld, WScript.Arguments(1)
End If
ElseIf FSO.FolderExists(Rln) Then
FSO.CopyFolder Rln, WScript.Arguments(1)
End If
Loop

Set OTF = Nothing
Set FSO = Nothing
WScript.Quit

Batya


Копирование полного пути в буфер с кавычками

Q: Можно ли сделать копирование полного пути в буфер с кавычками, если путь содержит пробелы? А то приходится ctrl-shift-enter и копировать из командной строки - не очень удобно.

A: Код

'==================================================
' Копирование в буфер путей файлов с кавычками

' В параметрах вызова из TC должно быть прописано:
' %L
'==================================================

Dim TempFile, TCS
Set TempFile =
CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1)
Set TCS = CreateObject("TCScript.Helper")

Dim StrInFile, FileNames, M1
FileNames = ""
Do While Not TempFile.AtEndOfStream
StrInFile = TempFile.ReadLine
If InStr(StrInFile, " ") <> 0 Then
StrInFile = chr(34) & StrInFile & chr (34)
End If
FileNames = FileNames & StrInFile & chr(13)
Loop
TCS.SetTextToClip(Left(FileNames, Len(FileNames) - 1))
'M1 = MsgBox("Копирование выполнено", vbOKOnly + vbInformation, "Результат")
Set TempFile = Nothing
Set TCS = Nothing
Wscript.Quit

Сохрани код в файле *.vbs, повесь файл на кнопку, пропиши в параметрах кнопки %L. Для работы (для занесения в буфер) используется Script Helper.
Если нужно, чтобы все строки заключались в кавычки, закомментируй проверку условия вхождения пробела в имя, т.е. строки 16 и 18 - поставить в начале строк апостроф.
Если хочешь, чтобы выводилось сообщение после работы скрипта, раскомментируй строку 22.

Batya


Массовая обработка комментариев

Скрипт, полезный в случаях, когда необходимо быстро обработать комментарии для группы файлов/каталогов. Может применяться для "быстрой" подсветки файлов/каталогов - в TC настраиваем подсветку файлов с определённым комментарием, и с помощью скрипта этот комментарий вписываем/удаляем. Для работы нужен Script Helper.

'==========================================================================================
' Массовое Добавление\Удаление\Замена комментария (descript.ion), переданного параметром
'
' В качестве параметров указать:
' %L "%Pdescript.ion" {Комментарий} {Режим работы с комментарием} {Режим места комментария}
' Если в качестве комментария передать "", то для комментария будет использоваться
'   содержимое буфера обмена
' Режим работы с комментарием:
' 1 - Добавление
' 2 - Удаление
' 3 - Инверсия
' Режим места комментария (можно не указывать, по умолчанию - 1):
' 1 - Начало
' 2 - Конец
' 3 - Полностью
' Пример параметров для добавления комментария "####" в начало:
' %L "%Pdescript.ion" "####" 1 1
'==========================================================================================
Option Explicit

If WScript.Arguments.Count < 4  Then
  MsgBox "Неправильно указаны параметры", _
         vbOKOnly + vbExclamation, _
         "Работа с комментариями"
  WScript.Quit
End If
If WScript.Arguments(3) < 1 Or WScript.Arguments(3) > 3 Then
  MsgBox "Неправильно указан режим работы с комментарием", _
         vbOKOnly + vbExclamation, _
         "Работа с комментариями"
  WScript.Quit
End If
Dim Mode2
If WScript.Arguments.Count < 5  Then
  Mode2 = 1
Else
  Mode2 = WScript.Arguments(4)
End If
If Mode2 < 1 Or Mode2 > 3 Then
  MsgBox "Неправильно указан режим места комментария", _
         vbOKOnly + vbExclamation, _
         "Работа с комментариями"
  WScript.Quit
End If
Dim CommLabel
CommLabel = WScript.Arguments(2)
If CommLabel = "" Then
  Dim TCS
  Set TCS   = CreateObject("TCScript.Helper")
  CommLabel = TCS.GetTextFromClip
  Set TCS   = Nothing
  If CommLabel = "" Then
    MsgBox "Не определен комментарий", _
           vbOKOnly + vbExclamation, _
           "Работа с комментариями"
    WScript.Quit
  End If
  CommLabel = Replace(CommLabel, vbNewLine, " ")
  CommLabel = Replace(CommLabel, Chr(10),   " ")
  CommLabel = Replace(CommLabel, Chr(13),   " ")
End If

Dim FSO, oTextFile, OTF, oCommFile
Dim AllText, FileName, CommFile, BegFile, BegFileComm, EndFileComm
Dim Mode1, CompareComm, FindComm, LenC
Set FSO  = CreateObject("Scripting.FileSystemObject")
CommFile = WScript.Arguments(1)
Mode1    = WScript.Arguments(3)
LenC     = Len(CommLabel)

If FSO.FileExists(CommFile) Then
  Set oTextFile = FSO.OpenTextFile(CommFile, 1)
  On Error Resume Next 'Игнорируем ошибку, если файл пустой
    AllText = oTextFile.ReadAll
  On Error GoTo 0
  oTextFile.Close
Else
  On Error Resume Next
  Set oTextFile = FSO.CreateTextFile(CommFile)
  If Err.Number = 0 Then
    oTextFile.Close
    Set oCommFile = FSO.GetFile(CommFile)
    oCommFile.Attributes = oCommFile.Attributes Or 2 'Hidden
    Set oCommFile = Nothing
    AllText = ""
  Else
    MsgBox "Создание " & CommFile & " невозможно из-за ошибки:" & vbNewLine & Err.Description, _
           vbOKOnly + vbCritical, _
           "Работа с комментариями"
    Err.Clear
    Set oTextFile = Nothing
    Set FSO       = Nothing
    WScript.Quit
  End If
End If

Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1)
Do While Not OTF.AtEndOfStream
  FileName = OTF.ReadLine
  If FSO.FileExists(FileName) Then
    FileName = FSO.GetFile(FileName).Name
  Else
    FileName = FSO.GetFolder(FileName).Name
  End If
  If InStr(1, FileName, " ", 1) > 0 Then
    FileName = """" & FileName & """"
  End If
  BegFile = InStr(1, vbNewLine & AllText, vbNewLine & FileName & " ", 1)
  If BegFile > 0 Then 'Есть какой-то комментарий для текущего файла
    BegFileComm = BegFile + Len(FileName) + 1 'Позиция начала комментария
    EndFileComm = InStr(BegFileComm, AllText & vbNewLine, vbNewLine, 1) 'Конец комментария + 1
    If EndFileComm - BegFileComm < LenC Then 'Существующий комм. не равен указанному
      FindComm = 0
    Else 'Поверяем дальше
      CompareComm = Mid(AllText, BegFileComm, EndFileComm - BegFileComm)
      If StrComp(CompareComm, CommLabel, 1) = 0 Then 'Существующий комм. = указанному
        FindComm = 2
      Else
        Select Case Mode2
        Case 1 'Начало
          If InStr(1, Left(CompareComm, LenC), CommLabel, 1) > 0 Then
            FindComm = 1
          Else
            FindComm = 0
          End If
        Case 2 'Конец
          If InStr(1, Right(CompareComm, LenC), CommLabel, 1) > 0 Then
            FindComm = 1
          Else
            FindComm = 0
          End If
        Case 3 'Полностью
          FindComm = 0
        End Select
      End If
    End If
    If FindComm = 0 Then 'Существующий комм. не равен указанному
      If Mode1 = 1 Or Mode1 = 3 Then 'Добавляем комментарий
        Select Case Mode2
        Case 1 'Начало
          AllText = Left(AllText, BegFileComm - 1) & CommLabel & " " & Mid(AllText, BegFileComm)
        Case 2 'Конец
          AllText = Left(AllText, EndFileComm - 1) & " " & CommLabel & Mid(AllText, EndFileComm)
        Case 3 'Полностью
          AllText = Left(AllText, BegFileComm - 1) & CommLabel & Mid(AllText, EndFileComm)
        End Select
      End If
      If Mode1 = 2 Or Mode2 = 3 Then 'Удаление комментария полностью
        AllText = DelLine(AllText, BegFile, EndFileComm)
      End If
    ElseIf FindComm = 1 Then 'Указанный комментарий есть
      If Mode1 = 2 Or Mode1 = 3 Then 'Удаляем комментарий
        Select Case Mode2
        Case 1 'Начало
          AllText = Left(AllText, BegFileComm - 1) & Mid(AllText, BegFileComm + LenC + 1)
        Case 2 'Конец
          AllText = Left(AllText, EndFileComm - LenC - 2) & Mid(AllText, EndFileComm)
        Case 3 'Полностью
          AllText = DelLine(AllText, BegFile, EndFileComm)
        End Select
      End If
      If Mode1 = 1 Or Mode2 = 3 Then 'Добавление комментария полностью
        AllText = Left(AllText, BegFileComm - 1) & CommLabel & Mid(AllText, EndFileComm)
      End If
    Else 'FindComm = 2 - Существующий комментарий равен указанному
      If Mode1 = 2 Or Mode1 = 3 Then 'Удаляем комментарий
        AllText = DelLine(AllText, BegFile, EndFileComm)
      End If
    End If
    ' Обработаем после удаления
    If Mode1 = 2 Or (Mode1 = 3 And (FindComm = 1 Or FindComm = 2)) Then
      'Удаление лишних пробелов
      If Instr(BegFile, AllText, FileName & "  ", 1) > 0 Then
        AllText = Left(AllText, BegFileComm - 2) & Mid(AllText, BegFileComm)
      End If
      'Удаление пустых комментариев
      If Instr(BegFile, AllText & vbNewLine, FileName & " " & vbNewLine) > 0 Then
        AllText = Left(AllText, BegFile - 1) & Mid(AllText, BegFile + Len(FileName & " " & vbNewLine))
      End If
      'Удаление лишних концевых строк
      If Right(AllText, Len(vbNewLine)) = vbNewLine Then
        AllText = Left(AllText, Len(AllText) - Len(vbNewLine))
      End If
      'Повторим, на всякий случай
      If Right(AllText, Len(vbNewLine)) = vbNewLine Then
        AllText = Left(AllText, Len(AllText) - Len(vbNewLine))
      End If
      If Len(AllText) = 0 Then
        FSO.DeleteFile(CommFile)
      End If
    End If
    If Len(AllText) > 0 Then
      On Error Resume Next
      Set oTextFile = FSO.OpenTextFile(CommFile, 2)
      If Err.Number = 0 Then
        oTextFile.Write AllText
        oTextFile.Close
      Else
        MsgBox "Запись в " & CommFile & " невозможна из-за ошибки:" & vbNewLine & Err.Description, _
               vbOKOnly + vbCritical, _
               "Работа с комментариями"
        Err.Clear
        Exit Do
      End If
      On Error GoTo 0
    End If
  Else 'Нет комментариев для файла
    If Mode1 = 1 Or Mode1 = 3 Then 'Добавляем комментарий
      On Error Resume Next
      Set oTextFile = FSO.OpenTextFile(CommFile, 8, 2)
      If Err.Number = 0 Then
        If Right(AllText, Len(vbNewLine)) <> vbNewLine Then
          oTextFile.WriteLine
          AllText = AllText & vbNewLine
        End If
        oTextFile.Write FileName & " " & CommLabel
        oTextFile.Close
        AllText = AllText & FileName & " " & CommLabel
      Else
        MsgBox "Запись в " & CommFile & " невозможна из-за ошибки:" & vbNewLine & Err.Description, _
               vbOKOnly + vbCritical, _
               "Работа с комментариями"
        Err.Clear
        Exit Do
      End If
      On Error GoTo 0
    End If
  End If
Loop

OTF.Close
Set oTextFile = Nothing
Set oCommFile = Nothing
Set OTF       = Nothing
Set FSO       = Nothing
WScript.Quit

Function DelLine(FullText, BegLine, EndLine)
  If BegLine > Len(vbNewLine) Then
    DelLine = Left(FullText, BegLine - 1 - Len(vbNewLine)) & Mid(FullText, EndLine)
  ElseIf EndLine - 1 + Len(vbNewLine) <= Len(FullText) Then
    DelLine = Left(FullText, BegLine - 1) & Mid(FullText, EndLine + Len(vbNewLine))
  Else
    DelLine = ""
  End If
End Function

Batya


Очистка RW-диска

Скрипт производит очистку RW диска, используя движок Nero версии 6 и выше.

'=========================[ Start of file ]===================
' File: EraseCDRW.vbs
' Description: Производит очистку RW диска, используя
' движок Nero версии 6 и выше
' Installation: Создайте кнопку или команду в меню Запуск TC
' Команда: "диск:\путь\к\файлу\EraseCDRW.vbs"
' Если приводов у Вас два, то возможно, что
' (0) понадобится заменить на (1)
' Copyright: (c) 2006, Volniy

Option Explicit
Dim n, d, et
Set n = CreateObject("Nero.Nero")
Set d = n.GetDrives(262172)(0)
d.LoadCD
et=d.CDRWErasingTime(True)
d.EraseCDRW(True)
WScript.Sleep et*1000
d.EjectCD
Set d=Nothing
Set n=Nothing
Wscript.Quit()
'=========================[ End of file ]===================

Volniy


Очистка буфера обмена

Q: Как очистить буфер обмена?

A: Простой скрипт с использованием Script Helper:

CreateObject("TCSCRIPT.Helper").ClearClip

Volniy


Перезапуск Total Commander

Q: Нужен скрипт, который бы перезапускал запущенную копию TC (полезно при отладке плагинов).

A: Этот скрипт написал Volniy, и он идёт в качестве примера к Script Helper:

Option Explicit
Dim TCS, WshShell, TCexe, Timeout, QuitByTimeOut
Set TCS = CreateObject("TCScript.Helper")
Set WshShell = WScript.CreateObject("WScript.Shell")
TCexe = """" & TCS.TCPath & "\totalcmd.exe"""
'Завершаем работу ТС
TCS.SendCommand "cm_Exit", True

'Ожидание завершения работы ТС
Timeout = 3000 ' Сколько ждать выключения в мсек
Do
Timeout = Timeout - 100
If Timeout < 0 Then QuitByTimeOut = True: Exit Do
WScript.Sleep 100
Loop While TCS.IsRunningTC

'Запускаем новый экземпляр программы
If Not QuitByTimeOut Then WshShell.Run TCexe

Set TCS = Nothing
Set WshShell = Nothing
WScript.Quit

По ответам форума forum.wincmd.ru


Перенос кнопки с тулбара в меню

Q: Все вы прекрасно знаете как быстро и мгновенно можно создать кнопку в иконбаре, и как долго и мучительно пункт в меню "запуск". По этому случаю у меня просьба к скриптописателям - напишите скрипт, который копирует кнопку и вставляет её в меню "Запуск".

A: vbs-скрипт, использующий Script Helper:

'========================================================
' Копирование кнопки из панели TC в меню "Запуск"
' Предварительно на кнопке надо выполнить "Копировать"
'========================================================
Option Explicit
Dim TCS, IniFile, i, ClipB, Data, Name, Cmd, Params, ExecPath, Iconic, MenuLimit, FindMenu
Set TCS = CreateObject("TCScript.Helper")
ClipB   = TCS.GetTextFromClip
Data    = Split(TCS.GetTextFromClip(), vbCrLf)
' Если первая строка соответствует синтаксису кнопки
if StrComp(Data(0), "TOTALCMD#BAR#DATA", 1) = 0 then
  ' Получаем пути ини-файлов TC
  TCS.GetIniFiles
  IniFile   = TCS.MainINI
  MenuLimit = 200
  FindMenu  = 0
  ' Ищем следующий номер для пункта меню
  For i = 1 To MenuLimit
    If Len(TCS.INIRead(IniFile, "user", "menu" & i, "")) = 0 Then
      FindMenu = 1
      Exit For
    End If
  Next
  ' Добавляем меню, только если есть номера до MenuLimit включительно
  If FindMenu = 1 Then
    Cmd      = Data(1)
    Params   = Data(2)
    Name     = Data(4)
    ExecPath = Data(5)
    Iconic   = Data(6)
    If Cmd <> "" Then
      If Name <> "" Then
        TCS.INIWrite IniFile, "user", "menu" & i, Name
      Else
        TCS.INIWrite IniFile, "user", "menu" & i, Cmd
      End If
      TCS.INIWrite IniFile, "user", "cmd"    & i, Cmd
      TCS.INIWrite IniFile, "user", "param"  & i, Params
      TCS.INIWrite IniFile, "user", "path"   & i, ExecPath
      TCS.INIWrite IniFile, "user", "iconic" & i, Iconic
      ' Перечитаем меню
      TCS.SendCommand "cm_ChangeStartMenu"
      TCS.SendKeystroke "{Enter}"
    End If
  End If
End If
Set TCS = Nothing
Wscript.Quit

Batya


Переход в следующий каталог

Q: Было бы полезным переходить в следующий каталог, не выходя из текущго. То есть вместо нажатия BackSpace, Вниз, Enter нажимать что-то вроде Ctrl+Alt+Вниз/Вверх, но просматривать содержимое папок.

A: Скрипт:

'(c) 2007, Volniy

Option Explicit
Dim TCS, D, prevD, FSO

Set TCS = CreateObject("TCScript.Helper")
Set FSO = CreateObject("scripting.filesystemobject")

TCS.SendCommand 2002 ' cm_GoToParent
prevD = TCS.GetSrcSelectedFiles(True)(0)
TCS.SendKeystroke "{DOWN}"
D = TCS.GetSrcSelectedFiles(True)(0)
If (FSO.FolderExists(D)=True) Then
If (StrComp(prevD,D,vbTextCompare)<>0) Then
TCS.SendCommand 2003 ' cm_GoToDir
Else
MsgBox "No more directories in the file panel!", vbExclamation, "Error!"
End If
Else
MsgBox "File is selected, no more directories!", vbExclamation, "Error!"
End If

Set TCS = Nothing
Set FSO = Nothing
WScript.Quit

Volniy


Подсчёт количества подпапок

Q: Такой вопрос: как посчитать сколько в каждой папке подпапок? Пример, есть 100 папок, мне нужно узнать сколько в этих ста папках подпапок. Если выделить эти сто папок и нажать свойства то он будет считать и подпапки и выделенные папки. Конечно можно и посчитать вручную, отняв сто, но ведь на это уходит драгоценное время!

A: Если без рекурсии (без подсчета вложенных папок во вложенных папках), то вот так:

'==================================================
' Подсчет количества вложенных папок (без рекурсии)

' В параметрах вызова из TC должно быть прописано:
' %L
'==================================================

Dim TempFile, FSO
Set TempFile =
CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1)
Set FSO = CreateObject("Scripting.FileSystemObject")

Dim StrInFile, SF, M1
SF = 0
Do While Not TempFile.AtEndOfStream
StrInFile = TempFile.ReadLine
If FSO.FolderExists(StrInFile) Then
SF = SF + FSO.GetFolder(StrInFile).SubFolders.Count
End If
Loop
If SF > 0 Then
M1 = MsgBox("В выделенных каталогах находится" & chr(13) & SF & chr(13) & "вложенных папок", vbOKOnly + vbInformation, "Результат")
Else
M1 = MsgBox("В выделенных каталогах нет вложенных папок", vbOKOnly + vbExclamation, "Внимание!")
End If
Set TempFile = Nothing
Set FSO = Nothing
Wscript.Quit

Сохрани код в файле *.vbs, повесь файл на панель TC, в параметрах кнопки пропиши %L.
Выдели нужные папки и нажми кнопку - появится диалоговое окно с количеством вложенных папок.

Batya


Поиск и замена текста в файлах

Скрипт, заменяющий все вхождения заданной строки во всех выделенных файлах на другую строку. Архиполезнейшая вещь!

'=========================[ Start of file ]=========================
'  File:         ReplaceInFiles.vbs
'  Description:  Производит поиск текста с заменой
'                в выделенных текстовых файлах
'  Installation: Создайте кнопку на панели TC
'                Команда: "диск:\путь\к\файлу\ReplaceInFiles.vbs"
'                Параметры: "%L" (именно в кавычках!)
'  Copyright:    (c) 2006, Volniy

Option Explicit

Dim FSO, Find_String, Replace_String, F, Buffer, ListFile
Const ForReading = 1, ForWriting = 2

Set FSO = CreateObject("Scripting.FileSystemObject")

Find_String = InputBox("Введите искомую строку", "Поиск и замена")
If Len(Find_String) = 0 Then
   MsgBox "Не задана строка поиска!", vbExclamation, "Поиск и замена"
   WScript.Quit()
End If

Replace_String = InputBox("Введите строку для замены", "Поиск и замена")

Set ListFile = FSO.OpenTextFile(WScript.Arguments(0), 1)
Do While Not ListFile.AtEndOfStream
   Call DoItForThisFile(ListFile.ReadLine)
Loop
ListFile.Close
Set ListFile = Nothing
Set F = Nothing
Set FSO = Nothing

MsgBox "Замена завершена!", vbInformation, "Поиск и замена"
WScript.Quit

Sub DoItForThisFile(FilePath)
   Set F = FSO.OpenTextFile(FilePath, ForReading)
   Buffer = F.ReadAll
   F.Close

   Buffer = Replace(CStr(Buffer), Find_String, Replace_String, 1, -1, 1)
   FSO.CopyFile FilePath, FilePath & ".bak"

   Set F = FSO.OpenTextFile(FilePath, ForWriting)
   F.Write Buffer
   F.Close
End Sub
'=========================[  End of file  ]=========================

Volniy


Преобразование FTP-имён в ссылки

Q: Столкнулся со следующей проблемой: при копировании в буфер имён файлов на FTP, ссылка имеет вид:

"ftp://212.212.212.212/Public/Video/Films (фильмы)/int/BMWfilms/1 - Ловушка.avi"

со всеми пробелами, русскими буквами и т.д., что, в принципе, не совсем верно. Хотелось бы получать ссылку в правильном виде, т.е:

ftp://212.212.212.212/Public/Video/Films%20(%F4%E8%EB%FC%EC%FB)/int/BMWfilms/1%20-%20%CB%EE%E2%F3%F8%EA%E0.avi

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

A: Скрипт с использованием Script Helper:

'==========================================================================
' Преобразование текстовой ссылки в буфере -
' замена русских символов и пробелов на 16-теричный код этих символов
' с префиксом %
'==========================================================================
Dim TCS, Str, StrF, ChCode, Ch, i
Set TCS = CreateObject("TCScript.Helper")
Str = TCS.GetTextFromClip
For i = 1 To Len(Str)
Ch = Mid(Str, i, 1)
ChCode = Asc(Ch)
If (ChCode > 191) or (ChCode = 32) or (ChCode = 168) or (ChCode = 184) Then
StrF = StrF & "%" & Hex(ChCode)
Else
StrF = StrF & Ch
End If
Next
TCS.SetTextToClip(StrF)
Set TCS = Nothing
Wscript.Quit

Тот же скрипт, но с дополнительными возможностями:

'==========================================================================
' Преобразование текстовой ссылки в буфере -
' замена русских символов и пробелов на 16-тиричный код этих символов
' с префиксом %
' Можно предварительно выполнить копирование путей в буфер,
' указав в качестве параметра один из вариантов копирования:
' 0 - Копировать в буфер имена файлов
' 1 - Копировать в буфер имена с путями
' 2 - Копировать в буфер имена с UNC-путём
' 3 - Копировать в буфер путь источника
' 4 - Копировать в буфер путь получателя
'==========================================================================
Dim TCS, Str, StrF, ChCode, Ch, i
Set TCS = CreateObject("TCScript.Helper")
If WScript.Arguments.Count > 0 Then
Select Case WScript.Arguments(0)
Case 0 TCS.SendCommand(2017)
Case 1 TCS.SendCommand(2018)
Case 2 TCS.SendCommand(2021)
Case 3 TCS.SendCommand(2029)
Case 4 TCS.SendCommand(2030)
End Select
End If
Str = TCS.GetTextFromClip
For i = 1 To Len(Str)
Ch = Mid(Str, i, 1)
ChCode = Asc(Ch)
If (ChCode > 191) or (ChCode = 32) or (ChCode = 168) or (ChCode = 184) Then
StrF = StrF & "%" & Hex(ChCode)
Else
StrF = StrF & Ch
End If
Next
TCS.SetTextToClip(StrF)
Set TCS = Nothing
Wscript.Quit

Batya


Продвинутые запуск и добавление файлов в Winamp

Q: Вот возник вопрос по запуску mp3. Сейчас привык делать это из эксплорера, там два варианта запуска: или просто щелчок по файлу (или выбор нескольких фалов + Enter) - это для прослушивания; или выбор файлов, right-click, Enqueue in Winamp - это для добавления в очередь.
Соответственно, хотелось бы попроще реализовать это в TC.
Например, две кнопки на панели, одна запускает "winamp.exe список_файлов", вторая - "winamp.exe /ADD список_файлов".
Даже сделал такие кнопочки (вызов winamp.exe %L), но в винамп добавляется только "e:\winxp\Temp\CMD1B5.tmp" и т.д., номер меняется каждый раз. Как же быть?
Нашел TWinAmp2 fs-плугин, но это совсем не то, что мне надо. Нашел еще WALaunch4TC - похоже, даже работает, но он запускается в отдельном окне, на которое на несколько секунд переходит фокус... :(

A: Создайте *.vbs и повесьте на кнопку:

'Проигрывание\добавление отмеченных файлов в Winamp
'В параметрах необходимо прописать %L, если нужно добавить в список
'Если нужно заменить список, нужно указать любой второй параметр

Dim Winamp
Winamp = "d:\Program Files\Winamp5\winamp.exe" 'Путь к Winamp-у

Set objArgs = WScript.Arguments
Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(objArgs(0), 1)
Set WS = CreateObject("WScript.Shell")

if objArgs.Count > 1 then
Str = TempFile.ReadLine
if Right(Str,1) = "\" then
Str = Left(Str, Len(Str) - 1)
end if
WS.run chr(34) & Winamp & chr(34) & " " & chr(34) & Str & chr(34)
end if

Do While Not TempFile.AtEndOfStream
Str = TempFile.ReadLine
if Right(Str,1) = "\" then
Str = Left(Str, Len(Str) - 1)
end if
WS.run chr(34) & Winamp & chr(34) & " /add " & chr(34) & Str & chr(34)
Loop

Batya


Снятие/установка атрибутов с файлов

Так получается, что мне по работе часто приходится снимать признак ReadOnly с файлов. В принципе, можно для этого пользоваться и свойствами файлов, и командой изменения атрибутов в TC, но мне совсем не хотелось поднимать какие-либо диалоговые окна. Вот и написал скрипт, вызываемый по кнопке.

Кнопка:

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\WHS\RemoveReadOnly.vbs
%L
%COMMANDER_PATH%\Icons\X-Qute.icl,28
Снятие признака Read-Only

-1

Соответственно, пути к скрипту и файлу значка у вас могут свои.
Скрипт RemoveReadOnly.vbs:

'=====================================================================
' Снятие признака Read-Only с отмеченных файлов и папок (файлов в них)

' В параметрах вызова из TC должно быть прописано:
' %L
'=====================================================================

Dim FSO, StreamFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set StreamFile = FSO.OpenTextFile(WScript.Arguments(0), 1)

Dim Selected, CurrFile, CurrFolder
Do While Not StreamFile.AtEndOfStream
Selected = StreamFile.ReadLine
If FSO.FileExists(Selected) Then
Set CurrFile = FSO.GetFile(Selected)
CurrFile.Attributes = CurrFile.Attributes And Not Attr
End If
End If
If FSO.FolderExists(Selected) Then
Set CurrFolder = FSO.GetFolder(Selected)
FolderProcess(CurrFolder)
End If
Loop
'MsgBox("Выполнено!")
Wscript.Quit()

Function FolderProcess(CurrFolder)
Dim sf, f
For Each sf in CurrFolder.SubFolders
FolderProcess(sf)
Next
For Each f in CurrFolder.Files
f.Attributes = f.Attributes Or Attr
End If
Next
End Function

Выше я описал, как принудительно снять атрибут у файлов.
Теперь есть задача:
Нужно файлам присваивать атрибут – скрытый, без лишних вопросов.
Во-первых, возможные атрибуты (можно изменить описанный ниже скрипт):

Normal      0   Normal file. No attributes are set.
ReadOnly   1   Read-only file. Attribute is read/write.
Hidden      2   Hidden file. Attribute is read/write.
System      4   System file. Attribute is read/write.
Volume      8   Disk drive volume label. Attribute is read-only.
Directory   16   Folder or directory. Attribute is read-only.
Archive   32   File has changed since last backup. Attribute is read/write.
Alias      64   Link or shortcut. Attribute is read-only.
Compressed   128   Compressed file. Attribute is read-only.

Теперь кнопка:

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\WHS\SetHidden.vbs
%L
%COMMANDER_PATH%\Icons\X-Qute.icl,28
Снятие признака Read-Only

-1

Скрипт SetHidden.vbs:

'=====================================================================
' Установка признака Hidden у отмеченных файлов и папок (файлов в них)

' В параметрах вызова из TC должно быть прописано:
' %L
'=====================================================================

Dim FSO, StreamFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set StreamFile = FSO.OpenTextFile(WScript.Arguments(0), 1)

Dim Selected, CurrFile, CurrFolder, Attr
Attr = 2 ' Атрибут "Hidden"
Do While Not StreamFile.AtEndOfStream
Selected = StreamFile.ReadLine
If FSO.FileExists(Selected) Then
Set CurrFile = FSO.GetFile(Selected)
CurrFile.Attributes = CurrFile.Attributes And Not Attr
End If
End If
If FSO.FolderExists(Selected) Then
Set CurrFolder = FSO.GetFolder(Selected)
FolderProcess(CurrFolder)
End If
Loop
'MsgBox("Выполнено!")
Wscript.Quit()

Function FolderProcess(CurrFolder)
Dim sf, f
For Each sf in CurrFolder.SubFolders
FolderProcess(sf)
Next
For Each f in CurrFolder.Files
f.Attributes = f.Attributes Or Attr
End If
Next
End Function

Тоже самое для папок:

Кнопка:

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\WHS\SetAttr.vbs
%L 2
%COMMANDER_PATH%\Icons\X-Qute.icl,28
Установка атрибута "Скрытый"

-1

Скрипт (немного поправленный и обобщенный) SetAttr.vbs:

'=====================================================================
' Установка атрибута у отмеченных файлов и папок (файлов в них)

' В параметрах вызова из TC должно быть прописано:
' %L {битовый флаг атрибута}
' например, для атрибута "Hidden" ("Скрытый"):
' %L 2
'=====================================================================

Dim FSO, StreamFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set StreamFile = FSO.OpenTextFile(WScript.Arguments(0), 1)

Dim Selected, CurrFile, CurrFolder, Attr
Attr = WScript.Arguments(1)
Do While Not StreamFile.AtEndOfStream
Selected = StreamFile.ReadLine
If FSO.FileExists(Selected) Then
Set CurrFile = FSO.GetFile(Selected)
CurrFile.Attributes = CurrFile.Attributes Or Attr
End If
If FSO.FolderExists(Selected) Then
Set CurrFolder = FSO.GetFolder(Selected)
CurrFolder.Attributes = CurrFolder.Attributes Or Attr
FolderProcess(CurrFolder)
End If
Loop
'MsgBox("Выполнено!")
Set FSO = Nothing
Set StreamFile = Nothing
Set CurrFile = Nothing
Set CurrFolder = Nothing
Wscript.Quit()

Function FolderProcess(CurrFolder)
Dim sf, f
For Each sf in CurrFolder.SubFolders
sf.Attributes = sf.Attributes Or Attr
FolderProcess(sf)
Next
For Each f in CurrFolder.Files
f.Attributes = f.Attributes Or Attr
Next
End Function

Кнопка для снятия атрибута:

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\WHS\RemoveAttr.vbs
%L 2
%COMMANDER_PATH%\Icons\X-Qute.icl,28
Снятие атрибута "Скрытый"

-1

Скрипт RemoveAttr.vbs:

'=====================================================================
' Снятие атрибута с отмеченных файлов и папок (файлов в них)

' В параметрах вызова из TC должно быть прописано:
' %L {битовый флаг атрибута}
' например, для атрибута "Hidden" ("Скрытый"):
' %L 2
'=====================================================================

Dim FSO, StreamFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set StreamFile = FSO.OpenTextFile(WScript.Arguments(0), 1)

Dim Selected, CurrFile, CurrFolder, Attr
Attr = WScript.Arguments(1)
Do While Not StreamFile.AtEndOfStream
Selected = StreamFile.ReadLine
If FSO.FileExists(Selected) Then
Set CurrFile = FSO.GetFile(Selected)
CurrFile.Attributes = CurrFile.Attributes And Not Attr
End If
If FSO.FolderExists(Selected) Then
Set CurrFolder = FSO.GetFolder(Selected)
CurrFolder.Attributes = CurrFolder.Attributes And Not Attr
FolderProcess(CurrFolder)
End If
Loop
'MsgBox("Выполнено!")
Set FSO = Nothing
Set StreamFile = Nothing
Set CurrFile = Nothing
Set CurrFolder = Nothing
Wscript.Quit()

Function FolderProcess(CurrFolder)
Dim sf, f
For Each sf in CurrFolder.SubFolders
sf.Attributes = sf.Attributes And Not Attr
FolderProcess(sf)
Next
For Each f in CurrFolder.Files
f.Attributes = f.Attributes And Not Attr
Next
End Function

Меня тут Zorroz попросил выложить скрипт для снятия иконки, т.е. снятия атрибута "Только чтение" у папки и удаления desktop.ini. Мне не хотелось этого делать, т.к. считаю, что удаление desktop.ini не всегда "есть хорошо", но он меня уговорил :):

'========================================================
' Снятие иконки у папки в TC:
'   снятие у папки атрибута "Только чтение"
'   и удаление (по желанию) в папке файла Desktop.ini

' Параметры вызова из TC для текущей папки:
' "%P"
' или для папки под курсором:
' %P%N
' Для удаления Desktop.ini укажите любой второй параметр
' Пример: %P%N 1
'========================================================

Dim FSO, TargetDir, FileName
Set FSO = CreateObject("Scripting.FileSystemObject")

TargetDir = WScript.Arguments(0)
FileName  = "Desktop.ini"

If FSO.FolderExists(TargetDir)Then
  If Right(TargetDir, 1) <> "\" Then
    TargetDir = TargetDir & "\"
  End If
Else
  MsgBox "Не задано имя папки!", vbOKOnly + vbExclamation, "Снятие иконки"
  WScript.Quit
End If
' Снимем у папки атрибут "Только чтение"
Attr = 1
Set oDir = FSO.GetFolder(TargetDir)
oDir.Attributes = oDir.Attributes and not Attr

'Удалим Desktop.ini
If FSO.FileExists(TargetDir & FileName) and (WScript.Arguments.Count > 1) Then
  FSO.DeleteFile(TargetDir & FileName)
End If

Set FSO   = Nothing
WScript.Quit

Batya


Создание большого количества каталогов с порядковыми номерами

Q: Нужно создать большое количество каталогов с именами 1_1_1, 1_1_2 и до 9_9_9. Подскажите как?

A: Скрипт на VBS:

'=============================================================
' Создание в текущем каталоге папок с именами 1_1_1 ... 9_9_9
'=============================================================

Option Explicit
Dim FSO, i
Set FSO = CreateObject("Scripting.FileSystemObject")
For i = 111 To 999
FSO.CreateFolder i \ 100 & "_" & (i Mod 100)\ 10 & "_" & (i Mod 10)
Next

Set FSO = Nothing
WScript.Quit

Batya


Создание каталога с текущей датой в названии

Q: Есть такой вопрос: - мне часто приходиться создавать каталоги, именем которых должна быть просто текущая дата. Никто не подскажет, можно ли как-то этот процесс автоматизировать при помощи Тотала?

A: Создай файл *.vbs, повесь его на кнопку или в меню "Запуск" и в параметрах кнопки укажи %P.

'=====================================================================
' Создание папки с именем по системной дате

' В параметрах вызова из TC должно быть прописано:
' %P
'=====================================================================

Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")

Dim MyPath, MyDate, NewFold, M1
MyPath = WScript.Arguments(0)
MyDate = Date
NewFold = MyPath & MyDate
If Not FSO.FolderExists(NewFold) Then
FSO.CreateFolder(NewFold)
M1 = MsgBox("Создана папка:" & chr(13) & NewFold, vbOKOnly + vbInformation, "Результат")
Else
M1 = MsgBox("Папка" & chr(13) & NewFold & chr(13) & "уже существует", vbOKOnly + vbExclamation,"Внимание!")
End If
Set FSO = Nothing
Wscript.Quit

Код работает только на локальных дисках.
Код работающий везде, где TC может создавать папки (в т.ч. и на FTP):

WScript.CreateObject("WScript.Shell").SendKeys "{F7}" & Date & "{Enter}"

Для изменения формата даты замени в скрипте строку

MyDate = Date

на свой вариант, например:

MyDate = Day(Date) & "." & Month(Date) & "." & Year(Date)

тут уже разделены день, год и месяц, и можно их комбинировать как угодно.

Для добавления "0" к месяцам и датам пишем:

mydate = "FeedBack " & Year(date) & "." & Right("0" & Month(date), 2) & "." & Right("0" & Day(date), 2)

Batya

A: Можно с помощью Helper-а:

Set TCS = CreateObject("TCSCRIPT.Helper")
NewFold = Date
TCS.SendCommand "cm_SelectAll"
All= TCS.GetSrcSelectedFiles
For Each a In ALL
If StrComp(a, NewFold & "\",1)=0 Then
MsgBox "Папка" & chr(13) & NewFold & chr(13) & "уже существует", vbExclamation, "Внимание!"
Wscript.Quit
End If
Next
TCS.SendCommand "cm_MkDir",False
TCS.SendKeystroke CStr(NewFold)
TCS.SendKeystroke "{ENTER}"
Set TCS=Nothing
Wscript.Quit

Volniy

A: Господа это можно сделать и без скриптов. И довольно просто.
Для этого создаем новую кнопку, и в строке "Команда" пишем:

cmd /c

В строке "Параметры" пишем

for /f "tokens=1,2,3,4 delims=. " %%a in ('date /t') do md "%%d%%c-%%b-%%a"

Значок на свое усмотрение, конечно же.
Формат отображения тоже. Параметры правим как больше нравится.
Удачи.

LocKtaR-o-DarK


Создание папки и переход в нее в TC

Q: Требуется быстро создать каталог с произвольным именем, и сразу же зайти в него.

A:

'========================================================
' Создание папки и переход в нее в TC

' В параметрах вызова из TC можно указать название папки,
' иначе будет вызван диалог ввода имени папки
'========================================================

Dim FSO, TCS, WS, TotalCmd, DirName, DirPath, MB
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TCS = CreateObject("TCScript.Helper")
Set WS = WScript.CreateObject("WScript.Shell")
TotalCmd = """" & TCS.TCPath & "\totalcmd.exe"""

if WScript.Arguments.Count > 0 then
DirName = WScript.Arguments(0)
else
DirName = InputBox("Введите имя создаваемой папки:", "Создание папки", "")
end if
if Len(DirName) = 0 then
MB = MsgBox("Не задано имя папки!", vbOKOnly + vbExclamation, "Создание папки")
WScript.Quit
end if
DirPath = TCS.GetSrcPath & "\" & DirName

if not FSO.FolderExists(DirPath) then
FSO.CreateFolder(DirPath)
end if
WS.Run TotalCmd & " /o /s """ & DirPath & """"

Set FSO = Nothing
Set TCS = Nothing
Set WC = Nothing
WScript.Quit

Batya


Создание папки по дате выделенного файла с последующим перемещением

Q: В одном каталоге находится огромное количество файлов. Требуется их отсортировать по дате, и переместить в каталоги, содержащие в имени даты файлов.

A: Можно использовать этот скрипт, единственное отличие - использует не дату, а имя. Переделать под дату элементарно.

Павел Дубровский

A: Создаём в папке с файлами папки с нужными датами. Запускаем групповое переименование для файлов.
В строку "Маска для имени" вводим что-то вроде [YMD]#[N]
Отмечаем галочку "Рег. выражения" и вводим
"Найти" - #
"Заменить на" - $1\\$1
После нажатия на кнопку "Выполнить" файлы переместятся в папки, но только если папки уже существуют.

Нужно учитывать, что описанное поведение может являться багом и его могут удалить в следующих версиях TC.

Проблема создания каталогов с нужными датами решается так: заранее создаётся множество каталогов (1|2|3|4|5|6 и т.д.), далее групповое переименование по маске
[Y].[M].[C]
где [C] будет счётчиком числа.

По ответам форума forum.wincmd.ru


Создание папки с частью имени выделенного файла с последующим перемещением

Q: Требуется создать папку с тем же именем, что имя у выделенного файла, а потом переместить этот файл в эту папку.

A:

'=====================================================================
' Создание папки по имени файла и перемещение в нее файла
' Может быть выделено несколько файлов

' Для создания папок в текущей панели
' в параметрах вызова из TC должно быть прописано:
' %L

' Для создания папок в противоположной панели
' в параметрах вызова из TC должно быть прописано:
' %L "%T"
'=====================================================================

If WScript.Arguments.Count = 0 Then
MsgBox "Не указаны параметры!", vbOKOnly + vbError, "Внимание!"
Wscript.Quit
End If

Dim TempFile, FSO, SelFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TempFile = FSO.OpenTextFile(WScript.Arguments(0), 1)

Dim FileName, FilePath, DashInName, NewFilePath
Do While Not TempFile.AtEndOfStream
Set SelFile = FSO.GetFile(TempFile.ReadLine)
FileName = FSO.GetBaseName(SelFile)
FilePath = SelFile.ParentFolder
If WScript.Arguments.Count > 1 Then
NewFilePath = WScript.Arguments(1) & FileName
Else
NewFilePath = FilePath & "\" & FileName
End If
If Not FSO.FolderExists(NewFilePath) Then
FSO.CreateFolder(NewFilePath)
End If
If Not FSO.FileExists(NewFilePath & "\" & FileName) Then
FSO.MoveFile SelFile, NewFilePath & "\"
Else
MsgBox "Уже существует файл " & FileName & " в папке " & NewFilePath, vbOKOnly + vbExclamation, "Внимание!"
End If
Loop
Set TempFile = Nothing
Set FSO = Nothing
Set SelFile = Nothing
Wscript.Quit

Скрипт на TCWSHelper.

Batya


Создание файла с именем другого файла

Q: Помогите, нужен скрипт, который бы создавал в текущей папке текстовый файл с именем имеющегося файла, но с другим расширением.

A:

'==========================================================================
' Создание в текущей папке для всех файлов с указанным расширением
' аналогичного файла с другим указанным расширением

' В параметрах вызова из TC должно быть прописано:
' %P {расширение исходных файлов} {расширение создаваемых файлов}
' Пример:
' %P mp3 txt
'==========================================================================
Dim MB
If WScript.Arguments.Count < 3 Then
MB = MsgBox("Заданы не все параметры!", vbOKOnly + vbExclamation, "Создание новых файлов")
WScript.Quit
End If

Dim FSO, CurrentFolder, Ext1, Ext2, oFolder, oFile, NewFilePath, oNewFile
Set FSO = CreateObject("Scripting.FileSystemObject")

CurrentFolder = WScript.Arguments(0)
Ext1 = WScript.Arguments(1)
Ext2 = WScript.Arguments(2)

If not FSO.FolderExists(CurrentFolder) Then
MB = MsgBox("Папка " & CurrentFolder & " не существует!", vbOKOnly + vbExclamation, "Создание новых файлов")
WScript.Quit
End If

Set oFolder = FSO.GetFolder(CurrentFolder)

For Each oFile in oFolder.Files
If FSO.GetExtensionName(oFile.Path) = Ext1 Then
NewFilePath = CurrentFolder & FSO.GetBaseName(oFile.Path) & "." & Ext2
If not FSO.FileExists(NewFilePath) Then
Set oNewFile = FSO.CreateTextFile(NewFilePath)
oNewFile.Close
End If
End If
Next

Set oFolder = Nothing
Set oFile = Nothing
Set oNewFile = Nothing
Set FSO = Nothing
Wscript.Quit

В параметрах кнопки (команды) надо указать 3 параметра, например:
%P mp3 txt

Batya


Создание файла с содержимым буфера обмена

Q: Нужно, чтобы при нажатии Ctrl+V в активной панели, в том случае, если в буфере обмена содержится текст, создавать файл с именем descript.ion и содержимым буфера обмена. Опционально можно выдавать запрос.

A: Вот vbs-скрипт, использующий Script Helper:

'=======================================================
' Создание текстового файла с содержимым буфера обмена
'=======================================================

Option Explicit
Dim FileName
'========== Изменяемые параметры =======================
FileName = "descript.txt" 'Имя создаваемого файла
'=======================================================
Dim TCS, Clip, Btn, FSO, OTL, Mess, Title
Set TCS = CreateObject("TCScript.Helper")
Clip = TCS.GetTextFromClip
Set TCS = Nothing

If Len(Clip) > 0 Then
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(FileName) Then
Mess = "Буфер обмена содержит текст." & vbNewLine & _
"Заменить содержимое файла " & FileName & _
" текстом из буфера обмена?" & vbNewLine
Title = "Замена содержимого файла"
Else
Mess = "Буфер обмена содержит текст." & vbNewLine & _
"Создать файл " & FileName & _
" с содержимым буфера обмена?" & vbNewLine
Title = "Создание текстового файла"
End If
Btn = MsgBox(Mess, vbYesNo + vbQuestion, Title)
If Btn = 7 Then 'Кнопка No
Set FSO = Nothing
WScript.Quit
End If
Else
WScript.Quit
End If

Set OTL = FSO.OpenTextFile(FileName, 2, True)
OTL.Write Clip
OTL.Close

Set OTL = Nothing
Set FSO = Nothing
WScript.Quit

Batya


Установка фильтра по расширению

Q: Как на кнопку назначить команду cm_SrcUserSpec с параметрами фильтрации:
*.doc;*.txt и т.д.?

A: Подвесь скрипт на кнопку

Dim TCS
Set TCS = CreateObject("TCSCRIPT.Helper")
TCS.SendCommand "cm_SrcUserDef"
TCS.SendKeystroke "*.doc;*.txt"
TCS.SendKeystroke "{ENTER}"
Set TCS = Nothing

Расширения вписывать понятно где. Для запуска нужен Script Helper.

Batya


Вопросы и ответы

Список материалов FAQ:

· FAQ по FAQ: как задавать вопросы
· Предисловие: как избежать проблем

Вопросы, ответы на которые помогут оптимизировать работу в Total Commander:

· "Нажмите "Закрыть", когда временный файл можно будет удалить"
· Автоматическое обновление содержимого панелей
· Активная панель при запуске
· Быстрое открытие контекстного меню
· Быстрое перемещение файлов из подкаталогов
· Быстрый переход ''вверх'' по каталогам
· Быстрый поиск файла в панели
· Вставка текущего пути в поля диалогов
· Выбор диска на пассивной панели без её активизации
· Выделение только для файлов
· Выделение файлов горячими клавишами
· Выравнивание колонок
· Горизонтальная прокрутка в панелях
· Горячие клавиши на переход по папкам
· Двигать курсор при нажатии пробела
· Двойной клик по пустому месту в панели
· Запуск TC с разными настройками
· Запуск TC свёрнутым в трей
· Запуск всех выделенных файлов
· Значение ключа UseIniInProgramDir
· Значки как в Explorer
· Изменение поведения стрелок 'Влево' и 'Вправо'
· Изменение пропорций панелей
· Изменение ширины столбцов для одной панели
· Имена папок заглавными буквами
· Индикация копирования
· Использование скроллера/средней кнопки мыши?
· Как включить/отключить перемещение мышкой по файлам?
· Как вызывать команды cm_xxx из командной строки?
· Как запускать файлы одним щелчком, а не двумя?
· Как запустить программу от имени другого пользователя?
· Как заставить TC скрыть системные файлы?
· Как изменить время появления всплывающих подсказок?
· Как подвесить команды на горячие клавиши
· Как просматривать эскизы?
· Как работает ключ CmdUpDown?
· Как сделать переименование по F2?
· Кодировка в названиях папок и файлов
· Кодировка текста подсказки
· Копирование в несколько папок одновременно
· Копирование или перемещение при перетаскивании файлов
· Копирование каталогов без копирования симлинков
· Копирование/перемещение в очереди по умолчанию
· Копирование/перемещение файлов всегда в фоне
· Копировать только заданные файлы
· Не закрывать консоль после выполнения команды
· Не закрывать консоль, запущенную по кнопке
· Ограничение количества каталогов в истории
· Отключение миниатюр для папок
· Отключить контекстное меню
· Открытие заданной папки в панели TC при запуске
· Открытие окна Explorer из TC
· Открытие файла из меню
· Отображение длинных имён файлов
· Отображение скрытых файлов по горячей клавише
· Очистить 'Корзину' из TC
· Переименование без захвата расширения
· Переход в адресную/командную строки
· Переход в папку, открытую на другой панели, при выборе диска
· Переход по пути в командной строке
· Подсветка последнего запущенного файла/открытой папки
· Позиция командной строки
· Почему имена создаваемых папок переводятся в нижний регистр?
· Разделители колонок
· Раздражающее окно подтверждения при копировании
· Размер комментариев к файлу
· Размер окна TC при запуске
· Синхронизация по маске
· Скрытие дисков
· Смена панелей при Ctrl+D
· Создание нескольких папок за раз
· Создание нового файла по клавиатурному сочетанию
· Создание новой вкладки с заданными параметрами
· Создание ярлыков
· Сохранение и перенос комментариев
· Убрать квадратные скобки вокруг имён каталогов
· Убрать стандартные всплывающие подсказки
· Удобный Drag'n'Drop мышкой
· Умная сортировка
· Хоткей для копирования пути к файлу

Вопросы и ответы по добавлению, настройке и использованию дополнительных функций в TC:

· GMail Drive в TC
· Архивы и исполняемые файлы вверху
· Быстрая транслитерация текста
· Выпадающий список при нажатии кнопки в тулбаре
· Дата с точностью до секунды
· Дата создания файла вместо даты доступа
· Звуковые схемы для Total Commander
· Изменение даты создания файлов
· Имена файлов (или тэгов) - из кириллицы в латиницу
· Как написать свою команду cm_???
· Как сделать, чтобы размер папки показывался по умолчанию?
· Как скопировать дерево каталогов, не копируя самих файлов?
· Как создавать symlink и hardlink'и средствами TC?
· Как убрать/поставить звуковые сообщения?
· Как узнать владельца файла?
· Консоль в TC
· Копирование в nul
· Копирование заданных файлов с сохранением структуры каталогов
· Копирование файла с сохранением пути
· Копирование файла, на который указывает ярлык
· Можно ли добавить пункты в меню Alt+F1/F2?
· Несколько команд на кнопку
· Пакетная печать txt-файлов
· Переименование по маске как в FAR
· Переименование файлов при копировании
· Перенос файлов из плейлиста в МР3-плеер
· Плагин для просмотра логов
· Плагин для редактирования dbf-файлов
· Плагин для чтения RSS
· Плагины для записи CD
· Подключение плагинов от FAR
· Подсказки к кнопкам выбора дисков
· Подсветка каталогов не содержащих определённые файлы
· Привязка редакторов к расширению файла при редактировании по F4
· Просмотр DjVu
· Разбивка и сборка файлов
· Размер шрифта при просмотре файлов Word плагином ListDoc
· Раскодирование eml/mht/msg-файлов
· Систрей для TC
· Скачать файл через TC
· Скины и украшения для TC
· Соединение с КПК
· Создание ISO-образов
· Создание md5 и sfv хешей
· Список дисков с указанием свободного/занятого места
· Список каталогов в файл
· Удаление одного файла из множества архивов
· Установка прозрачности окна TC
· Цветовые схемы TC

Вопросы, связанные с использованием закладок панелей:

· Блокированная закладка - как корневой каталог?
· Принцип перетаскивания вкладок
· Размножающиеся закладки

Проблемы, возникающие при работе с TC:

· TC долго входит в каталог
· TC запускается очень долго
· Total зависает, если вынуть диск из CD-Rom
· Windows Vista, TC и UAC
· В Thumbnails view не просматриваются psd файлы
· Долго создаётся/удаляется папка
· Исчезли кнопки дисков
· Исчезнувшие всплывающие подсказки к файлам
· Конфликт схем подсветок
· Копирование кириллических символов в буфер обмена
· Медленная работа с Thumbnails
· Медленное копирование на USB Flash накопители
· Медленное удаление файлов
· Не изменяется вид кнопок (плоские/объёмные)
· Не отображаются ассоциированные иконки
· Не подключается файл меню
· Не проигрываются настроенные звуки
· Не работает Alt+F5
· Не работает сравнение файлов (каталогов)
· Не работают команды cm_GotoDrive
· Не снимается атрибут "только для чтения"
· Неменяющиеся значки папок
· Ошибка запуска ярлыков
· Перестаёт работать Tab
· Перестало работать сочетание клавиш XYZ
· Поведение по Alt+Tab
· Под Windows Vista пропали иконки
· Пробелы в имени
· Проблема доступа к файлам с кириллицей в названии
· Проблема с комментариями файлов
· Проблема сверхдлинных имён файлов на FAT32
· Проблема удаления файлов после просмотра
· Проблемы с локалью
· Проблемы с прокруткой списка
· Сообщение о вирусе
· Функции, требующие прав администратора

Другие популярные вопросы:

· TC для других OS
· Динамические иконки дисков
· Замена Explorer
· Замена основной иконки TC
· Защита от копирования лицензионного ключа
· Как убрать значок родительского каталога из папки?
· Почему TC не поддерживает передачу файлов через USB-соединение?
· Преднастроенный wicmd.ini по умолчанию
· Редактирование wincmd.ini
· Русификация TC
· Сохранить настройки TC после переустановки системы
· Удаление плагинов
· Установка TC без прав администратора
· Установка новой версии поверх старой

Вопросы, возникающие при использовании встроенного в TC FTP-клиента, и ответы на них.

· Исходный и результирующий файл различаются
· Connection lost (потеря подключения)
· FTP открывается только для чтения
· Автодозакачка с FTP
· Автоматическое переподключение к FTP
· Быстрый доступ через Ctrl+D
· Восстановление пароля FTP
· Встроенный брандмауэр конфликтует с FTP-клиентом TC
· Запуск файлов прямо с FTP
· Изменение кодировки на FTP
· Изменение регистра имён файлов при закачке
· Как заставить контентные плагины работать с FTP?
· Кнопка для быстрого подключения к FTP
· Копирование с FTP в несколько потоков
· Лог загрузок с FTP
· Медленная работа FTP
· Не запускается FTP-клиент
· Не работает перемещение файлов с FTP
· Отключение предложения о сохранении сеанса
· Открытие ссылок ftp:// в TC
· Отменить обновление списка файлов на FTP
· Подключение по SFTP
· Подсчёт общего размера файлов на FTP
· Портятся файлы при передаче на FTP
· После установки неофициального пака не работает FTP
· Посмотреть полный путь до файла на FTP
· Проблема с входом по DNS-имени
· Разница в размере файлов
· Редактирование файлов на FTP
· Скрытые файлы на FTP (файлы с точкой в начале имени)
· Создать файл на FTP
· Сохранение оригинальной даты и времени файла
· Сохранение списка файлов на FTP
· Список FTP в TC

Вопросы, связанные с проблемами при работе в сети.

· Total Commander тормозит при работе с сетью
· Долгий вход на сетевые ресурсы
· Как включить отображение скрытых сетевых ресурсов?
· Как открыть ресурс в TC по IP-адресу?
· Ненужные ярлыки в "Сетевом окружении"
· Ошибка копирования файла по сети
· Проблема копирования даты и времени
· Просмотр ресурсов службы терминалов

Вопросы, связанные с инструментом поиска в TC.

· Вывод результатов поиска в архиве на панель
· Исключение подпапки из поиска
· Как найти файл по содержимому комментария?
· Как найти файлы, в которых первый символ - x00?
· Как отдельно раскрасить каталоги и файлы?
· Нерекурсивный поиск
· Отключить поиск в zip-папках
· Поиск каталогов, содержащих файлы заданного типа
· Поиск по простой маске
· Поиск пустых каталогов
· Поиск среди найденного
· Поиск текста в файлах *.docx
· Поиск файла с пробелом в имени
· Поиск файла, содержащего несколько заданных слов
· Редактирование найденных файлов
· Сохранение результатов поиска в текстовом файле
· Фоновый поиск

Вопросы, связанные с инструментом группового переименования TC.

· Год после названия и наоборот
· Замена нескольких подстрок за один проход
· Использование спецсимволов при мультипереименовании
· Нормализация имён файлов
· Переименование файлов по списку
· Пробелы перед заглавными буквами

Вопросы, связанные с инструментом сравнения TC.

· Ввод Tab в инструменте сравнения
· Сравнение каталогов только по именам

Вопросы, возникающие при работе с инструментами архивации и архиваторными плагинами TC.

· CD/DVD образы - как архивы
· TC не открывает архивы WinRar 3.50
· Архиватор для распаковки запароленных zip-архивов из TC
· Архивация каждого выбранного файла/папки в отдельный архив
· Быстрое изменение параметров упаковки
· Быстрое преобразование zip sfx-архива
· Вход в архивы, как в каталоги
· Как запретить входить в архивы как в каталоги?
· Как определить плагин, работающий с архивом?
· Как указать, что JAR - тоже Zip-архив?
· Открытие всех файлов в архиве без запроса подтверждения
· Ошибка создания большого zip-архива
· Передача параметров при архивации
· Переконвертация архивов
· Предложение о переупаковке файлов Office
· При распаковке не сохраняется структура архива
· Просмотр содержимого архива без его открытия
· Разные иконки для разных типов архивов
· Распаковка архива в текущий каталог
· Распаковка запароленных RAR-архивов
· Распаковка файлов в папку с именем архива

Вопросы, возникающие при использовании пользовательских колонок и контентных плагинов TC.

· Автопереключение пользовательских колонок
· Вывод подсказок для файлов на сетевых дисках
· Копирование информации из Custom view-панели
· Переключение пользовательских колонок
· Просмотр информации о фото, сделанных цифровой камерой

Вопросы, связанные с инструментом просмотра (Lister) и плагинами просмотра TC.

· Быстрый просмотр
· Другой плагин для расширения
· Изменить размер табуляции
· Информация о папках по Ctrl+Q
· Какой плагин просмотра лучше: Imagine или SGViewer?
· Не работает просмотр PDF через IEView
· Несколько листер-плагинов для одного расширения
· Перенос строк в Lister
· Подсветка синтаксиса в Lister
· Прокрутка в листере колесиком мыши
· Просмотр *.doc без плагинов
· Просмотр определённого файла в листере
· Размер панелей в режиме быстрого просмотра
· Редактирование файлов в панели
· Слайд-шоу
· Смена цветов для Листера

Вопросы, связанные с файлсистемными плагинами TC.

· Где находятся wfx-плагины?
· Почему в панелях системных плагинов нельзя использовать контентные плагины?

Решение проблем, связанных с ошибками и критическими ограничениями в TC.

· Total Commander и Win 64
· Избранные каталоги. Ограничение в 200 строк
· Количество строк в панели инструментов
· Копирование в NUL через BTM
· Ограничение количества шаблонов поиска
· Ошибка в путях установки плагинов
· Перемещение папки при ее переименовании

Вопросы, возникающие при написании плагинов для TC

· Загрузка статических библиотек в плагине
· Особенности работы функции LogProc
· Что нужно для написания плагина?

Интересные вопросы, не относящиеся к повседневному использованию TC.

· "Тихая" инсталляция
· 16-битная версия TC
· cm_EditPersmissionInfo
· pluginst.inf не работает
· Using Cracks is unfair!
· Для чего нужны файлы tcthumbs.db и tcthumbs.idb?
· Использование TC без ключа
· Как купить Total Commander?
· Как написать плагин для TC? Что нужно для этого?
· Особенности удаления в TC
· Почему в дистрибутиве TC нет русской локализации?
· Разница между files.bbs и descript.ion
· Лицензия разработчика
· Распакованный и запакованный totalcmd.exe


Предисловие: как избежать проблем

Как показало изучение вопросов и ответов - в основном вопросы возникают от неумения или нежелания читать справку. Конечно, это понятно - лень-матушка, проще задать вопрос на форуме. Ответы, кстати, появляются у тех, кто справку прочёл.
Однако немалая доля вопросов возникает из-за ошибок, связанных с использованием так называемых "паков" - сборок Total Commander с предустановленными плагинами, программами и заранее внесёнными настройками. Честно говоря - количество таких вопросов меня просто ужаснуло.
Я предостерегаю вас от использования чужих сборок! Как минимум три причины для того, чтобы не пользоваться ими:
- Распространение и использование таких сборок незаконно. Неважно, "сломан" ли TC, входящий в "пак" или нет - распространение его в каком либо, отличном от официального, варианте - незаконно.
- Такие сборки не застрахованы от ошибок, внесённых составителями, и как показывает опыт, полученный при написании этого FAQ, - такие ошибки там есть.
- Такие сборки лишают вас собственного достоинства. Вам приятно осознавать, что кто-то уже решил за вас, чем и как вы должны пользоваться? Разве вы сами не в состоянии это сделать?

Хотите пример, до чего может довести использование чужих сборок? Вот вам интересная ветка форума:

Werewolf
"В сборке TC 6.53 аXP стартовая панель не исчезает
Имею ввиду панель на которой написано - нажмите клавиши 1 2 3 для старта. Висит зараза, исчезать не собирается - пока руками не нажмешь фиг исчезнет. Это я поставил свежайшую сборку Total Commander, Version 6.53 - eXtendedPack, Version 3.2.
Для сравнения снес ее - поставил прежнюю версию под которой жил очень долго - "Total Commander, Version 6.03a - еХtendedPack,Version 2.3", там все нормально...
Подскажет кто-нить как поправить?"

Константин Власов
Werewolf
Вообще-то, исчезать она и не должна. Это ограничение незарегистрированной версии. Если не хочется нажимать кнопочку 1-2-3, надо покупать лицензию. Если не хочешь покупать лицензию, то обсуждение соответствующих средств на этом форуме запрещено. :)

Werewolf
мож вы еще номер договора будете требовать при регистрации? чтоб уж совсем честно все было? А то понимаешь как-то нечестно получается - может кто угодно зарегиться. А так мало того что по делу не ответили, так еще и мордой ткнули - дескать, читай правила и тащись.... так далеко не уедете. Засим откланиваюсь.
p.s. Мой аккаунт удаляйте. Я тут не появлюсь больше.

vserd
Werewolf
Цитата:
А то понимаешь как-то нечестно получается - может кто угодно зарегиться. А так мало того что по делу не ответили, так еще и мордой ткнули - дескать, читай правила и тащись....

Вам ответили вполне корректно. Если вы привыкли что ТС уже "вылеченный", то о 1,2,3 можете и не знать. Если всеже знаете, то пишите автору пака, может он допустил ошибку, а может поменял свои взгляды на "лечение".

Интересно, правда?
С уважением, составитель RU.TCKB

Павел Дубровский


FAQ по FAQ: как задавать вопросы

Перед тем, как идти в форум и задавать вопрос, желательно сделать четыре вещи:

1) Прочесть справку к TC (ну и этот файл, конечно же).
2) Скачать последнюю версию TC и убедиться, что проблема присутствует и в ней.
3) Убедиться, что проблема присутствует только в TC, а в других программах - нет.
4) Проверить, возникает ли ошибка на "чистом" TC - т.е. с настройками по умолчанию, без установленных плагинов, и, конечно - не взломанном.
5) Предельно ясно сформулировать вопрос - тогда вы получите предельно ясный и точный ответ. Желательно, если текст вопроса не будет содержать грамматических и синтаксических ошибок - это облегчит его включение в RU.TCKB, а значит, поможет кому-то разобраться с аналогичной проблемой.

Всё, задавайте. Вам ответят.

Павел Дубровский


Общие вопросы

Повседневные и самые часто задаваемые вопросы, возникающие при использовании TC:

Вопросы, ответы на которые помогут оптимизировать работу в Total Commander:

· "Нажмите "Закрыть", когда временный файл можно будет удалить"
· Автоматическое обновление содержимого панелей
· Активная панель при запуске
· Быстрое открытие контекстного меню
· Быстрое перемещение файлов из подкаталогов
· Быстрый переход ''вверх'' по каталогам
· Быстрый поиск файла в панели
· Вставка текущего пути в поля диалогов
· Выбор диска на пассивной панели без её активизации
· Выделение только для файлов
· Выделение файлов горячими клавишами
· Выравнивание колонок
· Горизонтальная прокрутка в панелях
· Горячие клавиши на переход по папкам
· Двигать курсор при нажатии пробела
· Двойной клик по пустому месту в панели
· Запуск TC с разными настройками
· Запуск TC свёрнутым в трей
· Запуск всех выделенных файлов
· Значение ключа UseIniInProgramDir
· Значки как в Explorer
· Изменение поведения стрелок 'Влево' и 'Вправо'
· Изменение пропорций панелей
· Изменение ширины столбцов для одной панели
· Имена папок заглавными буквами
· Индикация копирования
· Использование скроллера/средней кнопки мыши?
· Как включить/отключить перемещение мышкой по файлам?
· Как вызывать команды cm_xxx из командной строки?
· Как запускать файлы одним щелчком, а не двумя?
· Как запустить программу от имени другого пользователя?
· Как заставить TC скрыть системные файлы?
· Как изменить время появления всплывающих подсказок?
· Как подвесить команды на горячие клавиши
· Как просматривать эскизы?
· Как работает ключ CmdUpDown?
· Как сделать переименование по F2?
· Кодировка в названиях папок и файлов
· Кодировка текста подсказки
· Копирование в несколько папок одновременно
· Копирование или перемещение при перетаскивании файлов
· Копирование каталогов без копирования симлинков
· Копирование/перемещение в очереди по умолчанию
· Копирование/перемещение файлов всегда в фоне
· Копировать только заданные файлы
· Не закрывать консоль после выполнения команды
· Не закрывать консоль, запущенную по кнопке
· Ограничение количества каталогов в истории
· Отключение миниатюр для папок
· Отключить контекстное меню
· Открытие заданной папки в панели TC при запуске
· Открытие окна Explorer из TC
· Открытие файла из меню
· Отображение длинных имён файлов
· Отображение скрытых файлов по горячей клавише
· Очистить 'Корзину' из TC
· Переименование без захвата расширения
· Переход в адресную/командную строки
· Переход в папку, открытую на другой панели, при выборе диска
· Переход по пути в командной строке
· Подсветка последнего запущенного файла/открытой папки
· Позиция командной строки
· Почему имена создаваемых папок переводятся в нижний регистр?
· Разделители колонок
· Раздражающее окно подтверждения при копировании
· Размер комментариев к файлу
· Размер окна TC при запуске
· Синхронизация по маске
· Скрытие дисков
· Смена панелей при Ctrl+D
· Создание нескольких папок за раз
· Создание нового файла по клавиатурному сочетанию
· Создание новой вкладки с заданными параметрами
· Создание ярлыков
· Сохранение и перенос комментариев
· Убрать квадратные скобки вокруг имён каталогов
· Убрать стандартные всплывающие подсказки
· Удобный Drag'n'Drop мышкой
· Умная сортировка
· Хоткей для копирования пути к файлу

Вопросы и ответы по добавлению, настройке и использованию дополнительных функций в TC:

· GMail Drive в TC
· Архивы и исполняемые файлы вверху
· Быстрая транслитерация текста
· Выпадающий список при нажатии кнопки в тулбаре
· Дата с точностью до секунды
· Дата создания файла вместо даты доступа
· Звуковые схемы для Total Commander
· Изменение даты создания файлов
· Имена файлов (или тэгов) - из кириллицы в латиницу
· Как написать свою команду cm_???
· Как сделать, чтобы размер папки показывался по умолчанию?
· Как скопировать дерево каталогов, не копируя самих файлов?
· Как создавать symlink и hardlink'и средствами TC?
· Как убрать/поставить звуковые сообщения?
· Как узнать владельца файла?
· Консоль в TC
· Копирование в nul
· Копирование заданных файлов с сохранением структуры каталогов
· Копирование файла с сохранением пути
· Копирование файла, на который указывает ярлык
· Можно ли добавить пункты в меню Alt+F1/F2?
· Несколько команд на кнопку
· Пакетная печать txt-файлов
· Переименование по маске как в FAR
· Переименование файлов при копировании
· Перенос файлов из плейлиста в МР3-плеер
· Плагин для просмотра логов
· Плагин для редактирования dbf-файлов
· Плагин для чтения RSS
· Плагины для записи CD
· Подключение плагинов от FAR
· Подсказки к кнопкам выбора дисков
· Подсветка каталогов не содержащих определённые файлы
· Привязка редакторов к расширению файла при редактировании по F4
· Просмотр DjVu
· Разбивка и сборка файлов
· Размер шрифта при просмотре файлов Word плагином ListDoc
· Раскодирование eml/mht/msg-файлов
· Систрей для TC
· Скачать файл через TC
· Скины и украшения для TC
· Соединение с КПК
· Создание ISO-образов
· Создание md5 и sfv хешей
· Список дисков с указанием свободного/занятого места
· Список каталогов в файл
· Удаление одного файла из множества архивов
· Установка прозрачности окна TC
· Цветовые схемы TC

Вопросы, связанные с использованием закладок панелей:

· Блокированная закладка - как корневой каталог?
· Принцип перетаскивания вкладок
· Размножающиеся закладки

Проблемы, возникающие при работе с TC:

· TC долго входит в каталог
· TC запускается очень долго
· Total зависает, если вынуть диск из CD-Rom
· Windows Vista, TC и UAC
· В Thumbnails view не просматриваются psd файлы
· Долго создаётся/удаляется папка
· Исчезли кнопки дисков
· Исчезнувшие всплывающие подсказки к файлам
· Конфликт схем подсветок
· Копирование кириллических символов в буфер обмена
· Медленная работа с Thumbnails
· Медленное копирование на USB Flash накопители
· Медленное удаление файлов
· Не изменяется вид кнопок (плоские/объёмные)
· Не отображаются ассоциированные иконки
· Не подключается файл меню
· Не проигрываются настроенные звуки
· Не работает Alt+F5
· Не работает сравнение файлов (каталогов)
· Не работают команды cm_GotoDrive
· Не снимается атрибут "только для чтения"
· Неменяющиеся значки папок
· Ошибка запуска ярлыков
· Перестаёт работать Tab
· Перестало работать сочетание клавиш XYZ
· Поведение по Alt+Tab
· Под Windows Vista пропали иконки
· Пробелы в имени
· Проблема доступа к файлам с кириллицей в названии
· Проблема с комментариями файлов
· Проблема сверхдлинных имён файлов на FAT32
· Проблема удаления файлов после просмотра
· Проблемы с локалью
· Проблемы с прокруткой списка
· Сообщение о вирусе
· Функции, требующие прав администратора

Другие популярные вопросы:

· TC для других OS
· Динамические иконки дисков
· Замена Explorer
· Замена основной иконки TC
· Защита от копирования лицензионного ключа
· Как убрать значок родительского каталога из папки?
· Почему TC не поддерживает передачу файлов через USB-соединение?
· Преднастроенный wicmd.ini по умолчанию
· Редактирование wincmd.ini
· Русификация TC
· Сохранить настройки TC после переустановки системы
· Удаление плагинов
· Установка TC без прав администратора
· Установка новой версии поверх старой


Оптимизация работы

Вопросы, ответы на которые помогут оптимизировать работу в Total Commander:

· "Нажмите "Закрыть", когда временный файл можно будет удалить"
· Автоматическое обновление содержимого панелей
· Активная панель при запуске
· Быстрое открытие контекстного меню
· Быстрое перемещение файлов из подкаталогов
· Быстрый переход ''вверх'' по каталогам
· Быстрый поиск файла в панели
· Вставка текущего пути в поля диалогов
· Выбор диска на пассивной панели без её активизации
· Выделение только для файлов
· Выделение файлов горячими клавишами
· Выравнивание колонок
· Горизонтальная прокрутка в панелях
· Горячие клавиши на переход по папкам
· Двигать курсор при нажатии пробела
· Двойной клик по пустому месту в панели
· Запуск TC с разными настройками
· Запуск TC свёрнутым в трей
· Запуск всех выделенных файлов
· Значение ключа UseIniInProgramDir
· Значки как в Explorer
· Изменение поведения стрелок 'Влево' и 'Вправо'
· Изменение пропорций панелей
· Изменение ширины столбцов для одной панели
· Имена папок заглавными буквами
· Индикация копирования
· Использование скроллера/средней кнопки мыши?
· Как включить/отключить перемещение мышкой по файлам?
· Как вызывать команды cm_xxx из командной строки?
· Как запускать файлы одним щелчком, а не двумя?
· Как запустить программу от имени другого пользователя?
· Как заставить TC скрыть системные файлы?
· Как изменить время появления всплывающих подсказок?
· Как подвесить команды на горячие клавиши
· Как просматривать эскизы?
· Как работает ключ CmdUpDown?
· Как сделать переименование по F2?
· Кодировка в названиях папок и файлов
· Кодировка текста подсказки
· Копирование в несколько папок одновременно
· Копирование или перемещение при перетаскивании файлов
· Копирование каталогов без копирования симлинков
· Копирование/перемещение в очереди по умолчанию
· Копирование/перемещение файлов всегда в фоне
· Копировать только заданные файлы
· Не закрывать консоль после выполнения команды
· Не закрывать консоль, запущенную по кнопке
· Ограничение количества каталогов в истории
· Отключение миниатюр для папок
· Отключить контекстное меню
· Открытие заданной папки в панели TC при запуске
· Открытие окна Explorer из TC
· Открытие файла из меню
· Отображение длинных имён файлов
· Отображение скрытых файлов по горячей клавише
· Очистить 'Корзину' из TC
· Переименование без захвата расширения
· Переход в адресную/командную строки
· Переход в папку, открытую на другой панели, при выборе диска
· Переход по пути в командной строке
· Подсветка последнего запущенного файла/открытой папки
· Позиция командной строки
· Почему имена создаваемых папок переводятся в нижний регистр?
· Разделители колонок
· Раздражающее окно подтверждения при копировании
· Размер комментариев к файлу
· Размер окна TC при запуске
· Синхронизация по маске
· Скрытие дисков
· Смена панелей при Ctrl+D
· Создание нескольких папок за раз
· Создание нового файла по клавиатурному сочетанию
· Создание новой вкладки с заданными параметрами
· Создание ярлыков
· Сохранение и перенос комментариев
· Убрать квадратные скобки вокруг имён каталогов
· Убрать стандартные всплывающие подсказки
· Удобный Drag'n'Drop мышкой
· Умная сортировка
· Хоткей для копирования пути к файлу


"Нажмите "Закрыть", когда временный файл можно будет удалить"

&quotНажмите &quotЗакрыть&quot, когда временный файл можно будет удалить&quot

Q: При открытии файлов из архива иногда появляется окно "Нажмите "Закрыть", когда временный файл можно будет удалить". Как сделать чтобы эти файлы удалялись автоматически?

A: Никак. Не существует способа программно определить, нужны ли файлы, распакованные Тоталом какому-нибудь другому приложению (или пользователю) или нет. Соответственно, если Тотал будет удалять файлы сразу, то с ними не получится работать. Если не будет удалять вообще, то временный каталог будет стремительными темпами разрастаться и съедать место на диске. Поэтому выбран вариант, когда пользователь сам решает, нужны ему файлы или их уже можно удалять.

Константин Власов


Автоматическое обновление содержимого панелей

Q: Собственно проблема вот в чем: открываю файл (какой - неважно, это у меня глючит на всех файлах), при этом программа, в которой открывается файл, в эту же директорию скидывает временный файл. И если я из программы переключаюсь опять в TC, то пока не обновлю содержимое панели (CTRL+R), то этого временного файла я не вижу. Где можно включить автоматическое обновление содержимого панелей?

A: Посмотри в своем wincmd.ini

[Configuration]
Noreread=

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

Batya

Q: Как заставить TC автоматически перечитывать содержимое панелей?

A: WatchDirs=0

Управляет механизмом автоматических обновлений каталогов, позволяющим обнаруживать действия программ, отличных от Total Commander, такие как добавление, модификация или удаление файлов, и отображать изменения в файловых панелях. Эта функция не работает в Windows 9x.
Суммируются следующие значения:
1: включить опцию (по умолчанию она отключена).
2: также обнаруживать изменения размера, даты, атрибутов.
4: помещать недавно добавленные файлы в КОНЕЦ файлового списка (по умолчанию список сортируется).
8: не реагировать на изменения, если окно TC неактивно.
16: обновлять строку состояния (общее количество файлов). Внимание: может замедлять работу на больших дисках!
32: обновлять информацию о свободном дисковом пространстве. Внимание: может замедлять работу на больших дисках!
256: оповещать звуком при каждом изменении (полезно в целях отладки).

WatchDirsExclude=AB\

Отключить слежение за изменениями для перечисленных здесь дисков, когда опция WatchDirs включена.
Может быть полезно, например, для отключения автообновления на медленных дисках.

Русская справка Total Commander

A: В TC 7.0+ опции автообновления расширены и вынесены в настройки.


Активная панель при запуске

Q: Обычно при загрузке Total Commander активной становится левая панель. Можно ли сделать, чтобы активной всегда была заранее заданная панель?

A: wincmd.ini

[configuration]
ActiveRight=1

Устанавливать правую панель активной при запуске Total Commander.

Volniy


Быстрое открытие контекстного меню

Q: Можно ли сделать так, чтобы контекстное меню файлов открывалось сразу при клике правой клавишей, подобно проводнику? То есть не ждать некоторое время (~ 1c).

A: Если полазить по настройкам, то можно найти очень много всего...
Конфигурация -> Настройки -> Операции -> Выделение мышью -> Левой кнопкой (как в Windows).

Константин Власов


Быстрое перемещение файлов из подкаталогов

Q: Есть папка "FOTOS" с множеством файлов и вложенных папок, в каждой из которых JPEG-картинки. Требуется быстро переместить эти картинки из вложенных папок в исходную папку "FOTOS".

A: Ctrl+B -> Становишься на любой jpeg -> Alt+(Num+) -> Shift+F6 -> Enter. Именно Shift+F6 - для группы файлов перенос в текущий каталог активной панели, т.е. в данном случае каталог, в котором нажали Ctrl+B. А F6 - перенос в текущий каталог пассивной панели.

Batya


Быстрый переход "вверх" по каталогам

Q: Под иконками с дисками вверху программы есть путь директорий к текущему каталогу. Удерживая Shift можно нажать на какой-то каталог, чтобы перейти в него сразу. Как сделать, чтобы переходить просто по клику мышки, без удерживания шифта?

A: В файле настроек (Конфигурация -> Редактировать файлы конфигурации) в секции [Configuration] пропиши ключ InplaceRenamePath=2 и перезапусти Тотал.

Константин Власов


Быстрый поиск файла в панели

Q: Мне пришлось перейти на Total Commander, хотя ранее я использовал FAR. У меня выработалась привычка - не искать долго глазами в большом списке файлов название типа dokladnaya.doc, а зажать Alt и набрать что-то типа "dokla". Менеджер сам подсветит мне файл, начинающийся с букв "dokla". Фенька это называется quick search, и была реализована еще в Norton Commander'е. Нету ли похожего инструмента в Total Commander'е? Может быть, есть какой-то плагин, это реализующий?

A: Есть конечно такая фича.
Смотрим Настройки->Операции->Поиск в текущем каталоге. Настраиваем режим поиска (тебе, наверное, будет удобно ALT+буква) и всё. Ну дальше сам разберёшься.

Павел Дубровский


Вставка текущего пути в поля диалогов

Q: В FAR'e, после нажатия, например, F5, можно было ткнуть Shift+Enter, и в поле ввода заносилось имя текущего файла/папки. Можно ли такое реализовать тут?

A: Нет, но можно повесить на сочетания клавиш команды копирования в буфер обмена имени текущего файла (или полного имени, включая путь) и потом после нажатия F5 просто вставить путь по Ctrl+V.

Константин Власов


Выбор диска на пассивной панели без её активизации

Q: При выборе/смене диска на пассивной панели, Тотал делает ее активной. Как его отучить от этого?

A: Никак.

Константин Власов


Выделение только для файлов

Q: Можно ли сделать, чтобы по нажатию * (выделить все файлы) не выделялись каталоги?

A: Настройка->Операции->Выделять по Num+ и др. Выбираешь нужную опцию.

По ответам форума forum.wincmd.ru

Q: Можно ли назначить разные клавиатурные сочетания для выделения файлов /файлов и папок? TC умеет либо так, либо эдак.

A: Установи в опциях "Выделять папки и каталоги", сделай шаблон "Только файлы", и пользуйся им. Т.е. - при обычном выделении (Ctr+A / * / Ctrl+Num+) будут выделяться и файлы и папки, а при использовании шаблона - только файлы.

Batya


Выделение файлов горячими клавишами

Q: TC 7.01, есть мелкая нестыковочка: стоит галка "выделять по Num+ только файлы". При этом:

ctrl - shift - Num+ выделяет и файлы и каталоги
ctrl - shift - Num- снимает выделения только с файлов

ctrl - Num+ выделяет только файлы
ctrl - Num- снимает выделения с файлов и каталогов

Это нормально?

A: Это известная вещь. Гислер оставил такое поведение намеренно, чтобы Num- всегда снимал выделение со всех объектов. Иначе кто-нибудь по ошибке может оставить выделенными все каталоги и в результате удалит их вместе с выделенными файлами. Спорная точка зрения, согласен, но поведение это он наотрез отказался менять.

Константин Власов


Выравнивание колонок

Q: Не могу найти опцию, чтобы в стандартной колонке Size было выравнивание по левому краю. Сейчас самое длинное из цифровых значений размера выравнивается по центру <Dir>'а, а остальные по правому краю этой цифры.

A: Создай свой набор колонок, вставь туда колонку "Размер" и поставь соответствующее выравнивание. Иначе никак.

funduk


Горизонтальная прокрутка в панелях

Q: Можно ли к режиму просмотра комментариев (Show -> Comments) добавить горизонтальную прокрутку как для режима Custom columns?

A: Ставишь плагин, который делает то же самое, и уже в нём делаешь прокрутку.

Павел Дубровский


Горячие клавиши на переход по папкам

Q: Хотелось бы сделать так: чтоб по горячим клавишам Ctrl+1, Ctrl+2 и т.д. открывались нужные мне папки в ТС. Как сделать?

A: Start - Change Start Menu - указываешь команду cd c:\папка и выбираешь горячие клавиши. к сожалению там не очень богатый выбор.

Ergo

A: В totalcmd.inc есть набор команд cm_UserMenu1, cm_UserMenu2 и т.д. (плюс свои можно доопределить, если десяти не хватает). Эти команды выполняют команды меню "Запуск". cm_UserMenu1 - первую, cm_UserMenu2 - вторую и т.д. Пихаешь в Запуск команду cd..., и стандартным способом, через диалог Настройки -> Разное вешаешь на cm_UserMenuN любое сочетание клавиш. Подробнее - здесь.

Константин Власов

A: Начиная с TC 7.0 можно использовать пользовательские команды. Делаем команды для перехода в нужный каталог, вешаем на них любые сочетания.

Павел Дубровский


Двигать курсор при нажатии пробела

Q: Как сделать, чтобы по нажатию пробела файл выделялся, и курсор переходил на следующий файл (так же, как работает клавиша insert).

A: wincmd.ini

[configuration]
spacemovesdown=1

Ergo


Двойной клик по пустому месту в панели

Q: В TC 6.00 работала такая удобная функция, как двойной клик в пустом поле директории. При этом, если курсор находился "на папке", то происходил вход в эту папку. Аналогично с файлами.
Перешел на 6.5 по понятным причинам, а тут такой функции нет.
Как добавить эту функцию?

A: Эту ошибку Гислер убрал ещё в версии 6.03 (а может, и ещё раньше). Это именно ошибка, и вёл себя Тотал таким образом только в WinXP. Поскольку есть опасность случайного запуска нежелательной программы двойным кликом по пустому месту, Гислер исправил такое поведение на более корректное. На оф. форуме этот вопрос поднимался уже несколько раз. Если ангельским владеешь, советую полазить.

Константин Власов


Запуск TC с разными настройками

Q: Как запускать Total Commander с разными настройками?

A: Указывать в командной строке (или в свойствах ярлыка) пути к разным ini-файлам после команд /i и /f. Пути желательно писать абсолютные. Пример:

TOTALCMD.EXE /i=C:\totalcmd\other_wincmd.ini

загрузит TC с файлом настроек C:\totalcmd\other_wincmd.ini

TOTALCMD.EXE /f=C:\totalcmd\other_ftp.ini

загрузит TC с файлом настроек FTP C:\totalcmd\other_ftp.ini.

По ответам форума forum.wincmd.ru


Запуск TC свёрнутым в трей

Q: Может кто подскажет, как заставить ТС запускаться минимизированным в трее, а не во весь экран?

A: В ярлыке к Тоталу укажи запуск минимизированным, а в настройках Тотала поставь сворачиваться в трей.

Parcan


Запуск всех выделенных файлов

Q: Если в Эксплорере выделить несколько файлов и нажать Enter, запускаются все. Например, несколько программ, несколько документов Word, несколько песенок загружаются в Винамп.
Как такое сделать в totalcmd?

A: Выделяете несколько файлов и выбираете в контекстном меню их выделенный пункт ("Открыть")!!! Работает на все 100%!!! Не надо даже тянуться к шорткату или к тулбару.
Можно даже без мышки сделать! Контекстное меню открывается специальной кнопкой, или же Shift+F10, в нём нужно всего лишь нажать вниз и ентер. Пашет!!!

Pusher


Значение ключа UseIniInProgramDir

Q: Знаю, что ключ [Configuration] UseIniInProgramDir=7 заставляет ТС использовать файл настроек находящийся в папке программы. Это удобно, но хотелось бы знать, какие ещё значения может принимать этот ключ, и что они изменят.

A: UseIniInProgramDir=0
Это значение будет приниматься во внимание лишь тогда, когда файл wincmd.ini находится в том же каталоге, что и программа. Если положение INI-файлов было задано через параметры командной строки, то независимо от значения данного ключа будут использоваться именно указанные файлы. В противном случае значение данного ключа трактуется как сумма следующих параметров:
1: Использовать файл wincmd.ini, расположенный в каталоге программы, если в реестре не задано иное расположение.
2: Использовать файл wcx_ftp.ini, расположенный в каталоге программы, если в реестре не задано иное расположение.
4: Полностью игнорировать информацию в реестре о расположении файлов wincmd.ini и wcx_ftp.ini.

Русская справка Total Commander


Значки как в Explorer

Q: Нужно, чтобы в панелях Тотала иконки файлов и папок были как в Эксплорере. Для чего это нужно? Все просто... Я пользуюсь SVN. А он, как известно, меняет вид папок и файлов... Но это видно лишь в Эксплорере... :(.

A: Поставь последнюю версию Тотала и включи оверлейные значки (диалог настроек -> Экран).

Константин Власов


Изменение поведения стрелок "Влево" и "Вправо"

Q: Можно ли сделать, чтобы по стрелке вправо/влево не входило в командную строку? В идеале было бы, чтобы по этим стрелкам выполнялось PgUp/PgDown (привычка еще из NC:).

A: Так, как надо, работает при кратком виде (Brief).

Batya


Изменение пропорций панелей

Q: Вопрос: есть ли команда для получения пропорций 0/100 на панели? То есть нужно неактивную панель убрать вовсе с экрана, а активную растянуть на всю рабочую область.

A: Есть только 50/50

Команда cm_50percent=909;Window separator at 50%

Volniy


Изменение ширины столбцов для одной панели

Q: Если я мышкой изменяю ширину одного из полей (столбцов) на одной панели в окне ТС (например поля "Имя"), то в другой панели ширина этого столбца тоже меняется. Как сделать, чтобы ширина столбцов на разных панелях не зависела друг от друга?

A: Насколько я знаю, никак. Настройка ширины в INI-файле сохраняется сама по себе, без привязки к правой/левой панели.

Константин Власов


Имена папок заглавными буквами

Q: Как заставить TC создавать и отображать имена папок в верхнем регистре?

A: После нажатия F7 нажать Caps Lock :).

Но если уж тебе так нравятся заглавные буквы, можно переименовать все каталоги. Запускаешь поиск (хоть по всему диску), при этом на закладке "Дополнительно" устанавливаешь "Атрибуты" + "Каталог".
По окончании поиска нажимаешь "Файлы на панель".
Выделяешь все папки (Shift + End).
Выполняешь команду "Групповое переименование" (Ctrl+M).
В выпадающем списке "Верхний/нижний регистр" выбираешь "Все в ВЕРХНЕМ".
Нажимаешь "Выполнить".

Batya


Индикация копирования

Q: Как сделать, чтобы индикатор копирования показывал процент копирования не одного файла, а всей папки?

A: Настройка->Операции->Подсчитывать место, занимаемое подкаталогами:->Перед копированием/удалением (поставить галочку).

Будет считать общий размер, и, соответственно, подтормаживать, вплоть до подвисания (если дождаться окончания подсчёта, всё будет нормально). Если в момент подвисания нажать Esc - сразу начнётся копирование, но индикация будет только для одного файла.

Павел Дубровский


Использование скроллера/средней кнопки мыши?

Q: Можно ли использовать колесико мыши для того, чтобы перемещался курсор, а не просто скроллилось окно? Можно ли настроить действия для средней клавиши мыши?

A: Встроенными средствами TC - нет.

По ответам форума forum.wincmd.ru


Как включить/отключить перемещение мышкой по файлам?

Q: При движений мышкой происходит перемещение по файлам. Как это отключить?

A: wincmd.ini

[configuration]
SingleClickStart=0 (если 1 - будет как у тебя).

или воспользуйся твикером, например TweakTC.

Павел Дубровский


Как вызывать команды cm_xxx из командной строки?

Q: Как вызывать команды cm_xxx из командной строки?

A: В TC нельзя вызывать внутренние команды, просто набрав их в командной строке. Однако, в TC 7.0+ можно назначить алиас на любую команду, и этот алиас будет работать, если его вызвать подобным образом.

Павел Дубровский


Как запускать файлы одним щелчком, а не двумя?

Q: Как запускать файлы одним щелчком, а не двумя?

A: Если вы хотите запускать приложения и открывать файлы одним щелчком мыши (как это можно настроить в Проводнике Windows), поместите в файл wincmd.ini, расположенный в папке, где находится Windows, в раздел [Configuration] следующую строку: SingleClickStart=1. Если этот оператор уже есть — проверьте, чтобы его значение было равно 1, и перезапустите Total Commander. Теперь файлы на панелях будут активизироваться при наведении на них указателя мыши, а запускаться — одним щелчком.

$corpio


Как запустить программу от имени другого пользователя?

Q: Вот вопрос, как запустить программу от имени другого пользователя?

A: cm_OpenAsUser=2800;Запуск программы от имени другого пользователя.

Павел Дубровский


Как заставить TC скрыть системные файлы?

Q: Подскажите, как заставить TC не отображать системные файлы, но в то же время отображать скрытые?

A: Ctrl+F12 -> Define... -> открывается окно, похожее на поисковое -> Advanced -> убираешь галку с System -> Save -> используешь этот темплейт. На директории не действует (любые и всегда будут видны).

Leshiy


Как изменить время появления всплывающих подсказок?

Q: Как изменить время появления всплывающих подсказок?

A: Можно уменьшить время, через которое появляются подсказки над кнопками в панели инструментов, кнопками дисков и т. п. Для этого в файл wincmd.ini в раздел [Configuration] добавьте строку: ToolTipDelay=100. Цифра после знака равенства означает время задержки подсказки в миллисекундах. По умолчанию установлено ее значение равным 500, т. е. подсказки появляются через полсекунды. После перезапуска Total Commander будет сразу подсказывать, что скрывается за выбранной кнопкой. Уменьшение времени задержки особенно полезно, если на панели инструментов расположено много кнопок-переходов в папки на дисках — выбор нужной кнопки будет происходить быстрее.

Ergo


Как подвесить команды на горячие клавиши

Q: Как подвесить в TC какие-то команды на горячие клавиши?

A: Способ назначения любых горячих клавиш в TC для любых команд:
В пользовательском меню "Запуск" создаём вызов для требуемой команды. Здесь уже можно назначить горячие клавиши, однако их список весьма ограничен. Поэтому запоминаем порядковый номер созданного вызова (самый верхний пункт - №1, следующий - №2 и т.д. Номера подменю не учитываются.), после чего сохраняем изменения и открываем файл настроек wincmd.ini. Там, в секции [Shortcuts], вписываем следующую комбинацию:

хоткей=N+700

где:
хоткей - комбинация, задающая нужную горячую клавишу. Модификаторы задаются следующим образом:
A: Alt
C: Control
S: Shift

После модификатора (или их комбинации) через "+" указывается завершающая клавиша сочетания. Для символьных клавиш - это их символ, для функциональных - общепринятое сокращение (посмотреть можно в "Настройки"->"Разное"). Некоторые кнопки (Win, PrintScrn и др.) назначить нельзя. Левые и правые модификаторы не различаются.

Примеры:
A+U - сочетание Alt+U
CS+Del - сочетание Control+Shift+Delete.
ACS+F9 - сочетание Alt+Control+Shift+F9.

N - это порядковый номер, который мы запомнили. К нему мы прибавляем 700, т.е. если нужная нам команда - сорок восьмой пункт меню, то мы введём 743.
Под эти пункты меню отведены номера с 701 по 899 включительно, так что всего - 199 пунктов меню и 199 хоткеев. (На самом деле, может и больше, но проверять очень лениво :))

Ещё один способ, основанный на том же принципе. Находим файл totalcmd.inc в папке с TC, и добавляем в него следующие строки:

cm_UserMenu1=701
cm_UserMenu2=702
...
cm_UserMenu199=899

Затем идём в "Настройки"->"Разное" и настраиваем там хоткеи для внесённых в список команд.

Начиная с TC 7.0 для той же цели можно использовать пользовательские команды, что гораздо проще и быстрее. Делаем команды для перехода в нужный каталог, вешаем на них любые сочетания.

По ответам форума forum.wincmd.ru


Как просматривать эскизы?

Q: Кто-нибудь знает, как всё-таки сделать, чтобы в Total Commander можно было просматривать эскизы (Thumbnail)?
Знаю, что в версии 6.5 функция просмотра эскизов есть.

A: Ctrl+Shift+F1 (сочетание по умолчанию), либо щёлкни правой кнопкой на заголовках колонок и в меню выбери показ тамбнейлов.

Павел Дубровский


Как работает ключ CmdUpDown?

Q: Как работает ключ CmdUpDown?

A: Пусть у тебя в панели три файла: 1.txt, 2.txt, 3.txt. Курсор на 2.txt. Теперь ты перемещаешь фокус в командную строку и жмёшь клавишу "вверх". Курсор перейдёт в файловую панель и, если CmdUpDown=1, то теперь будет установлен на файл 1.txt, а если CmdUpDown=0, то курсор останется на файле 2.txt.

Константин Власов


Как сделать переименование по F2?

Q: Как сделать переименовывание по F2 файлов и каталогов?

A: Диалог настроек, страница "Разное". Выбираешь там клавишу F2, а в списке "Команда" указываешь cm_RenameOnly. Потом жмёшь кнопку с зелёной галочкой, OK, и всё.

Тот же самый эффект даёт внесение в wincmd.ini в раздел [Shortcuts] строчки F2=cm_RenameOnly.

По ответам форума forum.wincmd.ru


Кодировка в названиях папок и файлов

Q: Как можно поменять кодировку в названиях папок и файлов? Конкретно интересует koi8-r.

A: Установить в систему шрифт KOI-8 и выбрать его в настройках Тотала.

Константин Власов

A: Если же требуется действительно изменить кодировку, то нужно воспользоваться плагином translit.wdx (он умеет менять кодировку).

Павел Дубровский


Кодировка текста подсказки

Q: При наведении курсора мыши на файл в какой-либо из панелей, иногда всплывает окно с текстом подсказки - видимо что-то наподобие краткого описания. Очень часто этот текст, если он набран в кириллице, совершенно нечитаем. Как с этим можно справиться?

A: Конфигурация -> Настройка -> Операции -> галочка Кодировка DOS.

Константин Власов


Копирование в несколько папок одновременно

Q: Можно ли копировать в несколько папок? Типа: F5 - пишем E:\; F:\, он копирует туда и туда.

A: Нет, к сожалению. На днях обнаружил что тоже хочу такую фичу. Как вариант можно создать батничек, который будет копировать выбранный файл в нужные тебе заранее заготовленные папки.

Ergo


Копирование или перемещение при перетаскивании файлов

Q: Как мне указать, хочу я скопировать или переместить файлы при перетаскивании их мышью?

A: Обычное перетаскивание - копирование, удерживаем Shift - перемещение. Или, во время перетаскивания зажми правую кнопку мыши - эффект тот же.

По ответам форума forum.wincmd.ru


Копирование каталогов без копирования симлинков

Q: Нужно скопировать по сети каталог, не копируя символические ссылки, находящиеся в нём.

A: Можно создать поисковый шаблон, соответствующий всему, кроме симлинков (tc.Тип файла != Символическая ссылка), а потом использовать этот шаблон при копировании. При этом сами симлинки копироваться не будут, но файлы находящиеся "внутри" будут скопированы. Теоретически, можно написать WDX-плагин, который будет сообщать, есть ли в пути к файлу хоть одна символическая ссылка - его можно было бы использовать для данной задачи. Но мне такой плагин неизвестен.

Константин Власов


Копирование/перемещение в очереди по умолчанию

Q: При копировании можно нажать F2 и копируемые файлы выстраиваются в очередь. Как назначить такой способ копирования по умолчанию?

A: AlwaysCopyInBackground=2 (работает только начиная с TC 7.0)

Павел Дубровский


Копирование/перемещение файлов всегда в фоне

Q: Как TC заставить копировать/перемещать файлы всегда в фоновом режиме?

A: Для того чтобы копирование/перемещение всегда осуществлялось в фоне необходимо в wincmd.ini в разделе [Configuration] добавить строчки:

;для копирования
AlwaysCopyInBackground=1
;для перемещения
AlwaysRemoveInBackground=1

По материалам wincmd.ru


Копировать только заданные файлы

Q: Имеются 2 папки: С:/Dobro и D:/Dobro. Требуется скопировать из папки на диске D: в папку на диске C: ТОЛЬКО файлы с расширением .doc (а в этой папке куча файлов с разным расширением). Просто выделить только .doc файлы нельзя, так как в папке Dobro куча поддиректорий. Как можно решить такую задачу?

A: Способов множество. Самый быстрый: нажать Ctrl+B в папке D:\Dobro, и нажать Alt+Gray+ на любом файле с расширением .doc. После этого все выделенные файлы можно копировать в C:\Dobro

По ответам форума forum.wincmd.ru


Не закрывать консоль после выполнения команды

Q: После выполнения команды из командной строки Total Commander открывается консольное окошко. После отработки окно тут же закрывается и я не вижу результатов выполнения команды.

A: Для выполнения команды нажимайте не Enter, а Shift+Enter. Также у вас в директории Windows должен лежать файл noclose.pif. Его можно сделать самому или достать из дистрибутива Total Commander. Для этого войдите в дистрибутив Total Commander как в самораспаковывающийся архив по Ctrl+PgDn, найдите файл install.cab - noclose.pif будет лежать там в папке Windows.

Ergo

Также можно поискать программку NoClose Replacer, которая даёт кое-какие преимущества при работе с консолью.

Павел Дубровский


Не закрывать консоль, запущенную по кнопке

Q: Подскажите, если не трудно, параметры для кнопки, чтобы не закрывалось окно консоли после выполнения программы. Перетащил приложение на панель, кидаю на получившуюся кнопку файл из TC, видно, что он обрабатывается, но результат посмотреть не успеваю. При обычном запуске удерживаю shift, а вот как быть в данном случае - не пойму.

A: Перед командой нужно добавить

%ComSpec% /k

Evgenych


Ограничение количества каталогов в истории

Q: Интересует вопрос: как ограничить количество запоминаемых каталогов в истории? Или как отключить их вообще (соответствующая галка в настройках не помогает).

A: Можно воспользоваться ключом RedirectSection в ini-файле. Пропиши в секциях [LeftHistory] и [RightHistory] ключ RedirectSection=%COMMANDER_PATH%\не_существующий_путь\dir.ini. TC не сможет сохранить историю, соответсвенно получится то, что требуется.
Для ограничения количества можно указать существующий файл, но сделать его ReadOnly.

По материалам http://ghisler.ch/board/


Отключение миниатюр для папок

Q: Как в режиме миниатюр (Thumbnails) отключить отображение миниатюр для папок. Нужно, чтобы папки отображались в виде одной иконки (изображение желтой папки), а не в виде миниатюр графических файлов, которые находятся в этой папке. Сканирование папки на наличие графики и формирование миниатюры занимает много времени. Где можно настроить чтобы миниатюры формировались только для файлов а папки не трогались?

A: В версии 6.54 появился новый ключик - WmfAllowed. Хотя он и создан несколько для других целей, с его помощью можно решить эту задачу. Нужно выставить ему значение 1.

Константин Власов


Отключить контекстное меню

Q: Нужно заблокировать контекстное меню, появляющееся по нажатию правой кнопки мыши на файле.

A: Редактируем Wincmd.ini:

[Configuration]
RestrictInterface=16

Volniy


Открытие заданной папки в панели TC при запуске

Q: Как сделать так, чтобы при открытии Тотал сразу отображал определенную папку - например "Мой Компьютер" - т.е. как в Эксплорере?

A: В ярлыке запуска TC пишем:

Path_to_TC\Totalcmd.exe /L="C:\нужная папка в левой панели" /R="D:\нужная папка в правой панели"

/L= Устанавливает путь в левой панели.
/R= Устанавливает путь в правой панели.

Чтобы открыть виртуальную папку "Мой компьютер", пишем:

/L=::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
/R=::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

Другие виртуальные папки:

::{208D2C60-3AEA-1069-A2D7-08002B30309D} Сетевое окружение (My Network Places)
::{450D8FBA-AD25-11D0-98A8-0800361B1103} Мои документы (My Documents)
::{645FF040-5081-101B-9F08-00AA002F954E} Корзина (Recycle bin)
::{2227A280-3AEA-1069-A2DE-08002B30309D} Принтеры и факсы (Printers and faxes)
::{7007ACC7-3202-11D1-AAD2-00805FC1270E} Сетевые подключения (Network Connections)
::{D6277990-4C6A-11CF-8D87-00AA0060F5BF} Назначенные задания (Sheduled tasks)

По ответам форума forum.wincmd.ru


Открытие окна Explorer из TC

Q: Собственно, вопрос: в ранних версиях FAR можно было назначить макрос "Explorer ." на хоткей, чтобы активную папку из FAR открыть в Explorer'e. В поздних версиях это реализовали сразу. Есть ли возможность подобным образом (через клавиатурное сочетание) открыть активную папку Total Commander в Explorer'e?

A: Несколько вариантов:
1) Кнопка для тулбара:

TOTALCMD#BAR#DATA
explorer.exe
%P
explorer.exe,1
Открыть текущую папку в Explorer

-1

2) Можно создать пункт меню с командой explorer в меню.
3) Жмём правую кнопку мыши на каталоге - "Проводник".
4) Если в меню часто посещаемых каталогов писать команду не "cd путь", а просто "путь", то данный путь откроется в Проводнике.
5) Если при вводе с клавиатуры фокус переходит в командную строку, то очень просто "."+"Enter" или "\"+"Enter" откроют окно.

По ответам forum.wincmd.ru


Открытие файла из меню

Q: У меня возник один вопрос - как сделать, чтобы по нажатию пункта меню открывался заранее определённый файл? Т.е. какую команду необходимо повесить на этот пункт меню?

A: Первый вариант: подвесить запуск файла на пункт меню TC? "Запуск" - "Изменить меню запуск" - "Добавить" - вводим имя нового пункта - выбираем команду или файл (кнопка ">>"), применяем. В меню запуск появится новый пункт, вызывающий этот файл.
Второй вариант, более универсальный: в TC 7.0 создаём пользовательскую команду: "Настройка" - "Разное" - "Команда" (жмём значок лупы) - категория usercmd.ini - "Новая" - добавляем файл, аналогично предыдущему способу - сохраняем. Затем добавляем созданную пользовательскую команду в меню. Допустим, она у нас называется em_usercmd1, добавляем в mnu-файл вручную что-нибудь наподобие:

POPUP "Мой запуск"
MENUITEM "Запуск файла такого-то", em_usercmd1
END_POPUP

Все подробности редактирования mnu-файлов описаны здесь. Дерзай.

Павел Дубровский


Отображение длинных имён файлов

Q: Есть каталог, в котором у некоторых файлов очень длинные имена. Но всё равно хотелось бы добиться отображения списка файлов в "несколько столбцов"... например длинные имена обрезать и в конце дописать "...", а показывать полное имя только при наведении на него указателя (как в Эксплорере)?

A: wincmd.ini

[Configuration]
BriefViewWidthLimit=sets width limit (in pixels) for a column in brief view

Volniy


Отображение скрытых файлов по горячей клавише

Q: Как настроить отображение/скрытие скрытых файлов по хоткею?

A: Только скрытых и системных вместе. Клавиши по умолчанию нет, но есть команда cm_SwitchHidSys. Вешаешь на неё любую клавишу - и вуаля!

Константин Власов


Очистить "Корзину" из TC

Q: Нужно очистить Корзину из TC. Есть ли какой-то способ?

A: Первый способ: правая клавиша мыши на кнопке "F8 Удалить" - выбери "Очистить корзину".
Второй способ (если кнопки отключены): вешаешь на кнопку или пункт меню команду cm_OpenDesktop. Будет открываться "Рабочий стол", а оттуда есть доступ к Корзине. Либо пользоваться сторонними утилитами, коих навалом.

По ответам форума forum.wincmd.ru


Переименование без захвата расширения

Q: Как сделать, чтобы при переименовании файла не выделялось его расширение?

A: RenameSelOnlyName=1 в wincmd.ini
Если нажать Shift+F6 ("Переименование" по умолчанию) ещё раз - расширение тоже захватится. Ещё раз - опять будет выделено только имя.
Если на переименование поставлена другая клавиша, например F2 - она тоже будет работать.

По ответам форума forum.wincmd.ru


Переход в адресную/командную строки

Q: Подскажите, с помощью какой клавиши можно активировать строку адреса.
А также как быстро переместиться в командную строку?

A: Переместить курсор в командную строку можно:
1. Набрав какую-нибудь букву (если на это не повешен быстрый поиск). Эта буква сразу появится в командной строке.
2. Любым сочетанием клавиш, на которое предварительно повесишь команду cm_FocusCmdLine.
3. Вызвав историю командной строки (либо списком - Alt+F8, либо просто последнюю выполненную команду - Ctrl+E, Ctrl+вниз).
4. В любом режиме, кроме Краткого и Просмотра эскизов, можно нажать клавишу влево или вправо. Также (это уже в любом режиме) работают сочетания Shift+влево и Shift+вправо.

А под строкой адреса ты понимаешь заголовок панели? Если да, то сделать это можно тоже несколькими способами:
1. Нажать Home, Shift+F6 (когда курсор стоит на элементе [..], сочетание Shift+F6 вызывает редактирование пути в заголовке панели).
2. Повесить на любое сочетание клавиш команду cm_EditPath и пользоваться этим сочетанием.

Константин Власов


Переход в папку, открытую на другой панели, при выборе диска

Q: Переустановил Тотал и теперь не могу найти опцию, которая настраивает вот это: при выборе одинакового диска я хочу, чтобы та панель, на которой я выбираю диск, дублировала папку, которая открыта на другой панели. Сейчас у меня при выборе диска открывается корневой каталог.

A: wincmd.ini

[Configuration]
AlwaysToRoot=0

Если установлено в 1, Total Commander будет всегда переключаться на корневой каталог при смене дисков (подобно Проводнику Windows). Если 0 - будет переходить в папку, открытую на противоположной панели.

По ответам форума forum.wincmd.ru


Переход по пути в командной строке

Q: Набираю некий путь, хочу, чтобы открылась папка по данному пути. Вместо этого открывается Эксплорер. Как добиться, чтобы папка открывалась в ТС?

A: Перед всем этим хозяйством добавить три волшебных символа:
cd (третий волшебный символ - это пробел :)).

PS: Да, это всё только в том случае, разумеется, если ты набираешь путь в командной строке Тотала. А то мало ли...

Константин Власов


Подсветка последнего запущенного файла/открытой папки

Q: Кто-нибудь знает, как можно организовать выделение цветом последнего запущенного (открытого) файла/директории?

A: В версии Total Commander 6.5 во внутреннем контентном плагине появилась дата последнего обращения к файлу - по ней и следи и раскрашивай.

Ergo


Позиция командной строки

Q: У меня командная строка отступает от левой границы почти на пол-экрана. Можно ее запихать в начало?

A: Нет. Слева показывается путь. Длина неизменяемая.

Batya


Почему имена создаваемых папок переводятся в нижний регистр?

Q: Почему имена создаваемых папок переводятся в нижний регистр (кроме первого символа)?

A: Сними галочку Настройки -> Экран -> Имена формата 8.3 - в нижнем регистре.

Константин Власов


Разделители колонок

Q: Можно ли в TC разделить колонки визуально (вертикальными разделителями)?

A: При помощи настраиваемых колонок, можно сделать разделители колонок, как на скриншоте, ИМХО это удобно.

Для этого надо создать свой шаблон колонок, и между колонками добавить колонку с параметрами:
Заголовок: |
Ширина: 5
Выравнивание: ->
Содержимое поля: |

Удачи!

Splinter


Раздражающее окно подтверждения при копировании

Q: Подскажите пожалуйста, как отменить окно подтверждения, выскакивающее каждый раз при копировании файлов?
Я понимаю, что иногда оно оказывается полезным, но при обычном постоянном копировании начинает раздражать?

A: Варианты:
1) Использовать копирование через drag'n'drop.
2) Использовать скрипты.

По ответам форума forum.wincmd.ru


Размер комментариев к файлу

Q: Кто знает как увеличить размер комментариев к файлам по Ctrl+Z? А то бывает, что не весь текст помещается.

A: Открыть descript.ion в Блокноте (или чего там у вас стоит), исправить, сохранить, любоваться. У меня 800 символов показало. Больше, наверно, тоже покажет.

Моторокер


Размер окна TC при запуске

Q: Как сделать, чтобы при загрузке TC разворачивался на весь экран?

A: Разверни его на весь экран один раз вручную, после чего выбери пункт меню Конфигурация -> Запомнить позицию.

Константин Власов


Синхронизация по маске

Q: На днях столкнулся с проблемой: исходные коды хранятся в системе SubVersion (http://subversion.tigris.org/).
Это что-то типа CVS, VSS и прочих систем хранения версий файлов.
Короче, SubVersion в каждом каталоге, создает собственный каталог .svn, в котором может храниться множество собственных файлов.
В итоге, синхронизация каталогов в Total Commander'e, естественно, становится крайне неудобной.
Вопрос: есть ли способы решения проблемы?
Можно ли где-нибудь в настройках Тотала указать фильтр по имени каталогов?

A: В диалоге синхронизации в центре сверху есть поле для ввода маски файлов. Вводишь туда

*.* | .svn\

т.е. сравнивать все файлы, за исключением тех, которые находятся в подкаталогах .svn, и всё.

Константин Власов


Скрытие дисков

Q: Как скрыть в TC определённые локальные/сетевые диски?

A: wincmd.ini

[configuration]
Allowed=

Доступны только указанные диски -> ограничение доступа к дискам! Пример: Allowed=cde.
'\' означает 'Сетевое окружение'.

Русская справка Total Commander

A: Для подобных целей есть специальный ключ в реестре. К сожалению, он плохо документирован, упоминание о нём есть только в истории изменений.
Итак, в HKEY_CURRENT_USER\Software\Ghisler\Total Commander\configuration создаём строковое значение allowed. Этот ключ аналогичен ключу в ini-файле.
Значения ключей в реестре и в ini-файле комбинируются. К примеру, если в реестре указано ACDEF, а в ini-файле EFGH, то результирующее значение будет EF.

Christian Ghisler


Смена панелей при Ctrl+D

Q: У меня следующая проблема:
При смене панели по CTRL+D (например, правой) левая панель меняется. Иногда на корень текущего (для левой панели) диска. Иногда на произвольный каталог.

A: При добавлении избранных каталогов можно включать опцию "Сохранить также каталог назначения" - в этом случае будут сохранены каталоги на обеих панелях. Видимо, у тебя произошло именно это. Зайди в диалог настроек избранных каталогов и у нужных пунктов сотри путь в поле "Целевой каталог".

Константин Власов


Создание нескольких папок за раз

Q: Интересует, как в Тотале можно создать много папок одновременно, и чтоб они лежали в одном каталоге. Если вводить в диалоге по F7 "имя первой папки/имя второй папки/имя третьей папки" или "имя первой папки\имя второй папки\имя третьей папки" создаётся дерево папок, т.е. они вложены друг в друга...

A: Жми F7 и пиши там следующее: "Название папки|Название другой папки|Название третей папки".

Batya


Создание нового файла по клавиатурному сочетанию

Q: Хочу забиндить F8 на создание нового txt'шника в текущем каталоге. Как?

A: Добавить в меню Запуск BAT-файл, создающий новый TXT'шник, и повесить F8 на созданную команду.
%P указывается в Тотале, а %1 указывается в бат-файле, например так:
В Тотале создаешь (на тулбаре, в меню Запуск, или через пользовательскую команду) команду create_txt.bat с параметром %P, что означает текущий путь.
В файле create_txt.bat пишешь две строчки:

copy c:\Заготовки\NewTXT.txt %1

- что значит скопировать заготовку c:\Заготовки\NewTXT.txt в текущий каталог

c:\ppp\editor.exe %1NewTXT.txt

- открыть скопированный файл на редактирование.
А потом биндишь на F8 созданную команду.

По ответам форума forum.wincmd.ru


Создание новой вкладки с заданными параметрами

Q: Нужно, чтобы по нажатию хоткея создавалась новая вкладка с папкой "Program Files", а в ней автоматически включалась сортировка по дате. Как такое сделать?

A: Открываем новую вкладку. Переходим в Program Files. Устанавливаем сортировку по дате. Сохраняем вкладки в файл. Открываем этот файл и удаляем информацию о всех вкладках кроме нужной. А теперь вешаем горячую клавишу на команду "appendtabs c:\path_to_file\ProgrFiles.tab".

Митяй


Создание ярлыков

Q: Как проще всего создавать ярлыки? Например, в Эксплорере я перетаскивал файл/папку в нужную мне папку правой кнопкой, в выпадающем меню выбираю создание ярлыка.
Как такое реализовать в TC? Т.е. в одной панельке у меня файл, на который надо сделать ссылку, во второй - открыт каталог, в котором надо этот ярлык сделать ;)

A: Способы:
1) Ctrl+Shift+F5
2) Перетаскивание мышью с нажатыми Ctrl+Shift.
3) Перетаскивание правой кнопкой мыши.

По ответам форума forum.wincmd.ru


Сохранение и перенос комментариев

Q: Подскажите, как сохранить многочисленные комментарии к папкам, которых очень много, так как собираю софт. Нужно, чтобы при копировании софта, комментарий копировался вместе с ним.

A: Установки -- Операции -- Описания файлов -- (X) Копировать вместе с файлами.

Volniy


Убрать квадратные скобки вокруг имён каталогов

Q: Как убрать квадратные скобки вокруг имён каталогов?

A: wincmd.ini

[configuration]
;Показывать квадратные скобки вокруг имён каталогов (1/0).
DirBrackets=1

Русская справка Total Commander


Убрать стандартные всплывающие подсказки

Q: Как убрать стандартные системные хинты, с информацией о файле? У меня они дублируют инфу, выводящуюся wdx-плагинами...

A: wincmd.ini

[configuration]
olecomments=0

funduk


Удобный Drag'n'Drop мышкой

Q: Иногда требуется перетащить файлы из TC в другое приложение. TC, обычно, развёрнут на весь экран, и приходится сделать кучу движений (уменьшить размер и раздвинуть окна) чтобы совершить такую простую операцию. Как бы это обойти?

A: Хватаешь мышкой файлы и тащишь их на небольшое расстояние, чтобы активировать саму функцию Drag'n'Drop. Далее, не отпуская левую кнопку, жмёшь Alt+Tab несколько раз для переключения в нужное окно (чтобы оно вывелось на передний план), после этого продолжаешь тащить файлы в это окно, и уже там отпускаешь. Раньше надо было либо заранее сделать так, чтобы оба окна (Тотала и целевого приложения) были одновременно видны на экране, либо тащить на панель задач, к нужной кнопке приложения, держать там, пока приложение не активируется, и потом тащить уже в это окно. Трюк с Alt+Tab тоже работал, но очень плохо и далеко не всегда, а теперь работает вполне надёжно. Мне лично это особенно удобно, потому что Тотал всегда развёрнут на весь экран.

Константин Власов


Умная сортировка

Q: А как включить режим "умной" сортировки файлов с числовыми именами: 8,9,10,11 а не 10,11,8,9?

A: wincmd.ini

[configuration]
SortUpper=

0: Способ сортировки по умолчанию.
1: При сортировке файлы, начинающиеся с символа подчёркивания "_", размещать последними.
2: Использовать смешанную буквенно-цифровую сортировку, например, file10.txt идёт ПОСЛЕ file1.txt.
3: Как 2, но с использованием для сравнения функции StrCmpLogicalW. Чтобы такая сортировка работала, должен быть установлен IE 6.x!

По ответам форума forum.wincmd.ru


Хоткей для копирования пути к файлу

Q: Существует ли какое-нибудь сочетание клавиш для копирования в буфер пути к файлу под курсором?

A: Назначь горячую клавишу сам для команды cm_CopySrcPathToClip.

Batya


Дополнительные функции

Вопросы и ответы по добавлению, настройке и использованию дополнительных функций в TC:

· GMail Drive в TC
· Архивы и исполняемые файлы вверху
· Быстрая транслитерация текста
· Выпадающий список при нажатии кнопки в тулбаре
· Дата с точностью до секунды
· Дата создания файла вместо даты доступа
· Звуковые схемы для Total Commander
· Изменение даты создания файлов
· Имена файлов (или тэгов) - из кириллицы в латиницу
· Как написать свою команду cm_???
· Как сделать, чтобы размер папки показывался по умолчанию?
· Как скопировать дерево каталогов, не копируя самих файлов?
· Как создавать symlink и hardlink'и средствами TC?
· Как убрать/поставить звуковые сообщения?
· Как узнать владельца файла?
· Консоль в TC
· Копирование в nul
· Копирование заданных файлов с сохранением структуры каталогов
· Копирование файла с сохранением пути
· Копирование файла, на который указывает ярлык
· Можно ли добавить пункты в меню Alt+F1/F2?
· Несколько команд на кнопку
· Пакетная печать txt-файлов
· Переименование по маске как в FAR
· Переименование файлов при копировании
· Перенос файлов из плейлиста в МР3-плеер
· Плагин для просмотра логов
· Плагин для редактирования dbf-файлов
· Плагин для чтения RSS
· Плагины для записи CD
· Подключение плагинов от FAR
· Подсказки к кнопкам выбора дисков
· Подсветка каталогов не содержащих определённые файлы
· Привязка редакторов к расширению файла при редактировании по F4
· Просмотр DjVu
· Разбивка и сборка файлов
· Размер шрифта при просмотре файлов Word плагином ListDoc
· Раскодирование eml/mht/msg-файлов
· Систрей для TC
· Скачать файл через TC
· Скины и украшения для TC
· Соединение с КПК
· Создание ISO-образов
· Создание md5 и sfv хешей
· Список дисков с указанием свободного/занятого места
· Список каталогов в файл
· Удаление одного файла из множества архивов
· Установка прозрачности окна TC
· Цветовые схемы TC


GMail Drive в TC

Q: Как заставить TC работать с GMail Drive (если входить через виртуальную папку "Мой компьютер", то ничего не работает).

A: Можно попробовать следующий вариант:

1) Создаем ярлык на рабочем столе для GMail Drive.
2) Идем в Total Commander

3) Кликаем на звездочке над списком файлов - (1)
4) Жмем Configure - (2)
5) Видим окно:

6) Жмем Add Item - (1)
7) Вводим название - например GMail Drive. Вы, конечно, можете писать что хотите - (2)
8) OK. - (3)
9) Видим появилось GMail Drive (В моем случае) - (4)
10) Внизу, в поле Command, пишем: cd содержимое поля Target - (5)
содержимое поля Target берется из свойства ярлыка:

там будет что то вроде этого ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}::{2B3453E4-49DF-11D3-8229-0080BE509050}
11) поле Target оставляем пустым (6)
12) OK. - (7)
13) Жмем ту же звездочку видим там GMail Drive.
14) Жмем - работает.

nnm.ru

A: Существует также соответствующий плагин, который называется GmailFS for TC (http://www.smg.stopklatka.pl/buffy/gmailFS4TC.html), однако он находится, в стадии первичного бета-тестирования уже не первый год, и, судя по всему, выходить из этой стадии не собирается.

Павел Дубровский

A: В 2007 году появился плагин MAIL_WFX, который довольно хорошо поддерживает работу с GMail по POP/SMTP через SSL/TLS.

Павел Дубровский


Архивы и исполняемые файлы вверху

Q: Подскажите, возможно ли сделать так, чтобы архивы и исполняемые файлы отображались в панелях сразу после папок и перед всеми другими типами файлов, как это было в DN и есть во Фригате. Возможно есть такие настройки или какой-то плагин?

A: Поиграйся с http://wincmd.ru/plugring/wdx_global_diz.html
Проект я забросил за недостатком времени, но вроде бы и это всё работает.

Павел Дубровский

A: Ставим любой плагин для разбиения по группам, и сортируем в нём. Подробности - тут.

По ответам форума forum.wincmd.ru


Быстрая транслитерация текста

Q: Как в TC транслитерировать текстовые файлы? Я видел плагин Translit.wdx, но он, по-моему, может только имена файлов транслитерировать.

A: Скачиваем последнюю версию Translit.wdx, в инсталляционном архиве есть программка translit.exe. С её помощью можно транслитерировать текст по тем схемам, что есть у плагина. Проще всего сделать на панели кнопку:

Команда: c:\путь_до\translit.exe
Параметры: "%P%N" "%P%N.txt" "c:\путь_до_нужной_таблицы_кодировок\table.ttb"

При нажатии на кнопку, файл, на котором стоит курсор, будет транслитерирован по таблице table.ttb, а результат сохранён в файле с тем же именем, но с дополнительным расширением .txt
Все пути желательно заключать в кавычки.

Павел Дубровский


Выпадающий список при нажатии кнопки в тулбаре

Q: Хочу сделать кнопку, при нажатии на которую выпадает меню с моими пунктами.

A: TCMenu (ищем на wincmd.ru) делает такие кнопки.

Ещё есть прожка TCToolbar, которая позволяет сделать вот такой выпадающий тулбар:

Павел Дубровский


Дата с точностью до секунды

Q: Может кто-нибудь подскажет, как показать в колонке ДАТА время с точностью до секунды?

A: Создать новый набор колонок, в котором будет всё то же самое, что и в подробном режиме, но время - с секундами. Встроенный плагин (tc) позволяет это.

Константин Власов


Дата создания файла вместо даты доступа

Q: Как настроить вид "Подробный", чтобы в колонке "Дата" отображалась дата создания файла, а не дата доступа?

A: Создать свой новый набор колонок, полностью совпадающий с набором колонок режима "Подробный", только в колонке "Дата" вывести поле "Дата создания" из псевдо-плагина TC в нужном формате.

Константин Власов


Звуковые схемы для Total Commander

Q: Где в системе настраиваются и прописываются звуки для Total Commander?

A: В Total Commander: Конфигурация => Настройка => закладка Разное => Звуки => кнопка Настроить.
ИЛИ
Пуск => Настройка => Панель управления => Звуки и аудиоустройства => Звуки => скроллим вниз, находим Total Commander и настраиваем звуки на собственный вкус и цвет.

Colonel

A: В реестре всё хранится тут:
[HKCU\AppEvents\Schemes\Apps\Wincmd\] и подразделы.

Константин Власов


Изменение даты создания файлов

Q: Не подскажет ли кто-нибудь, возможно ли с помощью TC изменить дату создания файла и как? Команда Files -> Change Attributes меняет только дату модификации файла, которая и отображается в панели. Чтобы это проверить, достаточно посмотреть свойства любого файла по Alt+Enter. Там будут три даты и времени, и только одна доступна по Files -> Change Attributes. Если этого не может делать TC то, может быть, это делает какой-нибудь плагин? А если и такового не найдется, то с помощью какой программы это можно сделать?

A: В Тотале есть только возможность менять дату модификации и дату последнего обращения, причём только одну из них за раз. Переключение между ними - ключ AccessTime в wincmd.ini. Дату создания он менять не умеет, о плагинах таких я тоже не слышал. Насчёт программ - должны быть, ничего сложного там нет, но ничего конкретного сказать не могу (никогда не интересовался ими, не было нужды).

Константин Власов

A: В TC 7.0 такая возможность появилась. В том же диалоге изменения аттрибутов с помощью встроенного плагина tc меняем нужные атрибуты как хотим.

Павел Дубровский


Имена файлов (или тэгов) - из кириллицы в латиницу

Q: В машине МР3-плеер, который не поддерживает кириллицу. Т.е., чтобы было видно названия треков, нужно все имена файлов (или теги) переименовать латиницей. Музыку (которая наша) беру из архива, где все в кириллице. Что присоветуете, аксакалы?

A: Есть специальный контентный плагин для транслитерации имен файлов. Лежит здесь: http://wincmd.ru/plugring/Translit.html.
Используй через инструмент группового переименования. Может транслитерировать по тегу (но не сам тег).

Maximus


Как написать свою команду cm_???

Q: Как написать свою команду cm_???

A: Свою написать нельзя. Можно добавить какой-нибудь вызов в меню "Запуск", а потом обращаться к нему командами вида cm_UserMenuN, где N - порядковый номер команды в меню "Запуск". Подробнее - здесь.

Константин Власов

A: В TC 7.0 появилась возможность создавать пользовательские команды. Подробнее можно прочесть в этой статье.

Павел Дубровский


Как сделать, чтобы размер папки показывался по умолчанию?

Q: Как сделать, чтобы размер папки показывался по умолчанию?

A: Установить плагин "DirSizeCalc" и создать для него колонку.

Spine


Как скопировать дерево каталогов, не копируя самих файлов?

Q: Как скопировать дерево каталогов, не копируя самих файлов?

A: При копировании выставить маску |*.*
Недостатки: копируются файлы описаний (files.bbs, descript.ion). Лечится так: Ctrl+B, Ctrl+A, Del.

Павел Дубровский


Как создавать symlink и hardlink'и средствами TC?

Q: Как создавать symlink и hardlink'и средствами TC?

A: С помощью программы NTFS Links.

Константин Власов

A: Либо плагином CreateHardLink.

Павел Дубровский


Как убрать/поставить звуковые сообщения?

Q: Когда стираешь или копируешь файлы выдается дурацкое звуковое подтверждение. В настройках нигде не нашел ничего про это. Пытался устанавливать "тихую версию" (по названию автора). При установке убирал вообще звуковые схемы и все равно звук остается.
Версия 6.54 Power Pack 0.25 от SamLab.
HELP!!! Надоело слушать этот противный голос. Как вообще выключить все звуки?

A: Конфигурация - Разное - Звуки
1. Убери галку "При операциях, которые длятся более".
2. Нажми на кнопку "Настройка" и в разделе "Total Commander" (обычно в конце списка) выбери "Нет" для всех пунктов.

Maximus


Как узнать владельца файла?

Q: Хотелось бы в TC иметь такую же возможность как FAR (комбинация CTRL+8).

A: Для отдельных файлов есть команда cm_EditOwnerInfo=2202, вызывающая диалог, в котором отображён текущий владелец (также с помощью этого диалога можно сменить владельца на себя).
Если же надо для кучи файлов сразу, то это реализовано интерфейсом информационных плагинов (в частности, это может делать плагин ShellDetails). В этом случае всё будет практически так же, как FAR'е.

Константин Власов


Консоль в TC

Q: Как вызвать консоль в TC?

A: Варианты:
1) Плагин TConsole, открывающий консоль прямо в панели Тотала.
2) Просто набрать cmd (command в win 9x) в командной строке - откроется отдельное консольное окно.
3) Запускать программу или командную строку нажатием не Enter, а Shift+Enter - тогда результаты выполнения остаются на экране, консоль не закрывается. (Для устранения некоторых недостатков этого варианта лучше установить программку NoClose Replacer).
4) Сделать кнопку, или подвесить клавиатурное сочетание на cm_ExecuteDOS.
5) Плагин TotalConsole, добавляющий консоль в TC примерно таким же образом, как и в FAR.

По ответам форума forum.wincmd.ru


Копирование в nul

Q: В FAR есть такая удобная возможность, как копирование в nul. Т.е. файлы читаются, но реально никуда не пишутся, удобно для проверки читаемости компактов, например. Как в TC сделать то же самое?

A: В TC жмешь F5 на файле (выделенных файлах), в пути указываешь просто nul и все Если вдруг ругнётся, что на диске нет места, не смущайся и продолжай. Единственная засада, что нельзя директории в nul копировать. Как вариант - жмешь Ctrl + B, и список уже копируешь.

SUKER


Копирование заданных файлов с сохранением структуры каталогов

Q: Для синхронизации файлов на домашнем и служебном компьютерах удобно использовать поиск по дате. Но вот как скопировать найденные файлы так, чтобы структура их расположения на диске осталась неизменной?

A: Тебе поможет архиваторный плагин TreeCopyPlus.

Batya


Копирование файла с сохранением пути

Q: Есть файл, допустим c:\dir1\dir2\file.txt. Нужно скопировать его в каталог c:\dir3 вместе с путём, так, чтобы конечный путь имел вид c:\dir3\dir1\dir2\file1.txt.

A: Использовать плагин TreeCopyPlus.

Batya


Копирование файла, на который указывает ярлык

Q: Проблема: в одном месте на диске хранятся файлы. Во втором - выборочные ярлыки на эти файлы. Как переписать, положим на флэшку или еще куда именно файлы, а не ярлыки?

A: Код (vbs-скрипт):

==========================================================================
' Копирование файлов (в т.ч. файлов из ярлыков) из одной панели TC в другую
'
' В параметрах вызова из TC должно быть прописано:
' %L
'====================================================================

Dim TempFile, TCS, MyShell, FSO
Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1)
Set TCS = CreateObject("TCScript.Helper")
Set MyShell = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")

TCS.SendCommand(2030)
TrgPath = TCS.GetTextFromClip

Do While Not TempFile.AtEndOfStream
MyFile = TempFile.ReadLine
'----- Извлечение файла из ярлыка -----
If FSO.GetFile(MyFile).Type = "Shortcut" Then
MyFile = MyShell.CreateShortcut(MyFile).TargetPath
End If
'--------------------------------------
If Not FSO.FileExists(TrgPath & "\" & FSO.GetFile(MyFile).Name) Then
FSO.CopyFile MyFile, TrgPath & "\"
End If
Loop

Batya

Есть ещё один вариант: установить архиваторный плагин CopyLinkTarget и выполнять просто распаковку всех этих ярлыков в нужное место. ИМХО, достаточно удобный вариант.

Константин Власов


Можно ли добавить пункты в меню Alt+F1/F2?

Q: Можно ли добавить пункты в меню Alt+F1/F2?

A: Нет. Вместо этого (в зависимости от того, что ты хочешь туда добавить) есть всяческие плагины, появляющиеся при выборе Сетевого окружения, или же менюшка часто используемых каталогов (Ctrl+D), куда можно добавлять свои пункты. Также есть меню Запуск, куда можно пихать всё, что угодно и вешать на эти команды произвольные сочетания клавиш.

Константин Власов


Несколько команд на кнопку

Q: Можно ли на одну кнопку в TC повесить выполнение нескольких команд подряд?

A: Нет, на одну кнопку несколько команд повесить нельзя, помогут только BAT- и CMD-файлы, либо скрипты.

Константин Власов


Пакетная печать txt-файлов

Q: Возможна ли пакетная печать текстовых файлов из ТС? Такая печать возможна под Windows только одним способом: из проводника по правому клику. В этом случае используется блокнот с ключом /р, т.е. непосредственная печать на принтер по умолчанию.

A: Так нужно вызывать блокнот из TC по кнопке с тем же ключом.

Sam Dark


Переименование по маске как в FAR

Q: При переименовании в FAR'e можно было использовать, например, такую маску: check???????????" - в результате файл "abcd ef1.txt" был бы переименован в check ef1.txt", т.е. часть знаков ? использовалась бы для переименования расширения. Как реализовать такое?

A: Насколько мне известно, конкретно так, как ты написал, сделать нельзя. Есть инструмент группового переименования, в котором можно делать с именами и расширениями практически всё, что душе угодно - объединять их вместе, резать на куски, вставлять одно в середину другого...

Константин Власов


Переименование файлов при копировании

Q: Есть две папки, в которых все или некоторые файлы имеют одинаковые имена. При копировании из одной папки в другую нужно переименовать имеющиеся файлы, желательно - по настроенной маске.

A: Можно в диалоге копирования нажать кнопку "Опции", и выбрать в появившемся меню пункт "Автоматически переименовывать имеющиеся". Тогда к именам существующих файлов будут добавляться номера в скобках. Настроить маску нельзя, но в некоторых случаях всё же это лучше, чем ничего.

Константин Власов


Перенос файлов из плейлиста в МР3-плеер

Q: Вроде бы существует плагин для того, чтобы можно было быстро скопировать файлы указанные в плейлисте Winamp в плеер (или еще на какой диск). Подскажите!

A: Temporary Drive при закидывании в него m3u создаёт ссылки на файлы - потом оттуда уже копируем. Самое то.

Sam Dark


Плагин для просмотра логов

Q: Нужен плагин или программа, умеющая просматривать логи - постоянно обновляющиеся текстовые файлы.

A: Посмотри в сторону Logtail.wlx (медленно работает), или утилитки BareTail.

По ответам форума forum.wincmd.ru


Плагин для редактирования dbf-файлов

Q: Существует ли плагин, умеющий просматривать dbf-файлы (а в идеале - и редактировать)?

A: xBaseView. Умеет всё, что можно уметь.

По ответам форума forum.wincmd.ru


Плагин для чтения RSS

Q: Есть ли возможность через TC читать RSS-новости?

A: FS-plugin для чтения RSS лент. Поддерживает только формат 2.0. Сохраняет ленты для просмотра в оффлайн.

MiDoS


Плагины для записи CD

Q: Есть ли у TC плагины для записи CD/DVD?

A: Есть.
1) CD/DVD Burner (он же TCBurner). Бесплатный, многофункциональный и очень удобный, но есть проблемы при создании мультисессионных болванок (в частности, запарывает болванку, если в добавляемой сессии есть файлы с русскими именами).
2) Complex CD. Платный и не столь удобный и функциональный, но, вроде, без проблем пишет всё.
3) Neropanel. Бесплатный, но требует установленного Nero. Функционал, собственно, такой же, как у Nero.
Подробнее тут.

Павел Дубровский


Подключение плагинов от FAR

Q: Есть плагин XXX для FAR-а, который я хочу установить в Total Commander. Говорят есть специальный плагин для Total Commander, который подключает плагины FARа?

A: Да, есть такой плагин - Far2wc, но он может подключать только архиваторные плагины FARа, среди которых, к сожалению, не так уж и много полезных. А если таковые и есть, то наверняка существуют аналогичные по функциональности плагины для Total Commander.

Ergo


Подсказки к кнопкам выбора дисков

Q: На чужой машине увидел, что подсказки к кнопкам дисков в TC отличаются от меток дисков. Это как так?

A: В wincmd.ini есть интересный раздел [drivehints]. Вот в нём-то и прописано то, что TC выводит, в качестве этих подсказок, например:

[drivehints]
A=Плоховод
B=Призрак плоховода
С=Тут живёт Windows
Z=Наверняка это флешка

Павел Дубровский


Подсветка каталогов не содержащих определённые файлы

Q: Задача состоит в следующем: нужно каким-либо образом подсвечивать на панели каталоги, в которых среди всех файлов нет ни одного с расширением .sfv (или любым другим произвольным расширением). Как "подсвечивать" папки - я знаю. Проблема в том, что не пойму как "отловить" такие папки.

A: Используем Script Content Plugin. Т.к. плагин может возвращать только одно поле, если ранее этот плагин использовался, копируем папку с плагином и переименовываем в новой папке wdx. Подключаем новый wdx.
Редактируем script.ini:

[Script]
Section=File presence in folder

[File presence in folder]
Script=FilePresence.vbs
LongName=1
ParseDirs=1

В каталоге плагина должен лежать FilePresence.vbs:

Dim FSO, Ext
'==============================
Ext = "zip"
'==============================
Set FSO = CreateObject("Scripting.FileSystemObject")
content = 0
If FSO.FolderExists(FileName) Then
  Dim Fold, F
  Set Fold = FSO.GetFolder(Filename)
  For Each F In Fold.Files
    If LCase(FSO.GetExtensionName(F)) = LCase(Ext) Then
      content = 1
      Exit For
    End If
  Next
End If

Здесь надо переменной Ext задать нужное значение. Соответственно, плагин для папки будет возвращать 0, если в ней нет файлов с расширением, заданным перенноой Ext. Если в папке такие файлы есть, возвращается 1. Для файлов всегда возвращается 0.

Batya


Привязка редакторов к расширению файла при редактировании по F4

Q: Можно ли по F4 вызывать разные программы для редактирования файлов в зависимости от их расширения?
Для F3 в настройках есть такая возможность, а для F4 я не нашел...

A: См. на wincmd.ru утилиты ChoiceEditor (к сожалению, больше не развивается) и Open File Shell For TC.

Константин Власов


Просмотр DjVu

Q: Всем привет! Может кто знает где взять плагин для просмотра файлов в формате DjVu?

A: IEView будет смотреть DjVu если в системе установлен DjVu-плагин для IE.

Павел Дубровский

A: Если нужный плагин так и не найдется, можно использовать связку: программа для просмотра DjVu + ChoiceEditor, Open File Shell For TC или Lister-плагин AppLoader

StrangeRRor


Разбивка и сборка файлов

Q: Как мне разбить файл на несколько частей, а потом собрать? А то надо на старую машину кое-что перетащить, а там - только флоппик...

A: Обычно в меню "Файл" есть пункты "Разбить файл..."/"Собрать файлы...". Если их не оказалось, то можно использовать команды cm_Split/cm_Combine соответственно.
При разбивке файла можно выбрать один из стандартных размеров для частей, либо вписать свой. В противоположной панели появятся файлы с именами "имя_разбиваемого_файла.001", "имя_разбиваемого_файла.002" и т.д.. а также файлик "имя_разбиваемого_файла.crc". Запуск этого crc-файла в TC вызовет автоматическую сборку файла из частей. Для сборки также можно также выделить файла "имя_разбиваемого_файла.001", и выбрать "Собрать файл...".

Павел Дубровский


Размер шрифта при просмотре файлов Word плагином ListDoc

Q: Никто не знает - можно ли менять размер шрифта при просмотре файлов Word плагином ListDoc?

A: Размер шрифта - ctrl+колесо мыши вверх.

funduk


Раскодирование eml/mht/msg-файлов

Q: Буду очень благодарен (а может быть уже кто-то и сотворил эту фишку) человеку, который сделает возможным входить в почтовые файлы (например *.eml) как в архивы, и извлекать из них вложения (аттачи).

A: Поблагодари тогда Гислера :)
Файл -> Декодировать (Mime, UUE...)

То же работает для MHT/MSG файлов, и других Base64-кодированных файлов.

По ответам форума forum.wincmd.ru


Систрей для TC

Q: Хочу плагин систрея в TC! Чтобы не пользоваться Эксплорером вообще!

A: Хоти дальше, такой плагин пока никто делать не собирается, да и нереально полноценный трей плагином сделать. Ищи стороннюю прогу, они существуют.

По ответам форума forum.wincmd.ru


Скачать файл через TC

Q: Очень часто качаю множество файлов из Интернета, причем много разновидностей (драйвера, программы (в основном мелкие), программы для PocketPC и т.д.), разумеется все это у меня разложено по каталогам. Очень сильно достает пользоваться стандартным диалогом сохранения файла в Explorer (Maxthon), часто прыгаю из одного каталога в другой, а они ещё и разветвленные по рубрикам... А диалог сохранения FlashGet, например, считаю для себя ещё более неудобным, и пользуюсь им только тогда, когда тяну что-то большое, больше двух-трех мегабайт.
Так вот, часто бывает на странице просто ссылка. И, в идеале, хотелось бы получить возможность просто брать эту ссылку, и простым перетаскиванием тащить её в открытый Total Commander, чтобы сразу сохранить в нужную папку.
Подскажите, плз, как это настроить?

A: Единственное, что приходит пока на ум: правый клик на ссылке -> Copy Shortcut, после этого в Тотале нажать Ctrl+N и, вставив скопированную ссылку, нажать Enter. Тотал предложит ввести имя локального файла, подставив по умолчанию текущий каталог, и файл будет закачан.

Константин Власов


Скины и украшения для TC

Q: Поддерживает ли TC скины? Можно ли поставить картинку на задний фон? Можно раскрасить разные элементы интерфейса в разные цвета?

A: Нет, нет и нет. Скины не нужны в рабочей программе (хотя никто не запрещает использовать стили XP или WindowsBlinds и подобные программы).
Картинка на заднем фоне, конечно, иногда была бы приятна, но автор TC придерживается мнения, что это лишнее.
Элементы интерфейса также отдельно не раскрашиваются. Total Commander - всё-таки рабочее приложение а не разноцветный попугай. Подсветка цветом возможна только для файлов на панелях - для удобства навигации.

Единственное "украшательство", которое поддерживает TC - это различные наборы иконок для файлов и дисков. Как их установить подробно описано здесь.

Павел Дубровский


Соединение с КПК

Q: Возможно ли соединение с КПК через TC?
Само устройство TC показывает в окне "Мой компьютер", но, когда я открываю его, никаких файлов не показывается.

A: Если соединяешься через ActiveSync, то надо поставить плагин WinCE.

Константин Власов


Создание ISO-образов

Q: Есть ли плагин для создания ISO-образов дисков?

A: Можно прикрутить сторонние программы, а можно и плагином. Файлсистемный плагин TCBurner умеет сохранять свои проекты в ISO.

По ответам форума forum.wincmd.ru


Создание md5 и sfv хешей

Q: Есть ли возможность сделать кнопку или прикрутить на горячую клавишу создание md5 или sfv?

A: Без проблем! Вешаешь на нужную кнопку команду cm_CRCcreate.

Константин Власов


Список дисков с указанием свободного/занятого места

Q: Подскажите, как в ТС получить список дисков с указанием свободного/занятого места? В FAR просто нажимаешь Alt+F1...

A: Перейти в виртуальную папку "Мой компьютер" (команда cm_OpenDrives).

Константин Власов


Список каталогов в файл

Q: Как можно сохранить в файл список каталогов с размерами и количеством файлов в файл?

A: http://wincmd.ru/plugring/diskdir_extended.html
http://wincmd.ru/plugring/discmaker.html
http://wincmd.ru/plugring/catalogmaker.html

Выбирай на вкус. Ну на худой конец, посмотри консольную команду dir :)

Павел Дубровский


Удаление одного файла из множества архивов

Q: У меня во всех RAR завелся вирус (файлов около тысячи). Поиском по определенному размеру я их нахожу, но не могу вывести файлы на панель а потом удалить, т.к. файлы в архивах. Вопрос: как удалить файл из архивов?

A: Алгоритм примерно следующий: в окне поиска жмём CTRL+C, вставляем скопированные строки в текстовый редактор, затем автозаменой приводим строки вида
d:\1.rar\JhBGg.exe
к виду
winrar d "d:\1.rar" JhBGg.exe
сохраняем полученный файл как 1.bat, и запускаем.

leomaks


Установка прозрачности окна TC

Q: Можно ли в ТС поля, где отображаются директории, сделать прозрачными, так чтобы виден был десктоп?

A: Нет, прозрачного цвета в TC нет. Можно воспользоваться сторонними решениями, для изменения прозрачности окна TC целиком, например плагином TipTop.

По ответам форума forum.wincmd.ru


Цветовые схемы TC

Q: Вот я и перешел с Dos Navigator на Total, и сразу вопрос: можно как нибудь воткнуть его цветовую схему на Тотал? Спрашиваю потому как в Фаре была такая фича.

A: Ручками, ручками... Или есть такая схема, скажем, в утилитке Aezay TC Color Presets.

PKS


Закладки

Вопросы, связанные с использованием закладок панелей:

· Блокированная закладка - как корневой каталог?
· Принцип перетаскивания вкладок
· Размножающиеся закладки


Блокированная закладка - как корневой каталог?

Q: Неудобно, когда папки нижнего уровня в закладке открываются в отдельных закладках.
Лучше бы закладка воспринималась как отдельная ветвь системы каталогов. И хочется, чтобы переход к ней из нижнего уровня можно было осуществить нажатием Ctrl+\, а переход в корневой каталог диска был по двойному нажатию Ctrl+\.

A: Частично заблокированные вкладки, появившиеся в версии 6.5 - почти в точности то, о чём ты говоришь.

Константин Власов


Принцип перетаскивания вкладок

Q: Какой принцип действует при перетаскивании вкладок?

A: Перетаскиваемая вкладка размещается слева от вкладки, на которую она была перетащена, если перетаскивание было завершено на левой части вкладки, и справа - если на правой. Я представлял себе другое поведение (думал, что вкладка при перетаскивании должна замещать вкладку, на которую она была перетащена) и оно мне казалось более логичным.

Maximus


Размножающиеся закладки

Q: Сделал ряд заблокированных вкладок на папки. Но при каждом заходе в новую папку автоматически появляется вкладка на эту папку, в результате их число постоянно растет. Нельзя ли сделать так, чтобы новые вкладки самопроизвольно не появлялись, а отображались только заблокированные?

A: Делай их не блокированными, а частично блокированными (Заблокировать с возможностью смены каталога).

Константин Власов


Проблемы в работе

Проблемы, возникающие при работе с TC:

· TC долго входит в каталог
· TC запускается очень долго
· Total зависает, если вынуть диск из CD-Rom
· Windows Vista, TC и UAC
· В Thumbnails view не просматриваются psd файлы
· Долго создаётся/удаляется папка
· Исчезли кнопки дисков
· Исчезнувшие всплывающие подсказки к файлам
· Конфликт схем подсветок
· Копирование кириллических символов в буфер обмена
· Медленная работа с Thumbnails
· Медленное копирование на USB Flash накопители
· Медленное удаление файлов
· Не изменяется вид кнопок (плоские/объёмные)
· Не отображаются ассоциированные иконки
· Не подключается файл меню
· Не проигрываются настроенные звуки
· Не работает Alt+F5
· Не работает сравнение файлов (каталогов)
· Не работают команды cm_GotoDrive
· Не снимается атрибут "только для чтения"
· Неменяющиеся значки папок
· Ошибка запуска ярлыков
· Перестаёт работать Tab
· Перестало работать сочетание клавиш XYZ
· Поведение по Alt+Tab
· Под Windows Vista пропали иконки
· Пробелы в имени
· Проблема доступа к файлам с кириллицей в названии
· Проблема с комментариями файлов
· Проблема сверхдлинных имён файлов на FAT32
· Проблема удаления файлов после просмотра
· Проблемы с локалью
· Проблемы с прокруткой списка
· Сообщение о вирусе
· Функции, требующие прав администратора


TC долго входит в каталог

Q: В каталоге очень много файлов (сохраненный форум со всеми страницами и картинками). При заходе в этот каталог TC долго "думает". При прокрутке файлов думает не меньше. Можно ли облегчить серфинг по таким каталогам?

A: Есть маленькая хитрость: при входе в такой каталог можно нажать Esc, и ТС перестанет читать информацию о каталоге. Естественно, провести часть операций будет невозможно.

Вахмурка


TC запускается очень долго

Q: Total Commander запускается очень долго (около минуты).

A: Вероятнее всего эта проблема вызвана антивирусным монитором. Totalcmd.exe сжат специальной программой упаковки исполняемых файлов. Многие антивирусные мониторы следят за запуском каждой программы, что может занимать много времени для программ, сжатых подобным образом.
Решение: Исключите totalcmd.exe из списка проверяемых программ - Total Commander содержит встроенную антивирусную защиту. Мы также можем предложить незапакованную версию Total Commander зарегистрированным пользователям, если вы не можете отключить антивирусное слежение за totalcmd.exe в вашей компании (эта версия доступна на официальном сайте программы).

Christian Ghisler

A: Также можно исключить из списка проверки файлы настроек TC (wincmd.ini, wcx_ftp.ini). В некоторых случаях это также решает проблему.

Константин Власов


Total зависает, если вынуть диск из CD-ROM

Q: Такая проблема: Total зависает намертво если вынуть диск из CD-ROM. Например, если просмотрел содержимое диска и вынул его, то Тотал виснет так, что приходится перегружать сеанс как минимум. Через диспетчер программ процесс не убить. На другой ОС этот же TC таких вещей не делал. В проводнике таких эффектов не наблюдается.

A: Судя по всему - хронические глюки некоторых приводов. В подобных случаях, другие программы ведут себя аналогично - проверено на личном опыте.
Впрочем, иногда помогает установка опции DriveisCD=буква_привода в секции [configuration] файла wincmd.ini

Павел Дубровский


Windows Vista, TC и UAC

Q: Windows Vista с включённым UAC каждый раз при "подозрительных" действиях TC выдаёт запрос. Как от него избавиться, оставив UAC включённым?

A: Нужно для totalcmd.exe открыть Свойства ==> Совместимость ==> Уровень прав, и поставить галку, что программа выполняется от имени администратора. Единственное неудобство, что Vista один раз запросит подтверждение на это при запуске Тотала, зато потом можно делать любые файловые операции без подтверждения! Например, свирепствовать в папке Program Files или аж самой Windows!

Старый Ворчун


В Thumbnails view не просматриваются psd файлы

Q: Столкнулся с такой проблемой. В Thumbnails view не просматриваются psd файлы. Это у меня так, или нет поддержки в TC?

A: Поддержка есть. Если не работает с плагинами (конкретно, imagine глючит с psd), можно включить поддержку тамбов от irfan/xnview и прописать в строчке справа *.psd. Либо использовать SGViewer - он корректно отображает psd любых версий.

По ответам форума forum.wincmd.ru


Долго создаётся/удаляется папка

Q: При создании или удалении папки TC "подвисает" на некоторое время. Как лечить?

A: Есть такой файл treeinfo.wc (в корне диска или по параметру wincmd.ini treefilelocation).
При создании/удалении папки - он сразу модифицируется и, если на диске немеряно папок - это занимает время.
Этот файл создаётся, если хотя бы раз построить дерево каталогов в TC.

Dimych


Исчезли кнопки дисков

Q: Total Commander перестал показывать на панели кнопки дисков CD-ROM и CD-RW. Показывает только локальный диск C и сетевое окружение. Если в любой из приводов вставить диск и через меню "Системные папки" - "Мой компьютер" - и (например диск Е:) попытаться просмотреть его содержимое, это тоже невозможно, приводов как будто и нету. Подскажите, как исправить положение?

A: В таких случаях первое, что надо делать, проверять, работает ли то же самое в самой винде. Если в ней точно такой же глюк, значит, проблема не в Тотале, а в системе. Если глюка нет, надо разбираться в настройках Тотала. Проверь, не прописан ли в wincmd.ini ключик Allowed, если прописан - то удали.

Константин Власов


Исчезнувшие всплывающие подсказки к файлам

Q: После обновления версии куда-то исчезли всплывающие подсказки с описанием (тип файла, инфа из тегов и т.д.), появляющиеся при наведении мыши. Подскажите, где засада.

A: wincmd.ini

[Configuration]
Win32TipWindows=0

Отображать всплывающие подсказки в стиле Win32 (смещаются ниже и правее указателя мыши) (1/0). Также позволяет использовать в подсказках для разных типов файлов дополнительные поля данных, используемые информационными плагинами (например, в специфических подсказках для файлов *.jpg или *.mp3).

FileTipWindows=0

Показывать всплывающие подсказки с полным именем для тех имён файлов, которые слишком длинны, чтобы отображаться целиком в 'подробном' режиме представления (только в 32-битной версии) (1/0).

Русская справка Total Commander.


Конфликт схем подсветок

Q: Возникли проблемы с использованием схем подсветок:
Например файлы выделяются цветом для условий
-Не старше 3 дней
-Не старше 1 дня
-Не старше 1 часа
Сделал новое условие - Не старше 20 минут, настроил по аналогии с существующими профилями. Выделение цветом по этому условию не срабатывает. Почему?

A: Они имеют приоритет. Которая подсветка выше в списке, та и срабатывает. Сортировка перетаскиванием.

funduk


Копирование кириллических символов в буфер обмена

Q: При сохранении имен файлов/каталогов с кириллицей в имени, в буфер обмена с раздела на NTFS под W2K Rus имена сохраняются в Unicode, соответственно при последующей вставке в приложения/элементы управления GUI, некорректно работающих с Unicode имеем знаки "?" вместо кириллицы. В версии 5.51 такой проблемы нет (из Unicode переконвертируется в ANSI при сохранении в буфер средствами самого ТС, видимо). Как пофиксить кто-нибудь знает?

A: Попробуй запихать нижеследующее в REG-файл и импортнуть в реестр, а потом перезагрузить комп:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1252"="c_1251.nls"

Константин Власов

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


Медленная работа с Thumbnails

Q: Так вот, при выборе режима просмотра Thumbnails, превьюшки появляются через ну очень продолжительное время, минут через 5. На маломощный комп грешить не приходится - Athlon 2500+@3200+, проц при этом тоже совсем ничем не занят. Не пойму в чем дело?

A: Попробуйте правый клик по файлу/папке -> перезагрузить выбранные эскизы. Иногда помогает.

Johny

A: Также может помочь чистка базы данных эскизов (Настройки->Эскизы->Сжать базу данных). Ещё может быть, что это шалит твой антивирус.

Павел Дубровский


Медленное копирование на USB Flash накопители

Q: Процесс копирования файлов на флешки в Total Commander происходит очень медленно. Почему и как лечить?

A: Ответы на все вопросы находятся вот в этой статье.

Павел Дубровский

Q: Происходит следующее:
При копировании в TC на (с него) внешний жесткий USB диск портятся файлы. Компьютеры разные, внешние диски тоже.
При копировании средствами самой системы (XP Pro) такого не происходит.

A: Для этих дисков режим совместимости надо выставить:
Configuration -> Options-> Copy/Delete -> галку на "Use compatibility mode for the following drives" -> вписать имена дисков в следующем поле.

Почему это так, написано здесь.

Leshiy


Медленное удаление файлов

Q: Почему удаление файлов происходит очень медленно на Windows 2000?

A: Это случается, если вы отключили удаление в корзину на Рабочем столе, но не отключили его в Total Commander. Решение: Отключите удаление в корзину в Total Commander (Configuration - Copy/Delete - F8/Del deletes to recycle bin (Shift=directly)), или сделайте удаление в Total Commander через Проводник (там же - Use Explorer delete method (faster, cannot handle comments)).

Christian Ghisler


Не изменяется вид кнопок (плоские/объёмные)

Q: Ставлю в настройках TC плоские кнопки для дисков, а они все равно остаются прежними (не плоскими)!

A: Если стиль XP включён, то всё нормально. Эта опция действует только если отключён XP-стиль (WantXPLook=0 в wincmd.ini).

Константин Власов


Не отображаются ассоциированные иконки

Q: Вдруг ни с того, ни с сего перестали отображаться иконки для файла формата <someformat>. В "Проводнике" всё нормально.

A: В TC есть команда "Открыть с помощью", выбираешь формат <someformat>, выбираешь приложение, которое открывает <someformat>, нажимаешь "Изменить" и выбираешь значок, который тебе нужен.

По ответам форума forum.wincmd.ru


Не подключается файл меню

Q: В TC 7.0 не подключается файл меню. Ставится руссификатор, но его меню не работает. Коммандер запускается с дефолтным английским!
Этот же конфиг (на флешке) за другой машиной нормально работает.

A: Верни на место невинно убиенный файл totalcmd.inc.
Блин, почему так много народу вместо того, чтобы читать ридми, пытаются додумывать сами, что нужно, а что ненужно?.. Ведь далеко не первый случай...

Константин Власов


Не проигрываются настроенные звуки

Q: На определённое действие назначено проигрывание звукового файла. Но звука нет. В чём проблема?

A: TC играет звуки только для тех операций, которые длятся дольше, чем это выставлено в настройках. Выставь параметр "Звуки, при операциях, длящихся более:" в 0, тогда сигнал будет подаваться в любом случае.

По ответам forum.wincmd.ru


Не работает Alt+F5

Q: Заметил интересный глюк - при упаковке файла/каталога через Alt+F5 начинает мерцать монитор, упаковка же не работает. Что скажете?

A: Выруби в настройках ATi-шного драйвера горячие клавиши.

Константин Власов


Не работает сравнение файлов (каталогов)

Q: Не знаю после чего это произошло, но факт в том, что при нажатии на "сравнить по содержимому" из колонок доносится звук ошибки!!!
В чем дело? Кто-нибудь сталкивался с такой проблемой?

A: У тебя 6.52? В этой версии если в противоположной панели нет файла с таким же именем, возникал звук ошибки. В 6.53 открывается сравнение по содержимому, где не выбран второй файл.
Чтобы все работало нормально, убедись, что при сравнении в обеих панелях файлы имеют одинаковые имена, или выделяй их (если имена разные).

Batya


Не работают команды cm_GotoDrive

Q: Не работают следующие комбинации клавиш:

Есть несколько дисков. C, D, E, F - локальные, S, W, Y, Z - сетевые. Назначаю им комбинации клавиш (Shift + буква):

S+C=cm_GotoDriveC
S+D=cm_GotoDriveD
S+F=cm_GotoDriveF
S+S=cm_GotoDriveS
S+W=cm_GotoDriveW
S+Y=cm_GotoDriveY
S+Z=cm_GotoDriveZ

Все локальные и диск Z - работают. Остальные - нет, при нажатии появляется маленькое окошко поиска файла.

A: У тебя, скорее всего, русификация от Константина Власова и Вадима Казакова. Так вот в ней, в файле totalcmd.inc, прописано:

cm_GotoDriveA=2061;Переключиться на диск A
cm_GotoDriveC=2063;Переключиться на диск C
cm_GotoDriveD=2064;Переключиться на диск D
cm_GotoDriveE=2065;Переключиться на диск E
cm_GotoDriveF=2066;(и т.д. до диска Z, добавьте нужные команды
cm_GotoDriveZ=2086; сами, если вам требуется большее число дисков)

Т.е. тебе нужно вручную добавить строки:

cm_GotoDriveW=2084
cm_GotoDriveY=2085

Для диска S сам посчитай цифирку. Всё будет работать.

Павел Дубровский


Не снимается атрибут "только для чтения"

Q: В Тотале при копировании с CD, с файлов не снимается атрибут "только для чтения". В Wincmd.ini - строка DriveIsCD=K - есть.

A: Проверь, не включён ли у тебя для этого диска режим совместимости. Также должен быть выключен пункт "Выполнять копирование/вставку Проводником".

Константин Власов


Неменяющиеся значки папок

Q: Встает вопрос, как сделать так, чтобы в TC не отображались стандартные значки для папок. Я использую собственную библиотеку с измененными значками, но папки типа "Program Files" отображаются также, как в Explorer. Что нужно сделать чтобы все было ровно?

A: Снять с этих папок атрибут read-only.

Константин Власов

A: Всё проще, добавь в wincmd.ini

[Configuration]
IconsSpecialFolders=2

или в TweakTC - Значки убери птицу - показывать значки для специальных папок -> локально.

signalman


Ошибка запуска ярлыков

Q: Возникли проблемы с запуском программ через ярлыки. Вне Коммандера все нормально. А вот в нем: при попытке запустить (жму Enter или дважды щелкаю левой кнопкой мыши) выскакивает окошко "Программа не запускается". С чем это может быть связано?

A: Ты использовал твикер для убирания стрелочек с ярлыков? Если да, то "вертай взад", это плохой твикер Многие твикеры убирают стрелочки путём удаления параметра IsShortcut в реестре (да и вручную так можно делать), но побочным эффектом этого являются такие вот глюки, как незапускающиеся ярлыки. Рекомендуется скачать с сайта Microsoft утилиту TweakUI и убрать стрелочки с её помощью: в этом случае параметр IsShortcut остаётся на месте, просто значок стрелочки заменяется пустой прозрачной картинкой, в результате чего и стрелочек нет, и ярлыки нормально работают.

Константин Власов


Перестаёт работать Tab

Q: Включаю ТК, некоторое время он работает нормально, но потом отказывается переключаться между панелями по Tab, а также переименовывать файлы. Помогает только перезапуск. Как поправить?

A: Такое бывает, если открыть Lister, а в нём какое-нибудь модальное окно. Когда это окно закроешь, клавиши снова начинают работать, перезапуск не требуется.

Константин Власов


Перестало работать сочетание клавиш XYZ

Q: У меня перестало работать сочетание клавиш XYZ.

A: Возможны три причины. Первая - вы сами переназначили это сочетание клавиш на другое действие в Total Commander. Проверьте секцию [Shortcuts] wincmd.ini и удалите ошибочно назначенные шорткаты. Вторая - вы назначили это сочетание клавиш на какое-то другое действие во внешней программе, перехватывающей все нажатия клавиш первой. Это могут быть самые разные программы, пытающиеся повесить выполнение своих функций на горячие клавиши (с вашим или без вашего участия). В первую очередь проверьте HotKey-менеджер, если он у вас установлен. Третья причина - самая редкая. С выходом новой версии автор Total Commander сам переназначил сочетание клавиш на другую функцию. Например, в Total Commander 6.0 горячие клавиши Ctrl+T (T - Tab) открывают новую вкладку, а не групповое переименование файлов, перенесенное на Ctrl+M (M - Multirename).

Ergo


Поведение по Alt+Tab

Q: Почему при переключении на окно TC по Alt+Tab иногда приходится дополнительно нажимать Enter?

A: Выдержка из справки:

При сворачивании Total Commander его значок исчезает из панели задач. Вместо этого значок появляется в небольшой системной области в панели задач около часов. Щелчок на этом значке вернёт Total Commander обратно.
Внимание: Вы можете переключаться в Total Commander с помощью Alt+Tab, даже если он свёрнут в системный трей (что обычно НЕВОЗМОЖНО). Однако под WinNT, чтобы восстановить окно Total Commander, вам нужно будет нажать Enter после отпускания клавиши Alt.

Maximus

Q: Когда ТК свёрнут в трей и я нажимаю Alt+Tab для перехода к другому открытому окну - в списке постоянно появляется ТК, что очень мешает.
Другие свёрнутые в трей программы (Texter2, The Bat и т.п.) никогда в этом списке не вылезают.
Как сделать так, чтобы свёрнутый в трей ТК не появлялся в списке пролистываемых открытых окон?

A: Никак. Это сделано для большего удобства, и встроенными средствами не отключается. Впрочем, можно использовать сторонние программы, вроде RBTray или AllToTray.

По ответам forum.wincmd.ru


Под Windows Vista пропали иконки

Q: После установки TC под Vista нет многих иконок в панели инструментов. Есть ли какая-нибудь возможность, не настраивая каждую икноку в отдельности, оптом их обновить?

A: Установить одну из последних версий Тотала (6.56+), где 16-битная библиотека значков (более неподдерживаемая в Висте) была заменена 32-битной. После этого нужно будет обновить панель: зайти в её настройки и, ничего не меняя, нажать OK.

Константин Власов


Пробелы в имени

Q: Почему, когда я передаю в кнопке или меню имя файла через переменные %P, %T и другие, то передаётся только та часть пути, которая идёт до пробела? Если в пути пробелов нет, то всё нормально.

A: Это старинная "заподлянка" ещё со времён DOS. То, что идёт до первого пробела, считается командой, после - её параметрами.
Чтобы избежать ошибок, нужно заключать все пути в двойные кавычки, например:

iexplore "%P%N"

По ответам форума forum.wincmd.ru


Проблема доступа к файлам с кириллицей в названии

Q: У меня следующая проблема: TC не понимает русского текста напрочь, пишет одни знаки вопроса, и открывать такие файлы и папки не хочет. В масдайских окнах такой проблемы нет. Win XP стоит у меня на немецком языке, т. к. живу в Германии. Как быть?

A: Установить в настройках системы поддержку кириллических шрифтов для не-Unicode приложений (в Панели управления - "Язык и региональные стандарты"). Но только может возникнуть проблема с немецкоязычными программами, не поддерживающими юникод: умляуты и "эс-цет" будут отображаться как русские буквы. Если такие программы не используются - можно, действительно включить русский в региональных настройках. Если же поддержка немецких не-юникодных программ важна, можно воспользоваться прожкой от MS: AppLocale.

По ответам форума forum.wincmd.ru


Проблема с комментариями файлов

Q: При назначении комментария к файлу (с сохранением в descript.ion), длинный комментарий во всплывающей подсказке не дробится на строки, а вылезает за края экрана так, что ничего толком не видно.
В files.bbs такой проблемы нет, т.к. формат файла специфичный. Но для меня критично сохранять комментарии именно в descript.ion, т.к. только он указывает _длинные_ имена файлов, что позволяет потом смотреть их с закатанных CD-болванок.
Исправлена ли эта фигня в более новых версиях? Или это можно ручками поправить?

A: Это фича. Файлы descript.ion, к сожалению, не позволяют делать многострочные комментарии. Это возможно только при использовании files.bbs. В новых версиях это исправлено вряд ли будет, поскольку багом не является - это фича самого способа хранения комментариев. Можно, конечно, попросить Гислера, чтобы он ввёл какой-то специфичный символ, трактующийся как разделитель строки, но захочет ли он это реализовывать - неизвестно.

Константин Власов

A: По-моему, это фича Win 98 (в XP текст переносится на новую строку, даже если он идет одной строкой). Смирись.

Ergo


Проблема сверхдлинных имён файлов на FAT32

Q: В результате автоматического экспорта писем из Бата получил файлы с длиной имени больше 210 знаков. Такие файлы невозможно ни переименовать, ни перенести, ни заархивировать.
Можно ли с помощью TC и плагинов что-то сделать с такими файлами (просмотреть их тоже не удаётся)? Файловая система - FAT32.

A: Помогло отключение поддержки длинных имён файлов в настройках - после этого обращение к файлам происходит нормально, их можно "починить".

По ответам forum.wincmd.ru


Проблема удаления файлов после просмотра

Q: Друзья, никто не сталкивался с такой проблемой - после просмотра файла (текст, лог и т.д.) по F3 или F4 (блокнот) часто он отказывается удаляться, пишет - не могу удалить файл. Закрыл-открыл Тотал - сразу нормально удаляется. Пробовал разные версии Тотала, на FAT и NTFS, под разными OS, все одинаково. В проводнике все нормально. Что крутить?

A: Проблема, скорее всего, в каком-то плагине просмотра, который блокирует файл. Проверить можно, вызвав команду cm_UnloadPlugins, и попробовав удалить этот файл снова. Если файл удалился - значит проблема 100% в плагине, остаётся найти его методом исключения.
Если файл всё равно не удаляется - пробуем сделать то же самое на чистом TC (с пустым инишником). Если проблема исчезла - тем более виноваты плагины.

Павел Дубровский


Проблемы с локалью

Q: Проблема такова, и, попробую описать как могу:

Мой "Тотальный Коммандер" не понимает японский... Хотя вся винда понимает его на все 100% + еще я могу на клаве писать по японски... Т.е. настроено все на 100%.

Пример1: Не заходит в некоторые папки, названия которых содержат иероглифы...
Пример2: (очень СТРАННЫЙ): нажимаю Enter на *.mp3 (в Тотале) и, если он содержит японские иероглифы, то WinAmp его не производит, хотя если такую же операцию сделать с нормальным проводником, все получится...
Но после Тотала, возвращаться к стандартной Винде... Боже упаси.

A: Насколько я понимаю, в винде выставлена не японская локаль? (Именно локаль, а не раскладка клавиатуры! Посмотреть можно в Панели управления, Язык и региональные стандарты, вкладка Дополнительно, выпадающий список в категории "Язык для программ, не поддерживающих Юникод".) Если да, то надо просто разрешить генерацию имён 8.3 для NTFS-разделов, поскольку Тотал не умеет работать с Unicode-именами файлов и обращается к ним по их DOS-имени (а если такового нет, то и обратиться к ним не может), отсюда и все глюки. Включить эту опцию нужно в реестре:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"NtfsDisable8dot3NameCreation"=dword:00000000

После этого все созданные или переименованные файлы получат вместе с Юникод-именем DOS-имя, и Тотал сможет с ними работать. Для уже существующих файлов DOS-имя автоматом не генерится, так что их надо предварительно переименовать во что-нибудь, а потом обратно, в прежнее имя.

Константин Власов


Проблемы с прокруткой списка

Q: Прокрутка списка файлов в Total Commander происходит очень медленно и использует очень много процессорного времени.

A: В новых версиях Windows в качестве "эстетической привлекательности" наряду с прочими "анимациями" существует такая опция как Smooth scrolling (Плавная прокрутка), в "эстетической привлекательности" которой лично я сильно сомневаюсь. Ее необходимо отключить. Это можно сделать с помощью специальных программ редактирования скрытых настроек Windows - твикеров (например, TweakUI от Microsoft), а в Windows XP и стандартными средствами - System - Advanced - Performance.

Ergo

A: Мыша у меня A4 Tech, и, похоже, ей по барабану гладкое или нет прокручивание. Всё равно крутит медленно, и как-то кусками. Оказалось, что в свойствах мыши надо было выставить режим совместимости с Microsoft Inteli-mouse... Сразу всё стало нормально.

Ekib


Сообщение о вирусе

Q: При запуске Total Commander в течении первых нескольких секунд появляется сообщение о том, что totalcmd.exe поврежден, возможно неизвестным вирусом. Однако антивирусный сканер не находит никаких вирусов.

A: Total Commander содержит функцию проверки контрольной суммы, которая при каждом запуске программы проверяет была ли программа модифицирована. Если вы получаете такое сообщение, то это значит, что функция проверки контрольной суммы обнаружила изменение. Это могло произойти по следующим причинам:
1. В большинстве случаев это вызвано новым вирусом, который неизвестен вашему антивирусному сканеру. Вам необходимо обновить антивирусные базы и(или) установить второй антивирусный сканер.
2. Total Commander расположен на (сетевом) диске в директории в которой у вас есть права только на запуск, и нет прав на чтение. Total Commander требует также права на чтение.
3. Если ошибка случается только время от времени, а также у вас случаются необъяснимые системные сбои, причиной вероятно может быть дефектный модуль оперативной памяти.
4. После установки новой версии Total Commander может случиться, что части старой программы все еще находятся в кэше, что может вызывать эту ошибку. После перезагрузки ошибка должна исчезнуть.

Christian Ghisler


Функции, требующие прав администратора

Q: При выполнении некоторых операций (например мультипереименования) TC выдаёт ошибку, если у меня недостаточно прав для этой операции. Хотелось бы, чтобы в таких случаях TC предлагал ввести пароль администратора и продолжить операцию (как это сделано в некоторых случаях).

A: Доступ "под администратором" работает только для основных операций, таких как:
- копирование
- перемещение
- переименование
- удаление
- создание каталогов
- распаковка
- чтение каталога

Более сложные функции, такие как:
- мультипереименование
- синхронизация
- создание контрольных сумм
- разбиение файлов
- сборка файлов
- изменение аттрибутов
- упаковка
- сравнение по содержимому
- ассоциирование
- присвоение комментария в папке, доступной только для чтения
- сохранение списка файлов
- сохранение файла в Lister
- скачивание с FTP
- скачивание через LPT
- копирование из WFX-плагинов
- изменение панели инструментов, хранящейся в каталоге, достпном только для чтения
в этом случае не работают. Идея в том, что если вы не имеете доступа к каталогу, вы не можете полноценно работать с находящимися в нём файлами.

Cristian Ghisler

A: Соответственно, единственный вариант - запускать TC с правами администратора (run as).

Павел Дубровский


Другое

Другие популярные вопросы:

· TC для других OS
· Динамические иконки дисков
· Замена Explorer
· Замена основной иконки TC
· Защита от копирования лицензионного ключа
· Как убрать значок родительского каталога из папки?
· Почему TC не поддерживает передачу файлов через USB-соединение?
· Преднастроенный wicmd.ini по умолчанию
· Редактирование wincmd.ini
· Русификация TC
· Сохранить настройки TC после переустановки системы
· Удаление плагинов
· Установка TC без прав администратора
· Установка новой версии поверх старой


TC для других OS

Q: Слышал есть какой то Disk Order, говорят похож на ТС, но может и ТС работает под МАК?

A: Нет, TC под Mac не портирован. На оф. форуме этот вопрос неоднократно поднимался, поищи. Возможно, другие альтернативы кто называл...

Константин Власов

Q: Не планирует ли автор выпуск своей программы для Пингвина?
На данный момент имеющийся MC очень серьёзно уступает TC и больше напоминает дядюшку нортона эпохи MS-DOS.

A: Планировал, но портирование оказалось чересчур сложным и долгим, поэтому он отказался от этой идеи, пока не наткнётся на более приемлемый способ. В качестве замены рекомендуется Krusader. Или же можно попробовать поработать с Тоталом из-под wine.

Константин Власов


Динамические иконки дисков

Q: Можно ли сделать, чтобы TC на панели кнопок дисков рисовал иконку, прописанную в autorun.inf этого диска?

A: Нельзя. Можно только создать свой файл значков и прописать его в wincmd.ini (но тогда за дисками значки будут закреплены насовсем, при смене носителя они останутся теми же). Зато в папке "Мой компьютер" все значки должны показываться (в смысле, если открыть ее из Тотала).

Forward


Замена Explorer

Q: Хочу, чтобы Total Commander у меня открывал каталоги вместо Эксплорера. Хочу и всё тут.

A: По пунктам:
1) Читаешь справку TC, раздел "ключи командной строки". С помощью ключей настраивается поведение Тотала, это понадобится для второго шага.
2) Explorer->Сервис->Свойства папки->Типы файлов->Папка->Дополнительно->Создать->Назвать: Открыть в TC->Приложение, выполняющее действие (выбрать totalcmd.exe)->Добавляем нужные ключи командной строки, о которых ты прочёл раньше->OK->По умолчанию->OK.

Павел Дубровский


Замена основной иконки TC

Q: Нужно заменить главную иконку TC, а остальные иконки оставить стандартными. Как?

A: Для замены иконок только главного окна и трея достаточно в IconLib= указать путь к обычному отдельному ICO-файлу. Остальные иконки при этом останутся стандартными.

Volniy


Защита от копирования лицензионного ключа

Q: Как понял, автор присылает файл ключа, который кладётся в папку с программой.
Очень часто бывает, что при обмене с кем-либо просто копируешь папки с программами, особенно, если нет инсталлятора, или неохота возиться с настройками. Или кто-то, без твоего ведома, скопирует всю папку, возможно, даже не зная, что в ней лежит reg-файл.
Можно ли как-то защититься от такого случая? В какую-то другую папку положить файл?

A: В wincmd.ini в секции [Configuration] есть ключ KeyPath=, положи ключик куда подальше и пропиши путь к нему...

Spine

Q: Я пользуюсь лицензионной копией TC на многопользовательской машине. Есть возможность, что мой ключ скопируют себе другие пользователи. Установить на ключ права доступа только для себя я не могу, так как все пользователи имеют права администратора. Что делать?

A: Скопировать файл ключа в каталог c:\Documents and Settings\Имя_пользователя\, в wincmd.ini прописать путь к этому ключу в KeyPath, доступ на файл оставить только для себя. Само собой, должна использоваться ФС, поддерживающая разделение прав (NTFS).

Константин Власов


Как убрать значок родительского каталога из папки?

Q: Как убрать значок родительского каталога из папки?

A: Никак. Точнее, никак не убрать строчку [..]. А если нужно убрать только картинку около этой строчки, то нужно создать свою библиотечку иконок (ICL), в которой вместо этого значка будет пустая прозрачная картинка.

Константин Власов


Почему TC не поддерживает передачу файлов через USB-соединение?

Q: Почему Total Commander не поддерживает передачу файлов через USB-порт также, как это сделано для LPT?

A: USB - несимметричная шина, и поэтому для соединения двух компьютеров через USB нужно, чтобы между ними было некое устройство, пересылающее данные (обычно это микросхема, встроенная прямо в кабель). На данный момент не существует единого стандарта, так что каждый производитель обычно предоставляет собственное ПО к своим кабелям. Хорошие программы эмулируют обычное сетевое соединение, так что с ними можно использовать любую программу (включая TC). Обычно в описании таких кабелей содержится упоминание о поддержке TCP/IP и/или LAN-соединений.

Shams


Преднастроенный wicmd.ini по умолчанию

Q: Windows XP. Установлен Total (wincmd.ini храниться в %USERPROFILE% - так надо, чтобы юзеры могли иметь собственные настройки), уже преднастроен. Хочется, чтобы для каждого новго пользователя копирование заданного wincmd.ini с готовыми настройками происходило автоматически, а дальше уже пусть настраивает, как хочет.
Это возможно как-то сделать?

A: Скопируй начальный wincmd.ini в каталог пользователя Default user. При создании нового пользователя, этот профиль копируется в созданный.

vserd


Редактирование wincmd.ini

Q: Можно ли в Wincmd.ini вставлять полнострочные комментарии, например, чтоб временно закомментировать какой-либо параметр, и как?

A: Комментарии в ini-файлах начинаются с символа ;

По ответам форума forum.wincmd.ru

Q: Можно ли не перегружая TC заставить его перечитать wincmd.ini, чтоб привести в действие изменённые там настройки?

A: Меню Configuration -> Change Settings File Directly. После этого ini файлы, по идее, должны перечитаться. Однако все ресурсы (иконки, библиотеки и т.п.) TC перечитывает только при перезапуске.

По ответам форума forum.wincmd.ru

Q: В wincmd.ini удалил всю секцию [Command line history] закрыл TC, но всё вернулось назад. Закрыл TC, удалил через FAR - всё пропало. А как сделать это средствами Тотала?

A: Удалить историю можно только при закрытом Тотале, т.к. он держит её в памяти и при выходе записывает в INI-файл. ИМХО, проще снять галочку Настройки -> Операции -> Запоминать -> Историю команд.

Константин Власов

Q: Редактирую wincmd.ini, все изменения сохраняются, но не действуют.

A: Возможно, ты редактируешь не тот файл (их может быть несколько, в зависимости от ситуации). Где находится используемый TC файл настройки можно посмотреть в меню "Справка"->"О Total Commander".

По ответам форума forum.wincmd.ru


Русификация TC

Q: Есть ли русификатор для TC, и если таковой имеется, то где можно его скачать? И как установить?

A: http://wincmd.ru/plugring/ext_rus.html. Просто распаковать и выбрать нужные файлы в настройках TC, либо воспользоваться автоустановкой в последних версиях TC (с 6.54а).

Leshiy


Сохранить настройки TC после переустановки системы

Q: Собираюсь переустановить систему, и хотелось бы сохранить настройки ТС. Возможно ли это?

A: Да, сохрани два файла wincmd.ini и wcx_ftp.ini (смотря где они у тебя находятся) а потом восстанови их.

b01d


Удаление плагинов

Q: Как снести установленные плагины? После нажатия кнопки "Удалить" в самом TC, плагин из списка убирается, но файл остаётся.

A: Удаляй файлы вручную. TC правильно делает, что не удаляет их - а вдруг эти файлы тебе ещё понадобятся?

Павел Дубровский


Установка TC без прав администратора

Q: Требуется установить TC, но прав на запись файлов в системные папки (program files, windows, system32 и т.д.) нет. Как обойти?

A: Тоталу не нужен доступ к системным папкам, так что устанавливать можно так же, как и обычно. Только при установке нужно выбрать опцию хранения файлов настроек не в каталоге Windows, а в каком-нибудь другом, например, в своём профиле Documents and Settings или в папке с программой. Ну и сам Тотал устанавливать, естественно, в ту папку, к которой есть доступ.

P.S.: Это всё относится к оригинальному установщику Тотала, а не ко всевозможным сборкам. Про них ничего не знаю.

Константин Власов


Установка новой версии поверх старой

Q: Сейчас у меня TC X.YZ, как мне поставить TC A.BC, чтобы все настройки сохранились?

A: Просто устанавливай поверх. Все настройки сохраняются.

Ergo

Q: Как показывает опыт - при использовании "паков" настройки могут и затираться, так что будь с ними осторожнее.

Павел Дубровский


FTP-клиент TC

Вопросы, возникающие при использовании встроенного в TC FTP-клиента, и ответы на них.

· Исходный и результирующий файл различаются
· Connection lost (потеря подключения)
· FTP открывается только для чтения
· Автодозакачка с FTP
· Автоматическое переподключение к FTP
· Быстрый доступ через Ctrl+D
· Восстановление пароля FTP
· Встроенный брандмауэр конфликтует с FTP-клиентом TC
· Запуск файлов прямо с FTP
· Изменение кодировки на FTP
· Изменение регистра имён файлов при закачке
· Как заставить контентные плагины работать с FTP?
· Кнопка для быстрого подключения к FTP
· Копирование с FTP в несколько потоков
· Лог загрузок с FTP
· Медленная работа FTP
· Не запускается FTP-клиент
· Не работает перемещение файлов с FTP
· Отключение предложения о сохранении сеанса
· Открытие ссылок ftp:// в TC
· Отменить обновление списка файлов на FTP
· Подключение по SFTP
· Подсчёт общего размера файлов на FTP
· Портятся файлы при передаче на FTP
· После установки неофициального пака не работает FTP
· Посмотреть полный путь до файла на FTP
· Проблема с входом по DNS-имени
· Разница в размере файлов
· Редактирование файлов на FTP
· Скрытые файлы на FTP (файлы с точкой в начале имени)
· Создать файл на FTP
· Сохранение оригинальной даты и времени файла
· Сохранение списка файлов на FTP
· Список FTP в TC


"Исходный и результирующий файл различаются"

&quotИсходный и результирующий файл различаются&quot

Q: Скачивал по FTP большой файл (фильм). Во время скачки пропало питание, потом возобновить скачку не получилось: TC выдаёт ошибку "исходный и результирующий файл различаются". Пришлось использовать FAR, который фильм докачал (правда при просмотре видно наложение в месте обрыва). Почему TC так себя ведёт?

A: Дело в том, что при сбое неправильно записались данные, которые TC качал в тот момент. Размер ошибочных данных я точно не скажу, поскольку не помню, настраивается ли размер буфера в TC или вшит намертво. При повторном запросе TC проверяет концовку файла на соответствие, и если находит различия с оригиналом, то выдаёт соответствующее сообщение.
Поэтому надо взять и "откусить" у недокачанного файла "хвост", т.е. удалить мегабайт-другой от конца (я бы сделал это в каком-нить hex-редакторе), ну а потом продолжать качать...
FAR, как видим, проверку не делает. Если для фильма это пустяк, то архив или документ вышел бы битым...

Павел Дубровский


Connection lost (потеря подключения)

Q: Через какое-то время бездействия при коннекте на FTP происходит Connection lost. Как исправить?

A: Поставь NOOP каждые 20 секунд в настройках FTP-соединения.

-=Space=-

A: Если потеря соединения происходит по причине No transfer timeout (разрыв соединения при отсутствии закачек), то ни NOOP, ни PWD, ни SYST не помогут. Однако решение есть - надо посылать команду LIST *.xyz, где *.xyz - какое-нибудь несуществующее расширение. Просто вписываем эту команду вместо NOOP. TC будет постоянно запрашивать список файлов, поддерживая соединение.
Это помогает и при использовании "очень умных" proxy-серверов, которые могут самостоятельно обрывать соединение. TC 7.0 и выше умеет принудительно поддерживать работу через такие сервера самостоятельно.

Павел Дубровский


FTP открывается только для чтения

Q: Могу зайти на FTP, но только в режиме просмотра, никаких изменений сделать невозможно, в IE всё без проблем.
Настройки:
Учётная запись: MyName
Пароль: ****
+Использовать брандмауэр или прокси сервер:
+HTTP прокси с поддержкой FTP
Сервер: Имя:8080
Учётная запись: мойдомен\МоёИмя
Пароль:
Вот и все настройки, что не так, что оно не работает?

A: Возможно, глюк Тотала при работе через некоторые прокси (конкретно - ограничение самих прокси). В 6.5 и ниже решения нет (разве что отключать прокси).

Павел Дубровский


Автодозакачка с FTP

Q: Подскажите пожалуйста, существует ли плагин, который отслеживает состояние закачки с ФТП?
Требование к плагину:
При окончании закачки, автоматом корректное выключение компьютера.
Если закачка останавливается и висит, то сам бы перезагружал процесс закачки и докачивал незаконченный файл автоматом.
Плагин очень пригодился бы любителям скачивать фильмы с ФТП. Иногда ставишь на ночь закачку, а утром видишь что загрузка фильма остановилась на 12% и висит.

A: Автодозакачка есть в версии 7.0.
Выключение же компа по окончании закачки вряд ли появится в обозримом будущем. Тотал - это не менеджер FTP-закачек, для этих задач существуют специализированные программы.

Константин Власов


Автоматическое переподключение к FTP

Q: Есть ли возможность заставить TC автоматически переподключаться к FTP-ресурсу, если он недоступен из-за большого наплыва пользователей? А то вручную очень тяжко по полчаса Ctrl-F жать...

A: Настройки ФТП:
Количество попыток при занятом FTP-сервере: до фига
Задержка между попытками (секунд): 0.
Я так в похожей ситуации спасался. Само собой, во время попытки соединения эта копия TC будет недоступна, но тут уж ничего не поделать. Дополнительно могу обратить внимание на то, что некоторые фаерволы (в частности Outpost) очень плохо переваривают такую активность, всячески тормозя TC (в независимости от того, есть он в списке исключений или нет) - вместо нулевой задержки она фактически увеличивается до нескольких секунд. При этом другие качалки фаерволами не лочатся. Так что мне приходилось Оутпост на время "дозвона" отключать.

Павел Дубровский


Быстрый доступ через Ctrl+D

Q: Читал, что можно быстро соединяться с FTP-серверами через меню часто используемых каталогов (Ctrl+D). А как?

A: Способ первый: заходим на ФТП, жмём Ctrl+D, добавляем текущий каталог.
Способ второй: в настройке этого меню добавляем новый пункт, где команда будет cd ftp://login:password@host/

По ответам форума forum.wincmd.ru


Восстановление пароля FTP

Q: Знатоки, подскажите, как из файла wcx_ftp.ini восстановить пароль на ФТП? А то сохранил пароль только в TC, теперь мучаюсь...

A: Глянь эти утилиты:
http://wincmd.ru/plugring/cda_file_info.html
http://wincmd.ru/plugring/wcftpcrack.html

Константин Власов


Встроенный брандмауэр конфликтует с FTP-клиентом TC

Q: Как-то раньше проблем не было, а тут переставил систему, и теперь TC FTP ни в какую не хочет соединяться при активном фаерволле WinXP.
Вроде покрутил все настройки в ТС, в том числе passive mode - не помогает. Только если отключить фаерволл.
Что делать? Неудобно это.

A: Так крути теперь виндовый фаерволл, это его глюки. В сети есть проги для настройки встроенного фаерволла, а я вообще-то посоветовал бы использовать что-то стороннее и более надёжное.

Павел Дубровский


Запуск файлов прямо с FTP

Q: Можно ли как-то сделать, чтобы TC мог запускать файлы, расположенные на FTP? Например, чтобы они скачивались во временную папку и оттуда запускались.

A: Можно, но только с помощью сторонних утилит, используемых в связке с Тоталом.

Это: FTPDrive (микроскопическая, отличная и бесплатная) или WebDrive (большой размер, платная, но ещё более многофункциональная).

Igor_A.


Изменение кодировки на FTP

Q: Как заставить Тотал понимать DOS-кодировку имен файлов? На нашем главном ftp провайдера кто-то умный сделал DOS-кодировку имен файлов...

A: Только поменяв шрифт файловых панелей, но тогда русские имена на твоих дисках окажутся нечитаемыми. Сейчас нет возможности использовать разные кодировки для FTP и локальных дисков...

Константин Власов

A:

'====================================================================
' Изменение шрифта файловых панелей TC
'
' В параметрах вызова из TC должно быть в кавычках указано имя шрифта
'====================================================================

Dim TCS
Set TCS = CreateObject("TCScript.Helper")

NewFont = WScript.Arguments(0)

TCS.SendCommand(492)
TCS.SendKeystroke "{TAB} " & NewFont & "{ENTER}"
TCS.SendKeystroke "+{TAB}{ENTER}"

Сохрани в файле *.vbs, повесь файл на кнопку, в параметрах кнопки в кавычках укажи имя шрифта. В скрипте используется TCWSHelp.

Batya

A: Использовать WebDrive и плагин Translit.wdx

Павел Дубровский


Изменение регистра имён файлов при закачке

Q: Подскажите пожалуйста, почему при копировании на FTP папок, Total изменяет их название (т.е. папка была c:\someOld а на ftp после копирования стала someold)?

A: В диалоге копирования надо снять галочку "Перевести имена файлов в нижний регистр".
Коннектишься к серверу, выделяешь нужные файлы для закачки их на сервер, жмёшь F5 - появляется диалоговое окно, в котором присутствуют: поле для ввода пути и имени для закачки, галочка "Закачать в фоновом режиме", и галочка "Перевести имена файлов в нижний регистр" (в английском, соответственно, "Upload in background" и "Convert file names to lowercase"). Вот вторую из них надо выключить - тогда регистр имён файлов будет сохраняться.

Константин Власов


Как заставить контентные плагины работать с FTP?

Q: Как заставить WDX-плагины работать с FTP?

A: Стандартными средствами TC такого сделать нельзя, так как это связано со значительными тормозами (плагин должен получить файл целиком, чтобы выдать инфу о нём, а скачка файла с FTP - зачастую дело небыстрое). Однако, для быстрых FTP (например, для серверов локальной сети) задержками можно пренебречь...
В общем, решение есть: ищем прогу WebDrive, с её помощью монтируем FTP в систему как сетевой диск... а уж с таким диском TC может делать всё, что угодно.

Павел Дубровский


Кнопка для быстрого подключения к FTP

Q: Как сделать кнопку для перехода на заданный FTP?

A: Создаем соединение CTRL+F - New connection. Настраиваем и сохраняем его под каким-нибудь именем, например myftpconnection. Тогда автоматически к нему можно подключиться с панели инструментов с помощью кнопки, в команде которой стоит FTPOPEN myftpconnection.

Ergo


Копирование с FTP в несколько потоков

Q: Позволяет ли TC (сам, или с помощью плагинов) качать с фтп в несколько потоков?

A: Если один файл в несколько потоков - то нет, не позволяет. Это файловый менеджер, а не качалка.
Если же хочется закачивать несколько разных файлов одновременно, то просто надо включить опцию "Закачать в фоновом режиме" и вызвать операцию копирования для каждого из файлов по отдельности (или можно объединить по несколько файлов) - тогда каждая из операций запустится в отдельном потоке.

Константин Власов


Лог загрузок с FTP

Q: Ведёт ли TC логи работы с FTP?

A: Настройки -> FTP -> Создать файл отчёта.
Или ключи: wcx_ftp.ini -> [General] -> LogFile и LogFile2.

Константин Власов


Медленная работа FTP

Q: Столкнулся с проблемой... Недельку назад примерно ТС начал очень медленно работать с фтп. А точнее ходить по каталогам. На смену папки уходит секунд 10-15. Что поменял - не знаю, но факт. Через ИЕ всё летает. Где что нужно поправить?

A: Сам разобрался. Надо было отключить запись лога.

Cyxapeff


Не запускается FTP-клиент

Q: Кто знает, почему при выборе в меню "FTP Connect..." или "FTP New Connection..." ничего не происходит, но при этом если удалить Wincmd.ini, то все работает нормально.
Что же там за настройка может быть, из-за которой эти пункты не работают? (Wincmd.ini сохранился у меня с незапамятных времен, так что перенастраивать заново не хотелось бы).

A: По всей видимости, в wincmd.ini прописан ключ RestrictInterface. Удали его, и будет тебе щасье.

Константин Власов


Не работает перемещение файлов с FTP

Q: Почему копирование (F5) с FTP работает, а перемещение (F6) - нет.

A: Это сделано для безопасности. Представьте, вы перемещаете файл, он скачивается к вам и удаляется на сервере. А скачанный файл по какой-то причине оказывается битым... и у вас его теперь нет ни на локальном диске, ни на сервере :(

По ответам форума forum.wincmd.ru


Отключение предложения о сохранении сеанса

Q: Как убрать предложение "сохранить сеанс" при отключении от FTP?

A: Нужно просто сохранить сеанс. А потом, чтобы воспользоваться этим сохраненным сеансом, нажми CTRL+F. И при следующем отключении предлагать сохранять уже не будет.

Maximus


Открытие ссылок ftp:// в TC

Q: Не знаю, реализовано ли это, и реализуемо ли вообще. Цель - открывать FTP соединение автоматически в TotalCommander при щелчке на ссылках вида ftp://tushino.com.

A: Сохраняем в reg-файл, запускаем, достигаем желаемого эффекта.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\ftp\shell\open\command]
@="\"D:\\wincmd\\TOTALCMD.EXE\" /O /T cd %1"

Путь, естественно, должен быть правильный.

Shaman


Отменить обновление списка файлов на FTP

Q: Есть папка на ftp, там много файлов, список файлов весит около 300 кб. Как закачать файлы в эту папку не перекачивая этот список 2 раза - при заходе в нее и после закачки последнего файла?

A: Открой родительскую папку, а при закачке просто добавь нужный путь. Скажем, есть папка www/folder/, в неё надо закачать файлы. Открываешь папку www/, выделяешь на другой панели нужные файлы, жмёшь F5, а в появившемся диалоге указываешь не *.* (что пишется там по умолчанию), а folder/*.*

Константин Власов


Подключение по SFTP

Q: Как мне настроить ТС для подсоединения к FTP серверу по протоколу FTPS?

A: Плагин файловой системы SFTP. Искать на wincmd.ru.

vserd

TC 7.0 Поддерживает работу с FTP через SSL/TLS. Подробности описаны в справке.

Павел Дубровский


Подсчёт общего размера файлов на FTP

Q: Как ни старался, не нашел в TC функцию подсчета общего размера файлов и каталогов на удаленном сервере через ftp. Не нашел и плагин, который бы мог решить эту задачу. Пришлось специально установить FlashFXP, в котором такая функция реализована.
Может быть есть все-таки плагин для этой цели?

A: Нет такого, насколько мне известно. Единственный, несколько кривоватый, обходной путь - это вызвать диалог синхронизации с каким-нибудь пустым каталогом, выполнить сравнение, нажать кнопку "Синхронизировать" - появится диалог, в котором показано, сколько файлов будет скопировано, и их суммарный размер, что, собственно, и требуется.

Константин Власов

Можно использовать WebDrive.

Павел Дубровский


Портятся файлы при передаче на FTP

Q: При передаче php файлов на сервер, TC некоторые из них модифицирует. Может все превратить в одну строку или добавить непечатаемые символы в конец файла. Как чинить?

A: Смени режим передачи файлов с текстового на двоичный.

Константин Власов


После установки неофициального пака не работает FTP

Q: После установки TC 6.51 (скачан с samlab.ru) возникла проблема соединения с ftp-сервером, прога пишет: "Не могу соединиться", хотя настройки ftp не изменялись. После возвращения к версии 6.50 все стало нормально.

A: Первое, что надо делать в таких случаях - качать официальную версию и проверять на ней, на настройках по умолчанию.

Константин Власов


Посмотреть полный путь до файла на FTP

Q: Можно ли настроить TC таким образом, чтобы на ФТП в свойствах файла был прописан полный путь до него, как например делает обычный проводник? Тотал же выкидывает абсолютно не нужную мне таблицу файлов и атрибутов. Если существует способ, опишите его подробно.

A: Вроде бы, такого варианта нет.
Можно нажать Ctrl+Shift+Enter - тогда полный путь текущего файла появится в командной строке. Или использовать команду cm_CopyFullNamesToClip - тогда полные пути всех выделенных файлов и каталогов окажутся в буфере обмена.

Константин Власов


Проблема с входом по DNS-имени

Q: Хостер мой сайт перетащил на другой сервер, поменялся IP-адрес, но я теперь не могу его поменять в Total Commander. При создании нового соединения я вообще IP не водил, он как-то сам определился. Просто ввел название ftp-сервера, логин, пароль и все. Теперь TC пытается подключиться к FTP по старому IP.
Подскажите, как же его все-таки поменять?

A: Фаервол стоит? Или еще какое средство, кеширующее DNS? Если да, то нужно удалить из кеша старый адрес.
Ещё можно попробовать вписать в Тотале не dns-имя сайта, а прям его ip-шник.

mramor


Разница в размере файлов

Q: При работе с TC обнаружил, что размер одних и тех же файлов на FTP-сервере и локальном компьютере различается. После детального изучения выяснил, что разница возникает из-за наличия в файлах переноса строк. На сервере перенос считается за 1 байт, на локальной машине за 2 байта.
Как сделать, чтобы TC одинаково отображал размер файлов?

A: Включи двоичный режим передачи. У тебя, видимо, включён текстовый или автоматический режим: при этом текстовые файлы, передающиеся с сервера или на сервер автоматом подправляются так, чтобы символы конца строки соответствовали той системе, на которую копируется файл. Просто на винде конец строки - это два байта, на Никсах - один байт. Отсюда и разница в размере. Если же передавать данные в двоичном режиме, такая правка производиться не будет, и размер останется тем же, что и был.

Константин Власов


Редактирование файлов на FTP

Q: Возникла задача: нужно удаленно редактировать файлы на FTP. Все, вроде, классно: настроил редактор файлов, тот что нужен (для PHP). Открываю файл с FTP, открывается моя любимая прога, все класс. Но файл сохраняется только после того, как я нажму "Сохранить" и выйду из программы...
Потом этот TC меня спросит не хочу ли я закачать файлы на сервер, а потом заменить ли мне файл... С этим я ещё согласен. Я буду два раза нажимать кнопку "Да" (на вопрос обновить ли файлы, заменить ли файлы)... Ок.
Но что уж совсем не удобно, так это то чтобы посмотреть результат своей работы, я должен закрыть редактор и только тогда изменения в файле (после моего согласия) вступят в силу...
ВОПРОС: Нельзя ли сделать так, чтобы файлы сразу закачивались на сервер по нажатию кнопки "Сохранить" в редакторе, а не после того как я закрою его... Это очень важно... так как удобства никакого, а пока я открою программу, закрою, два раза нажму "ОК" проходит несколько секунды, а если нужно заниматься отладкой скриптов -- то это просто жуть...

A: Насколько я понимаю, Тотал после нажатия F4 скачивает файл во временную папку и запускает редактор, подсунув ему этот файл из временной папки. После этого следит за процессом запущенного редактора, и, как только тот завершается, проверяет, изменились ли дата/время модификации файла. Если изменились, то спрашивает, закачать ли файл на сервер. Насколько мне известно, нет способа заставить Тотал автоматически залить файл до того, как завершится редактор...

В качестве обходного пути можно воспользоваться прожкой WebDrive. Она позволяет подключить FTP как новый логический диск, тогда с ним можно работать, как с обычным диском, в частности, сохранение файла будет происходить сразу (только что проверил). Очень удобная штука!

Константин Власов


Скрытые файлы на FTP (файлы с точкой в начале имени)

Q: Как заставить TC видеть скрытые файлы на сервере?

A: Искать в меню галочку "Показывать скрытые файлы на сервере". Ежели таковой не наблюдается, использовать команду cm_FtpHiddenFiles.

По ответам форума forum.wincmd.ru

Q: TC не показывает лежащие на сервере файлы/папки с точкой в начале имени, например .htaccess.

A: См. предыдущий ответ. Таким образом (добавление точки в начало имени) файлы обычно и "скрываются".

Павел Дубровский


Создать файл на FTP

Q: Обычно, если мне нужен новый файл, я жму Shift+F4 и ввожу имя. Однако, если я захожу на ftp, то в ответ мне раздается неприятный звук. Получается что для того чтобы создать файл на ftp - мне приходится создавать его у себя а потом копировать на ftp. Или объясните, как настроить ТС так, чтобы по какой-нибудь горячей клавише он копировал на ftp заранее подготовленную болванку файла. Смысл в том, чтобы не возиться со всей этой фигней, и создавать файл на ftp на лету, как при работе с содержимым компа.

A: Для работы с ФТП есть стандартная команда FTP.
Для получения справки по ней набери в командной строке
ftp
и затем в появившемся промте - help

Я пользуюсь батником типа:

=======================================
@Echo Off
@CD D:\LOCAL\CFG
@ftp -s:put_get.cfg 10.25.1.19 >>D:\LOCAL\LOG\ftp_bat.log
=======================================

где файл put_get.cfg , который "живет" в каталоге D:\LOCAL\CFG и содержит в себе строки внутренних команд:
=============================================
(ЛОГИН)
(ПАРОЛЬ)
binary
prompt
cd /D/LOCAL/FTP/OUT
lcd D:\CLIENT\OUT
mput *
cd /D/LOCAL/FTP/IN
lcd D:\CLIENT\IN
mget *
quit
=============================================

т.о. вначале производится логин к ФТП, затем передача всех файлов из локального каталога D:/LOCAL/FTP/OUT в удаленный D:\CLIENT\OUT, после чего тягаем файлы к себе.

При этом, ведется лог переданных-принятых файлов, благодаря конструкции >>D:\LOCAL\LOG\ftp_bat.log в третьей строке батника.

falkovsky


Сохранение оригинальной даты и времени файла

Q: При копировании файлов с/на FTP-сервер время и дата создания копируемого файла изменяются - устанавливаются текущими на момент копирования.
Это не всегда устраивает. Я не нашел настроек, определяющих сохранение даты и времени при FTP-копировании. Возможно ли это и каким образом?

A: По поводу файлов, скачанных с FTP, читай русскую справку, раздел - описание файла wcx_ftp.ini, ключ PreserveDates (в английской справке этот ключ не описан). Что же касается закачиваемых на FTP файлов - не все сервера поддерживают установку даты/времени при закачке. Как указано в истории версий, Тотал пытается применить команду установки даты/времени, но сработает ли она - зависит исключительно от сервера.

Константин Власов


Сохранение списка файлов на FTP

Q: Как сохранить список файлов на FTP в текстовый файл?

A: Можно воспользоваться vbs-скриптиком (для него нужен TCWSHelper) - заносит список в буфер обмена, оттуда уже вставляем в файл:

Set TCS = CreateObject("TCSCRIPT.Helper")
TCS.SendCommand "cm_SelectAll"
All = TCS.GetSrcSelectedFiles
TCS.SetTextToClip(All)
Set TCS=Nothing
Wscript.Quit

Batya


Список FTP в TC

Q: Как сохранить или где найти список FTP серверов в TC?

A: Файл wcx_ftp.ini - все FTP хранятся в нём. Где он находится, можешь узнать, открыв диалог Справка -> О Total Commander (в самом низу написаны пути к файлам настройки).

Константин Власов


Работа в сети

Вопросы, связанные с проблемами при работе в сети.

· Total Commander тормозит при работе с сетью
· Долгий вход на сетевые ресурсы
· Как включить отображение скрытых сетевых ресурсов?
· Как открыть ресурс в TC по IP-адресу?
· Ненужные ярлыки в "Сетевом окружении"
· Ошибка копирования файла по сети
· Проблема копирования даты и времени
· Просмотр ресурсов службы терминалов


Total Commander тормозит при работе с сетью

Q: Имеется домен w2k. При копировании, удалении, запуске файлов, находящихся в сети, при помощи Total Commander, комп очень сильно тормозит. При работе с FAR такого не наблюдается, все происходит довольно быстро.
Добавление параметра Noreread=AB\ в wincmd.ini не помогает.
Причем происходит это с различными версиями Total Commander и Windows Commander.
Незадолго до этого был домен на nt4 и такой проблемы не было.

A: Это тормоза не Тотала а Win2k/WinXP (возможно, и других OS). Отключаем службу "Web Client", в 90% случаев наступает облегчение. Иногда помогает отключение службы "Планировщик пакетов QoS".

По ответам форума forum.wincmd.ru


Долгий вход на сетевые ресурсы

Q: В некоторых случаях TC виснет при попытке входа на сетевой диск (например, если соединение рвётся в момент входа). Как избежать такой ситуации?

A: Можно использовать возможность входа на сетевые диски в отдельном потоке (появилась в TC 7.0). Для этого нужно добавить ключ ThreadFindFirst=1 в секцию [Configuration].

Hacker


Как включить отображение скрытых сетевых ресурсов?

Q: Скажите пожалуйста, есть ли возможность в TC включить просмотр скрытых ресурсов - ($C, $D, $admin) так как это реализовано в FAR например? Понимаю что можно записать так: cd \\komp\$c. Но писать для каждого компа (и каждый ресурс отдельно) как-то хлопотно, а меню "Запуск" и "Избранные каталоги" и так у меня уже разрослось...

A: В меню - "Сеть -> Показать ресурсы администратора".

Batya


Как открыть ресурс в TC по IP-адресу?

Q: Как открыть ресурс в TC по IP-адресу? По команде \\xxx.xxx.xxx.xxx (\\IP address) ресурс открывается в Эксплорере.

A: Пиши "cd \\xxx.xxx.xxx.xxx", или щёлкни в заголовке панели, набери \\IP address, тогда CD набирать не надо.

По материалам forum.wincmd.ru


Ненужные ярлыки в "Сетевом окружении"

Q: Есть небольшая проблема: после того как поползаешь по расшаренным ресурсам, остаются ярлыки в "Сетевом окружении" (если даже шаришься не через Тотал). Их можно убрать только удалением через del, но ярлыки всё равно остаются до перезапуска Тотала...

A: Эти ярлыки создаёт Windows, а не Тотал. Отключить их создание можно в реестре:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoRecentDocsNetHood"=hex:01,00,00,00

Константин Власов


Ошибка копирования файла по сети

Q: Хочу перекопировать файл размером 4 Mb на компьютер, который подсоединён к сети по выделенному радио-каналу. Каталог назначения открыт в панели через командную строку: cd \\Tratata\exchange\. Когда файл почти скопирован, выдаётся сообщение: "Не удалось сохранить все данные файла \\Tratata\exchange\файл1.rar. Часть данных потеряна. Эта ошибка может быть вызвана отказом оборудования компьютера или сетевого подключения. Попытайтесь сохранить этот файл в другом месте."
Затем тотал выдаёт сообщение:
"Нет свободного места на диске."
Размер файла на получателе получается меньше оригинала ~3 Mb. Если копирую файл меньший по объему, то всё равно выдается ошибка. и файл сохраняется не полностью. Причем при копировании проводником и FAR-ом всё нормально. При использовании KillCopy тоже всё хорошо. В чём проблема и как от неё избавиться?

A: В настройках режима совместимости ввёл:
\ (для сетевых путей), всё заработало.

ibo


Проблема копирования даты и времени

Q: Есть сетевой диск на осевом сервере (OS/2). При копировании файлов в TC на сетевой диск не копируются дата и время создания, т.е. дата и время устанавливаются на момент копирования
При установке опции "Выполнять копирование/вставку Проводником" - все нормально, т.е. копирует "как надо", а хотелось бы пользоваться функциями копирования именно TC.
Есть ли решение?

A: Проблема решилась с помощью подключения сетевых дисков и указания их в пункте "Включить режим совместимости для следующих дисков".

REnner

A: Также, возможно, проблему можно было бы решить, включив режим совместимости для копирования по сети (\).

Павел Дубровский


Просмотр ресурсов службы терминалов

Q: Входим на сервер удаленным рабочим столом с подключением локальных дисков пользователя. FAR на терминальном сервере при этом нормально видит ресурс "службы терминалов" - \\tsclient\a, \\tsclient\c и т.д., А вот Totalcmd не хочет отображать этот ресурс. Очень хотелось бы заполучить это дело, так как привыкли к нему, может как-то можно это сделать?

A: 1. Набираем cd \\tsclient
2. Для тех кому лень набирать cd \\tsclient (или для пользователей) делаем ярлык на это дело в сетевом окружении, и получаем что-то вроде: "tsclientC на EntireNetwork". Если теперь в него зайти, увидим еще один промежуточный target.lnk, идем в него и вуаля.
Да, не забудьте в свойствах подключения поставить галку "Подключать локальные диски"!

Maxim


Инструмент поиска

Вопросы, связанные с инструментом поиска в TC.

· Вывод результатов поиска в архиве на панель
· Исключение подпапки из поиска
· Как найти файл по содержимому комментария?
· Как найти файлы, в которых первый символ - x00?
· Как отдельно раскрасить каталоги и файлы?
· Нерекурсивный поиск
· Отключить поиск в zip-папках
· Поиск каталогов, содержащих файлы заданного типа
· Поиск по простой маске
· Поиск пустых каталогов
· Поиск среди найденного
· Поиск текста в файлах *.docx
· Поиск файла с пробелом в имени
· Поиск файла, содержащего несколько заданных слов
· Редактирование найденных файлов
· Сохранение результатов поиска в текстовом файле
· Фоновый поиск


Вывод результатов поиска в архиве на панель

Q: При обычном поиске можно вывести его результаты "на панель", однако эта опция недоступна в случае поиска в архивах - нельзя ли это обойти?

A: Нельзя. Скорее всего такое ограничение связано с отсутствием поддержки многопоточности в архиваторах и плагинах.

Константин Власов


Исключение подпапки из поиска

Q: Скажите, как искать файл в определенной папке, исключая некоторые подпапки? Например, мне надо искать в папке c:\opera и ее подпапках, кроме папки c:\opera\cache4.

A: RTFM. В окне поиска нажимаем Help и читаем:

Цитата:
Включение/исключение определённых каталогов при поиске. Можно использовать подстановочные символы во включаемых/исключаемых именах каталогов, имена должны завершаться обратной косой чертой "\".
Примеры:
*.ini | windows\ находит все INI-файлы, за исключением тех, которые находятся в каталогах "windows" и их подкаталогах.
*.htm? | _vti*\ находит все файлы HTML, за исключением тех, которые содержатся в подкаталогах, начинающихся на _vti (используются Frontpage).
windows\ system32\ *.ini находит INI-файлы только в каталогах windows\ и system32\.

Вахмурка


Как найти файл по содержимому комментария?

Q: Как найти файл по содержимому комментария?

A: Alt+F7, закладка "Плагины", плагин "TC" - Свойство "Комментарий" - Операция "содержит" - Значение "искомое выражение".

Batya


Как найти файлы, в которых первый символ - x00?

Q: Как найти файлы, в которых 1-й символ - 16-ный x00?

A: В принципе можно искать через wdx-плагины. Проще всего использовать ScriptContent.
Я правда не очень хорошо разбираюсь в 16-тиричных потрохах файлов. Возможно это поможет.

script.ini:

[Script]
Section=First Hex Letter

[First Hex Letter]
Script=FirstHexLet.vbs
LongName=1
ParseDirs=0

FirstHexLet.vbs:

Dim FSO, TextFile, FileObj, FirstLetter
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FileObj = FSO.GetFile(FileName)
if FileObj.Size > 0 then
Set TextFile = FSO.OpenTextFile(FileName, 1)
FirstLetter = TextFile.Read(1)
TextFile.Close
content = Hex(Asc(FirstLetter))
Set TextFile = Nothing
end if
Set FSO = Nothing
Set FileObj = Nothing

При поиске из TC переходим на закладку "Плагины", ставим "Поиск с плагинами", выбираем:
Плагин = script,
Свойство = Result,
Операция = "равно",
Значение = 0.

Batya


Как отдельно раскрасить каталоги и файлы?

Q: Как отдельно раскрасить каталоги и файлы? Сейчас файлы и каталоги выводятся одним цветом, а при совпадении имени каталога с маской, он раскрашивается как простой файл.

A: При определении шаблона для раскраски нужно залезть на вкладку "Дополнительно" и указать там с помощью атрибута "Каталог", что именно будет выделяться выбранным цветом: файлы с указанной маской или каталоги.

Константин Власов


Нерекурсивный поиск

Q: Как осуществить поиск файлов в текущем каталоге, без поиска во вложенных каталогах?

A: Использовать следующую маску для поиска:

*.* |*\

Sheepdog

A: Или использовать параметр "Глубина вложенности подкаталогов", появившийся в TC 7.0

Павел Дубровский


Отключить поиск в zip-папках

Q: Total Commander производит поиск в так называемых zip-папках (обычных zip-файлах, которые системой воспринимаются как каталоги) даже если галочка "Искать в архивах" отключена. Это затормаживает поиск, потому вопрос: как исправить положение (в то же время не теряя в Тотале возможность заходить в архивы, как в каталоги)?

A: Отключить zip-папки в системе. Неважно, как они включены - средствами Windows или сторонней программы, например ZipMagic - отключайте. Total Commander превосходно работает с Zip (и многими другими форматами) без всяких zip-папок.

Павел Дубровский


Поиск каталогов, содержащих файлы заданного типа

Q: Как можно найти все каталоги (и только каталоги), в которых содержатся файлы определенного типа?
Например, надо получить список каталогов, в которых есть файлы с расширением TXT.

A: Делаешь кнопку на панели инструментов:

Команда: cmd.exe /c
Параметры: for /f %%i in ('dir /b /s /ad') do if exist %%i\*.txt echo %%i >> 1.txt
Путь: пусто

И в файле 1.txt получаешь нужный тебе список.

з.ы. только для winnt\xp\2000\2003

Evgenych

Можно использовать плагин ScriptContent.
script.ini:

[Script]
Section=File Types In Dir

[File Types In Dir]
Script=FileTypesInDir.vbs
LongName=1
ParseDirs=1

FileTypesInDir.vbs:

Dim FSO, Fold, FilesInFold, ScanFile, FileExt
Set FSO = CreateObject("Scripting.FileSystemObject")
content = ""
If FSO.FolderExists(filename) Then
Set Fold = FSO.GetFolder(filename)
Set FilesInFold = Fold.Files
On Error Resume Next
For Each ScanFile in FilesInFold
FileExt = FSO.GetExtensionName(ScanFile.Path)
If FileExt = "" Then
FileExt = " "
End If
If Instr(1, content, FileExt, 1) = 0 Then
content = content & "," & FileExt
End If
Next
On Error GoTo 0
If Len(content) > 0 Then
content = Mid(content, 2)
End If
Set Fold = Nothing
Set FilesInFold = Nothing
End If
Set FSO = Nothing

Скрипт сделал так, что он возвращает для папок расширения файлов, перечисленные через запятую. Если файл без расширения, то я в эту строку вставляю пробел.

Т.о., при поиске из TC переходим на закладку "Плагины", ставим "Поиск с плагинами", выбираем:
Плагин = script,
Свойство = Result,
Операция = "содержит",
Значение (например) = txt.

Для ускорения поиска на закладке "Дополнительно" можно установить Атрибут - Каталог.

Batya


Поиск по простой маске

Q: Подскажите как найти, к примеру, все файлы, в названии которых шесть символов начинающиеся на 123... или плагин особый нужен?

A: Введи запрос 123???.*, если я правильно понял твой вопрос.
* - любое количество любых символов
? - один любой символ

Павел Дубровский


Поиск пустых каталогов

Q: Вопрос следующий: возможен ли поиск только пустых каталогов в TC встроенными функциями (Alt+F7) или через дополнительные модули?

A: Можно в TC 6.5+ (один из способов):

Ergo

A: Или скриптом:

Скрипт удаляет пустые папки внутри текущей директории и во всех вложенных в нее. А если текущая будет корневой - во всем диске тогда. В параметрах кнопки для этого скрипта поставьте "%P"

'======= DelEmtySubDirs.vbs =======

' ©2004, Volniy

Option Explicit
Dim fso
Dim StartFolder
Dim objArgs

Set objArgs = WScript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")

If objArgs.Count = 1 Then
' Текущая директория, получаем через %P в командной строке
StartFolder = objArgs(0)
Else
MsgBox "Должен быть один параметр!", vbCritical
WScript.Quit
End If

'Можно указать начальную папку и напрямую
'StartFolder = "D:\"

If fso.FolderExists(StartFolder) = False Then
MsgBox "Неверная директория!", vbCritical
WScript.Quit
End If

ScanFolder StartFolder

MsgBox "Пустые папки в '" & StartFolder & "' удалены!", vbInformation

Set fso = Nothing
Set objArgs = Nothing

WScript.Quit

Sub ScanFolder(FolderPath)
Dim curFolder
Dim FItem
Set curFolder = fso.GetFolder(FolderPath)
For Each FItem In curFolder.SubFolders
ScanFolder FItem.Path
Next
' Проверка на условие для удаления
If curFolder.SubFolders.Count = 0 And curFolder.Files.Count = 0 Then
curFolder.Delete
End If
Set curFolder =Nothing
End Sub
'======= DelEmtySubDirs.vbs =======

Volniy


Поиск среди найденного

Q: Как можно заставить ТС искать файлы среди уже найденных файлов? Если я запускаю поиск, идет поиск заново среди всех файлов.

A: Вывести найденные файлы на панель, выделить их все и, открыв окно нового поиска, поставить там галочку "Только в выделенных файлах/каталогах" (если, конечно, эта галочка почему-то сама не поставилась; она должна ставиться автоматически, если выделен хотя бы один объект).

Константин Власов

Q: Возможно ли вызвать панель быстрого поиска в найденном через Alt+F7, так же, как это сделано для обычных панелей TC? Дело в том, что при поиске в архивах кнопка "Файлы на панель" в диалоге поиска неактивна, и найти нужный файл в большом списке трудно.

A: Нет, такую панель вызвать нельзя, однако можно нажать Ctrl+C в диалоге поиска. В этом случае список найденных файлов будет скопирован в буфер обмена, откуда его можно вставить в любой текстовый редактор, и осуществить поиск уже в нём.

Константин Власов


Поиск текста в файлах *.docx

Q: Как осуществить поиск текста в файлах *.docx (формат файлов Word'07, представляет собой упакованный xml)?

A: Использовать при поиске плагин OpenOffice.org Info WDX. В нём есть поддержка *.docx в том числе.

Alextp


Поиск файла с пробелом в имени

Q: Поиск файлов: ввожу полное название файла, (с расширением) содержащее пробел, нажимаю «начать поиск».
Результат: «файл не найден».

A: Поставь кавычки (") слева и справа.
Или набирай название файла как обычно, но без расширения.

Yorker


Поиск файла, содержащего несколько заданных слов

Q: Можно ли осуществлять поиск файлов, содержащих, например, два слова, если эти два или более слова встречаются в разных местах файла. Если такой поиск возможен, как его осуществить?

A: Довольно непонятно формулируешь. Тебе нужно найти файлы, в тексте которых будут оба разыскиваемых слова, или достаточно, чтобы было хотя бы одно их них? Если первое, то можно набрать, к примеру, строку поиска текста так:

(слово1.*слово2)|(слово2.*слово1)

а если второе, тогда можно так:

слово1|слово2

В обоих случаях нужно включить опцию RegEx в окне поиска. Вообще-то первый вариант работает только если оба слова находятся в одной строке текста, так что особо на него не рассчитывай. Лучше вообще искать это в два этапа: найти список файлов с одним словом, а затем уже внутри этого списка проверить на наличие второго слова.

Volniy


Редактирование найденных файлов

Q: Пользуюсь редактором EmEditor. Настроил открытие файлов по F3 и F4 именно в нём. Часто приходится пользоваться поиском файлов в Total Commander, и хочется, чтобы при нажатии F3 на найденном файле, он тоже открывался EmEditor-ом, а не Lister-ом. Подскажите как это сделать?

A: Правой кнопкой на файле и из контекстного меню выбрать пункт EmEditor. По другому никак.

Константин Власов


Сохранение результатов поиска в текстовом файле

Q: Можно ли каким-либо образом сохранить результат поиска (Find Files) в виде текстового файла?
Например, после выбора "Feed to listbox" результат выводится в панель ТС. Как ее сохранить в виде файла?

A: Способ 1: не нажимая Feed to listbox, тыкаем мышкой где-нибудь внутри списка найденных файлов и жмём Ctrl+C. Дальше создаём текстовый файл, в редакторе жмём Ctrl+V и наслаждаемся.
Способ 2: после нажатия Feed to listbox в панели со списком файлов жмём Ctrl + Num+ (выделить все файлы), дальше применяем команду cm_CopyFullNamesToClip (хоть на тулбар повесить, хоть на горячую клавишу, хоть в меню Запуск, хоть через скрипт), и дальше делаем то же, что и в способе 1.

Константин Власов

A: Или лучше воспользоваться специальной командой cm_SaveSelectionToFile (Save file selection to file).

Volniy


Фоновый поиск

Q: Гислер вообще когда-нибудь сделает поиск файлов по Alt+F7 в фоновом режиме (чтобы можно было продолжать работу), а не модально?

A: Когда-то, может, и сделает. Этот вопрос регулярно поднимается на оф. форуме раз в месяц, и так же регулярно задавшего этот вопрос посылают в поиск.
Поиск файлов отличается от простого копирования/перемещения тем, что он не потокобезопасен. Т.е. многие архиваторы (тот же RAR) и архиваторные плагины начинают дико глючить, когда к ним происходит два обращения из разных потоков - они не умеют обрабатывать такие ситуации, в результате все данные перемешиваются. Если бы фоновый поиск был реализован, то была бы возможна такая ситуация: выполняется поиск внутри, скажем, какого-то RAR-архива. В это время ты заходишь в самом Тотале внутрь другого RAR-архива. И всё падает. Потому что происходит несколько обращений в функцию распаковки, причём с разными исходными файлами (из разных потоков), а функция трактует их как обычные последовательные действия одного потока. Ну и начинает твориться полное безобразие...

На данный момент, единственный надёжный способ работы с Тоталом во время поиска - это запуск второй копии. Также можно использовать сторонние наработки, которые активизируют окно TC. Разумеется, все они неофициальные и могут использоваться исключительно на свой страх и риск.

В целом, надежда на создание фонового поиска есть. В качестве возможного варианта Гислер видит следующий: запускать программно отдельную копию Тотала, которая будет выводить только диалог поиска. Это решит проблемы потокобезопасности, но появляются новые проблемы - например, с передачей результата поиска в панель (Feed to listbox)...

Константин Власов


Инструмент мультипереименования

Вопросы, связанные с инструментом группового переименования TC.

· Год после названия и наоборот
· Замена нескольких подстрок за один проход
· Использование спецсимволов при мультипереименовании
· Нормализация имён файлов
· Переименование файлов по списку
· Пробелы перед заглавными буквами


Год после названия и наоборот

Q: Есть несколько музыкальных альбомов, находящихся в папках, с названиями по виду:

Hunting High And Low 1985
Memorial Beach 1993
Minor Earth Major Sky 2000
Scoundrel Days 1986

Как быстро перевести их в вид: "Год - Название альбома"?

A: Переименуй по маске:

[N-4-] - [N1--6]

Batya


Замена нескольких подстрок за один проход

Q: Есть несколько файлов.
В названии некоторых есть строка "ааа", ее надо заменить на "ббб".
В названии других есть "ссс", надо заменить на "ддд".

A: Найти: ааа|ссс
Заменить на: ббб|ддд

Константин Власов


Использование спецсимволов при мультипереименовании

Q: Каким образом можно добавлять специальные символы вроде "[" и "]" при групповом переименовании?

A: Справка TC:

   [[] Вставляет открывающую квадратную скобку.
[]] Вставляет закрывающую квадратную скобку (внутри квадратной скобки не могут быть вставлены другие команды!)

Русская справка Total Commander

Q: А если нужно так: исходное - "[C]_of_26]" (если я правильно понял). Вводим так - "[[[C[]]_of_26[]]". Т.е., нужно ли КАЖДУЮ квадратную скобку обрамить парой закрывающих скобок?

A: Внутри квадратной скобки не могут быть вставлены другие команды!
Иначе говоря, команды типа [C], [N] нельзя объединять внутри одной общей пары обрамляющих скобок с собственно квадратной скобкой.
Алгоритм элементарнейший. Пусть нужно задать имена, скажем, Фильм_[CD<n>_[rus]], где <n> - счётчик. Тогда сначала обрамляем каждую квадратную скобку внешними квадратными скобками, например: Фильм_[[]CD<n>_[[]rus[]][]], а потом вставляем в то место, куда нужно, счётчик [C]: Фильм_[[]CD[C]_[[]rus[]][]].

Константин Власов


Нормализация имён файлов

Q: Накачал из инета музыкальных файлов, все они называются по разному, к примеру:

05. )EI3( - Bad Company - Believe.mp3
14. )EI3( - Bad Company - Son of Nitrous.mp3
214-bad_company_and_trace-nitrous-sour.mp3
D-Bad_Company-The_Running_Man-sour.mp3
10 - bad_company-navajo-sour.mp3

и т.д. Файлов несколько сотен и переименоввывать их вручную мне не улыбается. Может ли TC как-то привести этот беспорядок хоть к сколько-нибудь нормальному виду?

A: Может. Используйте инструмент мультипереименования со следующими параметрами:

Найти: ^[^-]*-\s*([^-]+?)\s*-\s*([^-]+?)\s*(-.*)?\.([^.]*)$
Заменить: $1-$2.$4

Регулярные выражения должны быть включены.

white

Q: Есть файлы названные таким образом:

px_85 (130).jpg

Естественно цифры все время разные.
Переименовать их надо так:

130_85.jpg

A: Регулярное выражение.

Найти: px_(\d+) \((\d+)\)
Заменить на: $2_$1

Константин Власов

Q: Помогите ещё раз.
1_85.jpg нужно переименовать в 001_85.jpg,
соответвственно 10_ в 010_

A: Сходу не скажу, возможно, одним проходом и не получится. Можно сделать это в три прохода:
1. Вышеуказанное выражение.
2. Не закрывая диалог, нажать F5 (или кнопку с изогнутой стрелочкой рядом с кнопкой "Запуск") - все только что переименованные файлы снова загрузятся. После этого провести такую замену: (\d_) на 00$1 (это заменит все имена вида 1_85 на 001_85).
3. Снова нажать F5 и провести аналогичную замену, но уже для двухциферных: (\d\d_) на 0$1

Константин Власов


Переименование файлов по списку

Q: Есть куча avi-файлов, к ним прилагаются субтитры. Имена файлов сабов и видео не совпадают, а их надо привести к единому виду. Как это сделать быстрее всего?

A: Лучше всего использовать возможности инструмента мультипереименования TC 7.0. Алгоритм такой: копируем имена всех avi-файлов в буфер обмена (cm_CopyNamesToClip), выделяем все файлы субтитров, вызываем MRT (Ctrl+M), жмём кнопку с иконкой редактора, выбираем опцию "Редактировать имена", вставляем содержимое буфера обмена, автозаменой меняем расширение на нужное. Сохраняем файл, закрываем редактор, соглашаемся с заменой.

По ответам forum.wincmd.ru


Пробелы перед заглавными буквами

Q: У меня есть куча файлов, с названиями по шаблону "ЭтоИмяФайла.txt". Как мне быстро привести их к шаблону "Это Имя Файла.txt"?

A: В инструменте мультипереименования указываем:

Для латинских символов:

Найти: (?-i)([a-z])([A-Z])
Заменить: $1 $2

Для кириллических символов:

Найти: (?-i)([а-я])([А-Я])
Заменить: $1 $2

Для любых символов:

Найти: (?-i)([a-z|а-я])([A-Z|А-Я])
Заменить: $1 $2

Регулярные выражения должны быть включены.

По материалам http://ghisler.ch/board/


Инструмент сравнения

Вопросы, связанные с инструментом сравнения TC.

· Ввод Tab в инструменте сравнения
· Сравнение каталогов только по именам


Ввод Tab в инструменте сравнения

Q: Можно как-то во встроенном инструменте сравнения в режиме редактирования ввести Tab?

A: Можно. Удерживая Alt, введи 09 на цифровой клавиатуре.

DrShark


Сравнение каталогов только по именам

Q: Как сравнить каталоги ТОЛЬКО по именам файлов? Игнорируя дату, размер, и т.д.

A:
1. Используешь команду "Синхронизировать каталоги...".
2. В секции кнопок "Показывать" отжимаешь все, кроме "Не равно".
3. Нажимаешь "Сравнить".
4. Выделяешь все.
5. Выполняешь команду контестного меню "Выделить для копирования ...", выбрав направление из Б в А.
6. Нажимаешь "Синхронизировать".
7. В активной строке "Слева направо" или "Справа налево" указываешь путь к папке С.
8. Нажимаешь ОК.
9. Выделяешь все.
10. Выполняешь команду контестного меню "Выделить для копирования ...", теперь выбрав направление из А в Б.
11. Нажимаешь "Синхронизировать".
12. Ничего не меняя, нажимаешь ОК.

Хотя пунктов много, выполняется очень быстро.

Batya


Архивация и wcx-плагины

Вопросы, возникающие при работе с инструментами архивации и архиваторными плагинами TC.

· CD/DVD образы - как архивы
· TC не открывает архивы WinRar 3.50
· Архиватор для распаковки запароленных zip-архивов из TC
· Архивация каждого выбранного файла/папки в отдельный архив
· Быстрое изменение параметров упаковки
· Быстрое преобразование zip sfx-архива
· Вход в архивы, как в каталоги
· Как запретить входить в архивы как в каталоги?
· Как определить плагин, работающий с архивом?
· Как указать, что JAR - тоже Zip-архив?
· Открытие всех файлов в архиве без запроса подтверждения
· Ошибка создания большого zip-архива
· Передача параметров при архивации
· Переконвертация архивов
· Предложение о переупаковке файлов Office
· При распаковке не сохраняется структура архива
· Просмотр содержимого архива без его открытия
· Разные иконки для разных типов архивов
· Распаковка архива в текущий каталог
· Распаковка запароленных RAR-архивов
· Распаковка файлов в папку с именем архива


CD/DVD образы - как архивы

Q: Как мне работать с CD/DVD-образами (iso, nrg, mdf, img и bin) как с архивами?

A: Использовать плагин iso.wcx. Помогает в 99% случаев.

Павел Дубровский


TC не открывает архивы WinRar 3.50

Q: TC не открывает архивы WinRar 3.50, использующие стили оформления.

A: Ставим WinRar 3.51+ (там пофиксена эта ошибка) и TC 6.54a+ - там таких ошибок нет (улучшен алгоритм поиск заголовка архива).

Павел Дубровский


Архиватор для распаковки запароленных zip-архивов из TC

Q: Каждый раз при обращении к файлу в запароленном архиве предлагается ввести пароль. Или же такие архивы совсем не распаковвываются TC. Как чинить?

A: Найти альтернативную wcmzip32.dll, которая позволяет работать с запароленными ZIP-архивами (паковать/распаковывать). В оригинальном файле нет функции шифрования из-за ограничений в швейцарских законах на экспортное ПО. Последняя рабочая ссылка тут.

По ответам форума forum.wincmd.ru


Архивация каждого выбранного файла/папки в отдельный архив

Q: Как сделать архивацию каждого выбранного файла/папки в отдельный архив?

A: Alt+F5, включить опцию "Отдельные архивы для каждого файла/каталога".

Константин Власов


Быстрое изменение параметров упаковки

Q: При архивации по Alt+F5 предлагается сохранять полученный архив в противоположной панели. Иногда требуется удалить исходные файлы или сохранять архив в исходный каталог. В диалоге архивации это можно сделать, но есть ли способ сделать это быстрее?

A: Способ есть. Дело в том, что команда cm_PackFiles ведёт себя по разному в зависимости от того, какими клавишами она была вызвана. Вот полный список:

A+F5, AS+F5, S+F5 - упаковка в противоположную панель.
C+F5, CS+F5, CA+F5 - упаковка в ту же панель.
ACS+F5 - упаковка в ту же панель, с удалением исходных файлов.

Комбинации для выполнения копирования в другую панель с удалением исходных файлов нет - в диалоге копирования приходится вручную ставить необходимую галочку.

Павел Дубровский


Быстрое преобразование zip sfx-архива

Q: Как мне преобразовать имеющийся zip-архив в exe (sfx-zip)?

A: Достаточно просто изменить расширение с zip на exe - TC выполнит необходимую конвертацию.

Павел Дубровский


Вход в архивы, как в каталоги

Q: Есть какие-то файлы, которые внутри себя содержат архивы, а расширение имеют "неархивное", скажем sfx-архивы. Каким образом входить в них, как в каталоги?

A: Total Commander позволяет "заходить" в самораспаковывающиеся архивы (с расширениями EXE), как в обычные архивы, показывая их содержимое как обычный каталог с файлами. Для этого нужно нажать комбинацию клавиш Ctrl+PageDown, когда курсор установлен на файле архива. Этот же фокус применим и к любым другим архивам, которые однако имеют другое расширение.

Ergo


Как запретить входить в архивы как в каталоги?

Q: Как запретить входить в архивы как в каталоги?

A: Сними галочку "Входить в архивы как в каталоги" в настройках (страница "Архиваторы").
Также можно открывать архив в WinRAR даже когда эта опция включена: достаточно нажать Shift+Enter вместо Enter.

Константин Власов


Как определить плагин, работающий с архивом?

Q: Как можно посмотреть, какой wcx-плагин обрабатывает архив?

A: Выбрать в архиве файл и посмотреть его свойства. В поле Packer будет указана соответсвующая плагину запись из [PackerPlugins], или имя архиватора (для внутренне обрабатываемых архивов). Найдя в Wincmd.ini сооветсвие этой записи, можно определить плагин.

vserd


Как указать, что JAR - тоже Zip-архив?

Q: Каким образом можно указать TC, что файлы *.jar (java-приложения для мобильного телефона и другие программы, выполняемые в среде Java) - это архивы, что им надо показывать иконку архива, входить в них как в архивы и их надо обрабатывать встроенным ZIP-пакером?
Короче, как сказать ему, что jar это тот же zip, но с другим расширением?

A: wincmd.ini

[PackerPlugins]
jar=255,%COMMANDER_PATH%\Wcmzip32.dll

Timofey


Открытие всех файлов в архиве без запроса подтверждения

Q: Как сделать открытие всех файлов в архиве без запроса подтверждения?

A: В общем, так:
Если в wincmd.ini разделе [Packer] добавить строчку ExpertMode=1, то без вопросов будет запускаться файл, но к сожалению весь архив не распаковывается... только тот файл который выбрали.

Leshiy


Ошибка создания большого zip-архива

Q: Беда: не хочет архивироваться встроенным zip-ом файл >2 Gb. Это у всех так или только у меня? Пишет: Ошибка создания файла bla-bla.zip. ОС стоит на NTFS, rar зажимает без проблем.

A: Ограничение zip на размер файла в 2 Гб. В WinRar 3.50 была добавлена поддержка zip64, что решает эту проблему.

По ответам форума forum.wincmd.ru


Передача параметров при архивации

Q: Время от времени варьирую сжатие RARом с включённым recovery record и без него. Крайне неудобно: либо приходится запускать standalone WinRAR, либо периодически вызывать диалог настройки ТС и подправлять там параметры запуска RAR. Есть какой-нибудь простой и доступный способ играть этой настройкой на ходу?

A: В диалоге упаковки, после названия архива, допиши соответствующие ключи: -rr или -rr-.
Там можно любые опции писать. Они передаются в командную строку внешнего архиватора.

Kent


Переконвертация архивов

Q: Подскажите, может ли TC переконвертировать архивы? Например RAR в mpq или для этого нужен спец. плугин и бывают ли такие?

A: Если плагин для расширения, в которое надо конвертировать, поддерживает упаковку, то проблем нет. Устанавливаешь плагин, заходишь в файл, который надо конвертировать, жмешь Alt+F5, выбираешь в списке внешних архиваторов тот, что нужен... Всё. Для теста без проблем конвертанул RAR в MPQ.
Архиваторных плагинов для Тотала КУЧА НЕИМОВЕРНАЯ.

Павел Дубровский


Предложение о переупаковке файлов Office

Q: Если открыть файл Офиса (*.doc, *.xls), находящийся в архиве, то потом TC выдаёт сообщение: "Файл был изменён. Хотите упаковать обновлённый файл?" даже если изменений в файле не сделано. Почему это происходит, и как это отключить?

A: Это никак не отключишь - особенность работы MS Office: он при открытии файла создаёт его копию файла и с ней работает. А потом, если я не ошибаюсь, её сохраняет даже если файл не был изменён => дата файла меняется и Тотал думает, что файл нужно переупаковать. Насколько я знаю, переупаковку нельзя отключить по соображениям безопасности - юзер может подумать, что тотал автоматически *упаковывает*.

P.S.: Используй какой-нибудь плагин для просмотра документов, или покачай с микрософта соответствующие проги.

funduk


При распаковке не сохраняется структура архива

Q: Вылезла странная проблема. Захожу в архив с папками, выделяю. Жму F5. Результат: все, что было в подпапках попадает в корень, а папки пусты.
В чем может быть проблема?

A: В диалоге, появляющемся после нажатия F5, поставь галочку "Учитывать подкаталоги" ("Unpack path names if stored with files").

Константин Власов


Просмотр содержимого архива без его открытия

Q: Суть в том, что мне часто приходится разгребать тысячи архивных файлов в каталоге. Разборка сводится, в основном, к быстрому просмотру содержимого через комбинацию нажатий "Enter"+"Enter"+"Down", т.е. "зашел, вышел, зашел в следующий... и т.д.". Если надо просмотреть 100 таких архивов, то это ненапряжно, но когда их 5000... В общем, хотелось бы иметь средство, которое, аналогично быстрому просмотру по Ctrl+Q, показывало содержимое архивов, скажем, в противоволожной панели, когда я по ним перемещаюсь. Это сэкономило бы массу времени, т.к. нажимать пришлось бы только одну клавишу "вниз". Быстрый просмотр очень странно работает с ZIP (иногда показывает не список файлов, а непонятно что) и совсем не работает с RAR - не распознает его и открывает на просмотр файл листером. Что посоветуете?

A: Ищи плагины просмотра ArchView и ArcView. Какой-то из этих плагов (а может - и оба), при должной настройке покажут тебе список содержимого в архивах (точно держатся Rar и Zip).

Павел Дубровский

А: В случае с ZIP архивами можно обойтись плагином IEView. Для этого настройте IEView таким образом, чтобы он обрабатывал также расширение zip. При этом содержимое архива будет выглядеть так же, как в Проводнике Windows - в виде набора иконок. К сожалению, данный вариант не подойдет к другим типам архивов: RAR и т.д.

Alextp


Разные иконки для разных типов архивов

Q: Можно ли под каждый тип архивов поставить свою иконку?

A: Нельзя. Можно только для архивов, подключаемых через плагины в wincmd.ini изменить число, следующее после расширения, рассчитанное с учетом того чтобы в архивы можно было входить только по Ctrl+PgDn. Тогда у данного типа архива будет иконка приложения ассоциированного с этим типом в Проводнике, и по Enter-у будет запускаться это приложение.

Ergo


Распаковка архива в текущий каталог

Q: Есть ли команда для распаковки в текущем каталоге?

A: Спецкоманды нет, но это сделать очень легко: после нажатия Alt+F9 появляется диалог распаковки, в котором указан путь, куда помещать распакованные файлы. Просто удали этот путь (он весь выделен, так что достаточно лишь нажать клавишу Del или BkSpace), и всё. Т.е. получается всего на одну клавишу больше.

Константин Власов


Распаковка запароленных RAR-архивов

Q: Как распаковывать RAR-архивы, на которые установлен пароль?

A: Так же, как и обычные: по Enter или Ctrl+PageDown зайти в архив, при обращении к запароленному файлу будет выдан запрос пароля. Единственная ситуация, когда может возникнуть проблема - если имена файлов в архиве тоже зашифрованы. В этом случае Тотал показывает пустой список. К сожалению, сейчас эту проблему решить невозможно; единственный способ - распаковать архив целиком (Alt+F9) или открыть его внешним архиватором (тем же WinRAR, например).

Константин Власов


Распаковка файлов в папку с именем архива

Q: WinRar в меню проводника встраивает свой пункт, чтоб распаковывать в папку, совпадающую с названием архива.
В ТС это можно как-то организовать подобным образом? Мне бы мышкой, да еще чтоб кликать поменьше на всяких галочках,менюшках и пр.

A: Создаёшь в меню "Запуск":
Команда: %COMMANDER_PATH%\PLUGINS\WCX\WINRAR\WINRAR.EXE
Параметры: x %P%N %P%O\

Называешь пункт "Распаковать в папку с именем архива"
Вешаешь на него любой удобный хоткей (у меня Ctrl+Alt+F6), и наслаждаешься результатом... Если надо мышкой - создай соответствующую кнопку в тулбаре.

А вообще при распаковке по Alt+F6 есть пункт "Распаковать каждый архив в отдельный каталог (с именем архива)" - это тоже помогает.

Spine


Пользовательские колонки и wdx-плагины

Вопросы, возникающие при использовании пользовательских колонок и контентных плагинов TC.

· Автопереключение пользовательских колонок
· Вывод подсказок для файлов на сетевых дисках
· Копирование информации из Custom view-панели
· Переключение пользовательских колонок
· Просмотр информации о фото, сделанных цифровой камерой


Автопереключение пользовательских колонок

Q: А можно сделать так, чтобы определенные колонки пользователя работали в определенных каталогах? Т.е., чтобы при входе в одну папку включался один вид, а в другую - другой?

A: Можно плагином SuperWDX.

Павел Дубровский


Вывод подсказок для файлов на сетевых дисках

Q: Для mp3-файла на локальном диске хинт содержит данные из ID3-тегов, а для того же файла на сетевом диске выводятся только имя, тип, размер и время изменения. Как исправить?

A: Если хинт выводится с помощью стандартных OLE-подсказок - тогда на сетевых дисках он выводится как описано. Если хинт выводится с помощью контентных плагинов Total Commander, то всё работает - проверено. Как настроить вывод инфы из плагинов в подсказки, описано здесь.

Павел Дубровский


Копирование информации из Custom view-панели

Q: Есть настроенный Custom view. Например, информация о музыкальных файлах, 5-6 колонок. Требуется список файлов в режиме Custom view скопировать в буфер обмена в текстовом виде. Можно ли это как-то сделать?

A: cm_CopyFileDetailsToClip (TC 7.0+)

DrShark


Переключение пользовательских колонок

Q: Как сделать, чтобы HotKey, вызывающий пользовательский режим просмотра (Custom columns mode), действовал как переключатель, также как HotKey, вызывающий режим просмотра комментариев (по умолчанию Ctrl+Shift+F2)?

A: Могу посоветовать использовать команды cm_srcnextcustomview и cm_srcprevcustomview. Я например себе сделал в инишнике:

[Shortcuts]
A+Z=cm_srcnextcustomview
A+X=cm_srcprevcustomview

(Alt+Z и Alt+X для переключения на следующий и на предыдущий режимы соответственно).

Павел Дубровский


Просмотр информации о фото, сделанных цифровой камерой

Q: Хотелось бы настроить ТС таким образом, чтобы сразу была видна инфа о фотографии, сделанной цифровиком. В частности, интересует "дата создания снимка", которую прописывает сам аппарат. Также интересна и остальная инфа, которая отображается в меню "свойства"->"дополнительно".

A: Exif plugin (wdx-плагин для отображения Exif-информации).

c930


Просмотр файлов и wlx-плагины

Вопросы, связанные с инструментом просмотра (Lister) и плагинами просмотра TC.

· Быстрый просмотр
· Другой плагин для расширения
· Изменить размер табуляции
· Информация о папках по Сtrl+Q
· Какой плагин просмотра лучше: Imagine или SGViewer?
· Не работает просмотр PDF через IEView
· Несколько листер-плагинов для одного расширения
· Перенос строк в Lister
· Подсветка синтаксиса в Lister
· Прокрутка в листере колесиком мыши
· Просмотр *.doc без плагинов
· Просмотр определённого файла в листере
· Размер панелей в режиме быстрого просмотра
· Редактирование файлов в панели
· Слайд-шоу
· Смена цветов для Листера


Быстрый просмотр

Q: Хотелось бы как-то реализовать функцию быстрого просмотра файлов в какой-нибудь третьей панели, или в другом окне, чтобы можно было сразу метить просматриваемые файлы и копировать их в другую панель. То есть, чтобы были одновременно доступны и навигация, и просмотр, и работа с файлами. Возможно, эта проблема решается уже сейчас, в таком случае подскажите, кто знает.

A: Пример:
Левая панель - просматриваемые файлы.
Правая панель - папка, куда копировать.
В левой панели жмём Qtrl+Q, в правой открывается просмотрщик. Спокойно просматриваем/отмечаем требуемые файлы и копируем - они будут копироваться туда, куда надо.

Павел Дубровский


Другой плагин для расширения

Q: У меня для расширении xxx установлено несколько плагинов-просмотрщиков. По умолчанию используется плагин А. Как сделать так, чтобы по умолчанию использовался плагин Б.

A: Откройте настройку внутреннего просмотрщика - LS Plugins. Начиная с версии 6.0 в Total Commander можно изменять порядок плагинов-просмотрщиков стрелками вверх-вниз, удерживая Shift. Первым используется плагин, который стоит выше для этого расширения. Или отредактируйте wincmd.ini вручную.

Ergo


Изменить размер табуляции

Q: Когда смотрю отформатированный текст, Lister делает размер табуляции 8 символов. Можно ли это изменить?

A: wincmd.ini -> [Lister] -> TabWidth.

Константин Власов


Информация о папках по Ctrl+Q

Q: Хочу, чтобы по Ctrl+Q для папок показывался размер папок и количество файлов в них, а не содержимое в виде проводника (может надо какой плуг отключить?).

A: У тебя подключен IEView. Отключи его, или в Ieview.ini в секции Options укажи ShowDirs=0.

Batya


Какой плагин просмотра лучше: Imagine или SGViewer?

Q: А какой просмотрщик лучше Imagine или SGViewer? И чем?

A: Личные предпочтения решают всё. Imagine быстрее открывает джпеги (SGViewer'у надо ещё отдельную дллку в виндовую директорию устанавливать), да и функций у него побольше. Правда, глюков у Imagine тоже больше. А SGViewer корректно показывает PSD-файлы всех версий Photoshop (за Imagine тут замечены глюки).
Юзаю именно Imagine, т.к. им удобно делать ресайз пикчей и сохранять в разных форматах (он их много поддерживает). В принципе, оба плага развиваются, так что окончательные выводы делать рано.

Павел Дубровский


Не работает просмотр PDF через IEView

Q: Установил плагин IEView, но файлы PDF не просматриваются в Lister-е.

A: Откройте файл ieview.ini в папке плагина и установите параметр AllowActiveX=1. По умолчанию ActiveX отключено по рекомендации автора Total Commander, так как ActiveX потенциально опасен и может содержать вызов вируса. Но это только потенциально :)

Ergo


Несколько листер-плагинов для одного расширения

Q: У меня для расширения xxx установлено несколько плагинов-просмотрщиков, но у меня получается просматривать только одним?

A: Во время просмотра файла по F3 или Ctrl+Q (должна быть активна панель быстрого просмотра) нажмите 4 на клавиатуре - будет использован следующий по порядку просмотрщик, ассоциированный с этим расширением.

Ergo


Перенос строк в Lister

Q: Беда такая - жму F3 (цель просмотреть Листером текстовый файл), вижу текст, ставлю опцию "переносить строки". Lister строки конечно переносит, но так, что длина строки больше ширины окна на 13 символов. Всегда 13 или нет - не проверял. Но перенос строк работает всегда некорректно (или не так как я себе его представляю :).

A: Оставшееся "за бортом" можно посмотреть, использовав линейку горизонтальной прокрутки.

Перенос строк осуществляется по фиксированному количеству символов. Это количество настраивается (Опции -> Настройка -> Ширина строки (в символах)). Просто уменьши это количество, насколько тебе нужно, и всё. Или растяни само окно Lister'а (не забудь только сохранить этот размер потом). К сожалению, динамического переноса строк (по границе окна) сейчас нету.

Константин Власов


Подсветка синтаксиса в Lister

Q: Возможна ли подсветка синтаксиса, типа как colorer в FAR?

A: Раз - http://wincmd.ru/plugring/synplus.html
два - http://wincmd.ru/plugring/SciLister.html

Ergo


Прокрутка в листере колесиком мыши

Q: Постоянно сталкиваюсь с такой проблемой: в листере колесиком мыши можно проматывать только файлы txt (может еще какие - не знаю), но html-код (пишу сайт) просматривать неудобно – приходится по старинке скроллбар юзать. Можете что-нибудь посоветовать, как облегчить страдания?

A: Чем ты пользуешься для просмотра HTML? Если самим Просмотрщиком (режим 5), то, по идее, должно работать. Если же плагином IEView, то, скорее всего, ты используешь какую-то старую версию. Тогда варианта два: либо обновить версию - в новых это пофиксено, либо после открытия окна Lister'а делать щелчок мышью внутри окна просмотра, чтобы фокус оказался у плагина - тогда прокрутка начинает работать.

Константин Власов


Просмотр *.doc без плагинов

Q: Прочитал, что Lister может читать документы MS Office (*.doc, текстовые части *.xls) даже без установленных плагинов. Но у меня, при просмотре по F3 таких файлов, видны только какие-то нечитаемые символы...

A: Такая возможность имеется на самом деле. Исходя из того, что в документах MS Office старого формата (до 11-12 версии включительно) текст хранится как обычный юникод, достаточно в листере выбрать просмотр Unicode. В этом случае текстовая часть файла станет читаемой (а всё остальное так и останется нечитаемыми кракозябрами).

Павел Дубровский


Просмотр определённого файла в листере

Q: Как сделать, чтобы по нажатии кнопки/пункта меню открывался листер с заранее определённым файлом?

A: В поле "Команда" пропиши cm_List "имя_файла".

По ответам форума forum.wincmd.ru


Размер панелей в режиме быстрого просмотра

Q: Возможно ли сохранение пропорции панелей TC в режиме быстрого просмотра по Ctrl+Q? Хотелось бы чтоб по умолчанию было 50x50 а при быстром просмотре 80x20.

A: Чисто случайно опытным путем нашел, что за это отвечают две переменные в wincmd.ini:

Divider=500
DividerQuickView=200

PaNik

A: Чтобы зафиксировать ДВА РАЗЛИЧНЫХ положения разделителя для обычного режима и для Quick View совсем необязательно вручную редактировать wincmd.ini. Чтобы это сделать, переключитесь в режим Quick View, перетяните разделитель в нужное для вас положение и выберите меню Конфигурация/Запомнить позицию (Configuration/Save Position). Соответствующая команда TC — cm_ConfigSavePos. И все! При следующих "сеансах" быстрого просмотра разделитель сам передвинется на нужное место.

Alternativa


Редактирование файлов в панели

Q: При написании какого-нибудь скрипта ил батника представляется удобным иметь возможность в одной панели его редактировать, а в другой - запускать и просматривать результаты (если появляются новые файлы).

A: Может тебе Ctlr+Q и плагин SynPlus поможет? Он редактировать умеет.

StayAtHome


Слайд-шоу

Q: Каким плагином мне сделать слайд-шоу по картинкам?

A: SGViewer это точно умеет.

По ответам форума forum.wincmd.ru


Смена цветов для Листера

Q: Как менять цвета (фон, шрифт, выделение) в листере?

A: Настройки->Цвет. В списке выбираешь пункты, относящиеся к листеру, и настраиваешь их.

Павел Дубровский


Wfx-плагины

Вопросы, связанные с файлсистемными плагинами TC.

· Где находятся wfx-плагины?
· Почему в панелях системных плагинов нельзя использовать контентные плагины?


Где находятся wfx-плагины?

Q: Установил плагин ABC.wfx, вроде всё прошло нормально... Но где теперь его искать?

A: Для кого-то это звучит парадоксально, но в "Сетевом окружении" TC. Логичнее было бы вынести их в отдельный раздел, но почему так не сделано - ведает только наш орёл Гислер.

По ответам форума forum.wincmd.ru


Почему в панелях системных плагинов нельзя использовать контентные плагины?

Q: Почему в панелях системных плагинов нельзя использовать контентные плагины (пользовательские колонки)?

A: Ограничение TC. Нужно расширение интерфейсов плагинов, но когда оно будет - известно только Гислеру...

По ответам форума forum.wincmd.ru

A: Начиная с TC 7.0 файлсистемные плагины поддерживают пользовательские колонки. О том, чтобы добавить такую поддержку в плагин, должен заботиться его автор.

Павел Дубровский


Ошибки и ограничения TC, и вызванные ими проблемы

Решение проблем, связанных с ошибками и критическими ограничениями в TC.

· Total Commander и Win 64
· Избранные каталоги. Ограничение в 200 строк
· Количество строк в панели инструментов
· Копирование в NUL через BTM
· Ограничение количества шаблонов поиска
· Ошибка в путях установки плагинов
· Перемещение папки при ее переименовании


Total Commander и Win 64

Q: В контекстном меню Тотала не отображаются "Add to Archive...", "Extract To..." и прочие пункты от WinRAR'a. Подозреваю, что вина 64-битной винды. У кого-нибудь наблюдается подобное, как лечили?
В Windows Explorer все пункты отображаются.
Пункты других программ (например FastStone ImageViewer) в Тотале отображаются нормально.

Q: В системных каталогах Win 64 не видны файлы. Drag'n'drop из проводника в TC также не работает.

A: В Win 64 TC работает под эмуляцией (т.к. это 32-хбитное приложение), соответственно, Windows не "выдаёт" ему доступ к своим системным файлам. Ждём TC 64bit...

По ответам форума forum.wincmd.ru

A: Всем любителям 64-битной винды посвящается!

Начиная с седьмой версии, в Тотале появился экспериментальный ключик x64DisableRedirection, позволяющий отключить перенаправление системных папок в 32-битные копии. Если хотите более полноценной работы Тотала в Windows x64, включайте этот параметр и пробуйте.
Имейте в виду, что в таком режиме не смогут работать некоторые плагины, которые грузят DLL-файлы динамически (т.к. Тотал не может перехватить такие загрузки и перенаправить на нужную DLL).

Константин Власов

Q: "Крякнутая" версия TC не работает под Win64. Что делать?

A: А ничего. Взломанный файл totalcmd.exe работать под Win64 не будет, пользуйтесь невзломанным TC. Ну или, на крайняк, ищите ключ под свою версию.

Павел Дубровский

Q: А когда, собственно, мы дождёмся 64-битной версии Total Commander?

A: Два варианта: а) никогда б) очень нескоро.
Во-первых, 64-хбитная платформа должна вытеснить 32-хбитную, чтобы был резон такую версию выпускать. Дело, конечно, к этому и идёт, но всё равно - процесс это нескорый.
Во-вторых, должна, как минимум, выйти 64-хбитная версия Delphi. Произойдёт это когда-либо или нет - неизвестно никому.
В-третьих, нужно будет переписать все плагины под 64-хбитную платформу. Соответственно, нужны 64-хбитные компиляторы для языков, на которых плагины написаны, и желание авторов плагинов этим заниматься.
В-четвёртых, никакой особенной выгоды в TC 64 bit не будет, т.к. функций, которые получат ускорение на этой платформе, в нём почти нет.

По ответам форума forum.wincmd.ru


Избранные каталоги. Ограничение в 200 строк

Q: Кто столкнулся с такой проблемой: ограничение DirMenu в 200 строк. Можно ли увеличить?

A: Ограничение не фатальное по как минимум двум соображениям:
1) Можно сделать панели (button bars) с кнопками на папки. Таких панелей можно сделать хоть 1000, по 30-40 кнопок на каждой;
2) С помощью всякого софта "третьих сторон" (PowerPro или kkMenu) можно осуществить переход к избранным директориям. Насколько я знаю, в этих двух программах никаких ограничений на количество нет.

Почему никого не смущает, что количество вкладок ограничено числом не в 200, а в 100?! Ведь какое-то ограничение должно быть! Если бы он сделал не 200, а 2000, кому-то наверняка и этого бы не хватило.

У меня самого меню директорий содержит уже 187 пунктов. Хотя штук 20-30 там лишних, надо просто найти полчаса и почистить. Но когда они истекут, обращусь к почти безграничным возможностям PowerPro, чего и вам желаю.

Вахмурка

A: В TC 7.0 это ограничение было расширено до 998 строк (если ранее не был уже достигнут предел в 64 Кб для соответствующей секции INI-файла).

Павел Дубровский


Количество строк в панели инструментов

Q: Кто знает, почему Total Commander позволяет делать максимально только два ряда в одной панели, и поэтому приходится делать вторую, третью панель, и, соответственно, делать для них кнопки-ссылки на первой. Это ограничение в самой программе, или надо что-то изменить в wincmd.ini?

A: Это ограничение программы, которое нельзя обойти.

Константин Власов


Копирование в NUL через BTM

Q: Пытаюсь сделать копирование в NUL через BTM (F2 в диалоге копирования), но получаю сообщение об ошибке...

A: Извините, BTM на текущий момент не поддерживает копирование в файлы устройств (NUL, COM и т.д.).

Cristian Ghisler


Ограничение количества шаблонов поиска

Q: При редактировании и добавлении шаблонов поиска, где-то на второй сотне они просто перестают добавляться. Двести шаблонов, конечно, не всякому надо, но можно ли это как-то обойти?

A: Если ручками добавлять шаблоны в wincmd.ini, то работать они будут. Видимо, ограничение в интерфейсе, а не в коде.
Не самый приятный способ, конечно, но другого я не нашёл. Прочитать о том, как добавлять шаблоны в wincmd.ini можно здесь.

Павел Дубровский

A: В TC 7.0 это ограничение было убрано. Оказывается, из-за допущенной ошибки, общий размер секции [Searches] не мог превышать 8 Kb.

Павел Дубровский


Ошибка в путях установки плагинов

Q: Почему некоторые плагины инсталлируются в несоответствующую расширению папку: к примеру, у меня плагин procfs.wfx почему-то распаковался в папку \plugins\wcx\procfs хотя в pluginst.inf прописано type=wfx.

A: Тотал ищет первый каталог в PluginsDir, в подкаталогах которого находится wfx файл, и в этот подкаталог PluginsDir устанавливает новый wfx-плагин. Тупо, но факт.

funduk


Перемещение папки при ее переименовании

Q: Если при переименовании папки новое имя совпадает с существующей папкой, то TC не выдает сообщение о невозможности переименования, а перемещает папку в существующую!
Как сделать, чтобы ТС выдавал сообщение о невозможности переименования, как это было в ранних версиях TC или и сейчас в проводнике?

A: Известный баг (или фича?), который не правится от версии к версии...

Павел Дубровский

Это исправлено в TC 7.0 (теперь выдаётся запрос).

Павел Дубровский


Написание плагинов для TC

Вопросы, возникающие при написании плагинов для TC

· Загрузка статических библиотек в плагине
· Особенности работы функции LogProc
· Что нужно для написания плагина?


Загрузка статических библиотек в плагине

Q: Я пишу плагин для TC. Как известно, плагин - это динамически загружаемая библиотека. Но мой плагин, в свою очередь, использует статически слинкованную библиотеку, и при загрузке не может её найти, если та не находится в каталогах, указанных в %PATH%. В результате при инсталляции плагина появляется сообщение об ошибке.
Динамическая загрузка библиотеки мне не подходит, а инсталлятор TC не умеет копировать файлы в заданные каталоги. Как исправить ситуацию?

A: Нужно использовать функцию SetCurrentDirectory() с указанием пути расположения этой статически слинкованной библиотеки ПЕРЕД её загрузкой.

Cristian Ghisler


Особенности работы функции LogProc

Q: Я пишу файлсистемный плагин, и не могу понять одну вещь. Мне необходимо отображать некоторую информацию в информационной панели FTP. Когда я использую примерно следующий код:

...
MyLogProc:TLogProc;
...
function FsInit(PluginNr:integer;pProgressProc:tProgressProc;pLogProc:tLogProc;pRequestProc:tRequestProc):integer; stdcall;
Begin
PluginNum:=PluginNr;
MyLogProc:=pLogProc;
MyLogProc (PluginNum,MSGTYPE_DETAILS,'Bla-bla-bla');
Result:=0;
end;

панель FTP не появляется. Следующий код:

...
MyLogProc:TLogProc;
...
function FsInit(PluginNr:integer;pProgressProc:tProgressProc;pLogProc:tLogProc;pRequestProc:tRequestProc):integer; stdcall;
Begin
PluginNum:=PluginNr;
MyLogProc:=pLogProc;
MyLogProc (PluginNum,MSGTYPE_CONNECT,'Bla-bla-bla');
Result:=0;
end;

работает как нужно, панель появляется и информация логинруется как следует. Однако в API WFX есть следующее описание:

Do NOT call LogProc with MSGTYPE_CONNECT if your plugin does not require connect/disconnect! If you call it with MsgType==MSGTYPE_CONNECT, the function FsDisconnect will be called (if defined) when the user presses the Disconnect button.

(НЕ вызывайте LogProc с параметром MSGTYPE_CONNECT, если ваш плагин не требует соединения/отсоединения. Если вы вызовете функцию с параметром MsgType==MSGTYPE_CONNECT, то функция FsDisconnect будет вызвана (если она определена в плагине) когда пользователь нажмёт кнопку "Отключение").

Мой плагин ни с чем не соединяется, мне просто нужно отображать кое-какую информацию на панели, возможно - сохраняя её в лог. Соответсвенно, MSGTYPE_DETAILS - всё, что мне требуется, но без MSGTYPE_CONNECT эта функция не работает.
Есть ли ошибка, и где?

A: Описание API слегка неточное. Панель с отображаемой информацией и кнопкой "Отключение" будет отображаться только когда функция LogProc вызвана с параметром MSGTYPE_CONNECT.
Таким образом возможно использовать функции логирования TC без отображения этой панели. Передаваемая информация будет записываться в лог в том случае, если пользователь включил логирование для FTP. Т.е. поведение этой функции можно сделать настраиваемым - пользователь сможет включать и отключать отображение панели и логирование информации самостоятельно.

Christian Ghisler


Что нужно для написания плагина?

Q: Хочу написать плагин для TC, что для этого требуется?

A: Плагины для TC - обычные 32-хбитные dll. Т.е. требуется уметь писать такие dll и компилятор, умеющий делать такие dll.
Найти справку по написанию плагинов можно на wincmd.ru (раздел "Разработчикам плагинов"). Читаем, изучаем, разбираемся, пишем.

Павел Дубровский


Другие вопросы

Интересные вопросы, не относящиеся к повседневному использованию TC.

· "Тихая" инсталляция
· 16-битная версия TC
· cm_EditPersmissionInfo
· pluginst.inf не работает
· Using Cracks is unfair!
· Для чего нужны файлы tcthumbs.db и tcthumbs.idb?
· Использование TC без ключа
· Как купить Total Commander?
· Как написать плагин для TC? Что нужно для этого?
· Особенности удаления в TC
· Почему в дистрибутиве TC нет русской локализации?
· Разница между files.bbs и descript.ion
· Лицензия разработчика
· Распакованный и запакованный totalcmd.exe


"Тихая" инсталляция

Q: Подскажите, есть ли тихая инсталляция? А если да, то как ее выполнять?

A: Открываешь EXE-файл дистрибутива как архив, правишь там файл INSTALL.INF: в секции [auto] прописываешь auto=1 и другие параметры, какие нужны, и упаковываешь обратно.
Однако, начиная с TC 7.0, дистрибутив имеет цифровую подпись, и в то же время TC 7.0 отказывается изменять подписанные архивы (предыдущие версии TC в таком случае "убивали" подпись). Выход - исправлять архив с помощью WinRAR (он также "убьёт" подпись).

Константин Власов


16-битная версия TC

Q: Слышал, что существует шестнадцатибитная версия TC. А чем она отличается от 32-хбитной, и зачем она нужна?

A: Шестнадцатибитная версия TC нужна для работы под шестнадцатибитными ОС. Конкретно - под Windows семейства 3.x (хотя эта версия будет отлично работать и под самыми новыми версиями Windows). Конечно, сейчас необходимость в такой версии уже отпала, но Кристиан Гислер продолжает выпускать эту линейку, благо код у 16-и и 32-хбитной версии одинаков (разделение идёт на стадии компиляции).
Отличается эта версия тем, что в ней нет поддержки плагинов, и тех возможностей, которые берутся непосредственно из Windows, например ole-подсказок и т.д.
На данный момент развитие шестнадцатибитной версии прекращено, последняя версия - TC 6.56, однако возможен выход одной или нескольких версий, включающих исправления обнаруженных позднее ошибок.

По ответам форума forum.wincmd.ru


cm_EditPersmissionInfo

Q: Может кто знает, что это значит:
Change button bar->Dialog box->Command->Security->

1. cm_EditPermissionInfo (Permissions dialog (NTFS))
2. cm_EditPersmissionInfo (Typo...)

Первый пункт изменяет права (EditPermissionInfo), а вот во втором пункте опечатка или ошибка в слове EditPersmissionInfo?

A: Когда-то давно Гислер при добавлении этой команды очепятался в названии, потом исправил ошибку, но на случай, если у пользователей эта команда уже используется где-то в их настройках, решил оставить оба варианта. Вот так и живут они оба в INC-файле, выполняют, естественно, одно и то же, т.к. код у них одинаковый.

Константин Власов


pluginst.inf не работает

Q: Интересная вещь: если я запаковываю свой плагин Rar'ом, то автоинстал не работает (по крайней мере - у меня), если zip - всё путём. Игрался с настройками в TC - ничего не добился. Некоторые Rar-архивы, скачанные с инета инсталлируются, некоторые - нет (с зипами же вообще никогда никаких проблем).
С чем это может быть связано? Rar установлен не самый свежий (3.20), но, вроде бы, это не принципиально.

A: В Rar-архивах срабатывает только pluginst.inf (с именем в нижнем регистре, т.е. Pluginst.inf уже не сработает). Почему - неизвестно, м.б. ограничение архиватора.

По ответам форума forum.wincmd.ru


Using Cracks is unfair!

Q: Обновил версию, после этого начались проблемы - выскакивает это сообщение "Using Cracks is unfair!".
Не пойму, что ей надо?

A: Перевод: "Использовать кряки непорядочно!"
Выводы каждый делает сам.

Константин Власов


Для чего нужны файлы tcthumbs.db и tcthumbs.idb?

Q: Объясните пожалуйста, для чего нужны файлы tcthumbs.db и tcthumbs.idb? Просто переустанавливал коммандер и нашел их в папке C:\Documents and Settings\Jarik\Local Settings\Application Data\GHISLER\ (размер почти 22 метра!)

A: Это кэш превьюшек, появляющийся при использовании режима Thumbnails в TC. Настроить расположение баз, и другие параметры, касающиеся этого режима, можно в настройках, на закладке "Эскизы".

Павел Дубровский


Использование TC без ключа

Q: Обязательно ли покупать TC после истечения пробного срока? В справке написано, что обязательно, но я слышал, что можно пользоваться и дальше...

A: Дело в том, что справка - это официальный документ. В ней описано, как теоретически должен вести себя легальный пользователь. Неофициально же Гислер сказал, что не имеет претензий, если кто-то пользуется незарегистрированной версией программы в течение более длительного времени, т.к. понимает, что программа не каждому может быть по карману. Единственная его просьба в этом случае - не пользоваться кряками и нелегальными ключами, а честно нажимать 1-2-3.

Константин Власов


Как купить Total Commander?

Q: Интересно как можно купить Total Commander на Украине и без Web-money or Cards, а за наличные или по перечислению через банк, от организации, и сколько это будет стоить?

A:
http://www.softkey.com.ua/info/index.php

Цитата:
Способы оплаты: Наличный расчет.
Наличные платежи от физических лиц производятся через любой коммерческий банк. После заполнения и подтверждения заказа Вы получите заполненную квитанцию с реквизитами Интернет-магазина. Вы сможете распечатать эту квитанцию для оплаты заказа, с параметрами Вашего заказа, и воспользоваться ей в банке.

http://www.softkey.com.ua/catalog/program.php?ID=2251&sphid=3910953

Высылаемый ключевой файл подойдет под любую версию TC и даже под будущие.
Покупаешь один раз - используешь всегда.

Так что без особой разницы - ведь ты покупаешь ключ, а не инсталляцию.
Думаю, если механизм вдруг в будущем поменяется - Гислер обеспечит старых пользователей новыми ключами (надеюсь).
Лицензия выдаётся не на машину, а на пользователя. Т.е. ты имеешь право пользоваться этим ключом на любом количестве компьютеров, лишь бы ей пользовался только ты.

Сохрани файл ключа и после переустановки системы положи его в каталог к Тоталу. Никакой привязки к характеристикам компьютера нет. Никакой дополнительной регистрации/активации/проверки не требуется.

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

Если Гислер обнаружит какой-то ключ там где не следовало бы, он просто занесет его в черный список и в следующей версии этот ключ работать не будет. Насколько я понимаю это так.

Сергеич


Лицензия разработчика

Q: Правда ли, что Гислер даёт лицензионный ключик разработчикам плагинов для TC? И что надо конкретно сделать, чтобы такой ключ поиметь?

A: Да, это правда. У меня, например, именно такой ключик ;).
А сделать нужно вот что: написать плагин для TC и уведомить Гислера об этом по e-mail (support@ghisler.com). Писать, само собой, нужно не на русском, а на английском, немецком или французском. Если плагин будет признан действительно полезным и понравится Кристиану, то он свяжется с вами и попросит прислать сведения, необходимые для генерации ключа. Ну а после получения этих сведений - пришлёт сам ключ. Если плагин чем-то не понравится - Гислер пришлёт письмо с отказом.
Есть одна небольшая заморочка: ваше письмо может быть обрезано спам-фильтром или просто затеряться в куче входящей корреспонденции, так что если ответа (положительного или отрицательного) нет продолжительное время, то имеет смысл повторить попытку.

Павел Дубровский


Особенности удаления в TC

Q: Почему файлы удалённые Commander'ом минуя корзину (через Shift+Delete) практически невозможно восстановить обратно? Особенно это касается файлов типа zip, rar, exe. В тоже время, файлы, удалённые таким же образом через Windows-проводник, восстанавливаются без проблем. Были опробованы разные настройки удаления в самом Total Commander, разные версии Commander'a. Были испробованы более десятка различных программ для восстановления, результаты (с переменным успехом) неутешительные.
Что вы думаете по этому поводу?

A: Тоже замечал такое. Возможно, дело в том, что Тотал удаляет файлы каким-то своим хитрым способом. Можно попробовать включить в настройках опцию удаления файлов методом Проводника - только тогда он не будет обновлять файлы описаний (descript.ion и files.bbs), а также не сможет правильно удалять символические ссылки NTFS (Проводник при удалении симлинка удаляет и всё содержимое оригинального каталога, куда симлинк ссылается. Тотал такую гадость себе не позволяет делать).
А вообще-то, это даже и к лучшему, что эти файлы трудно восстановить ;)

Константин Власов


Почему в дистрибутиве TC нет русской локализации?

Q: Почему в оригинальный дистрибутив Total Commander не входят файлы русской локализации? Вон, даже корейский есть, а великомогучего - нет.

A: Потому что в России слишком мало регистрированных пользователей, в отличие от той же Кореи. И слишком много нерегистрированных...

По ответам форума forum.wincmd.ru


Разница между files.bbs и descript.ion

Q: В чём разница между файлами описаний files.bbs и descript.ion?

A: Во-первых, разница во внутреннем формате файлов. Увидеть её можно, просто открыв файлы того и другого типа листером.
Во-вторых, files.bbs создаёт описания только в dos-кодировке, а descript.ion - в win, хотя, установив нужную галочку в настройках, можно научить тотал понимать и dos-кодировку в descript.ion (например, если эти описания были созданы другой программой).
В-третьих, files.bbs поддерживает многострочные комментарии. Комментарии в descript.ion сохраняются одной строкой (однако, в всплывающей подсказке, текст описания может разбиваться на несколько строк, если он слишком длинный).
Ну, и в-четвёртых, descript.ion, по умолчанию - скрытые, а files.bbs - нет.

Павел Дубровский


Распакованный и запакованный totalcmd.exe

Q: В чём разница между упакованными и распакованными версиями файла totalcmd.exe? И что лучше использовать?

A: В стандартном дистрибе Тотал запакован UPX'ом. Это уменьшает время считывания файла с диска в память, но увеличивает время проверки его антивирусами и время запуска самого Тотала. Какой из этих эффектов будет преобладать в каждом конкретном случае - заранее неизвестно. Если диск медленный, то лучше использовать стандартную запакованную версию.
Распакованную можно получить либо самому, распаковав стандартную самим UPX'ом (но тогда Тотал, если не крякнут, начнёт ругаться на нарушенную контрольную сумму и откажется работать), либо скачать распространяемую самим автором готовую распакованную версию. Некоторые говорят, что распакованная запускается быстрее, я же не замечаю ни малейшей разницы. Можно попробовать оба варианта и сравнить самому, тут, как я уже сказал, всё зависит от конкретной ситуации. Кстати, если ты устанавливал чью-то готовую сборку, то не исключено, что в неё уже входит распакованная версия.

Константин Власов


Авторские права

Авторские права на содержащиеся в этом файле материалы принадлежат их авторам, если прямо не указано обратное. Если вы обнаружили материал, у которого не указано авторство, либо оно указано неверно - пожалуйста, сообщите мне. Если вы являетесь автором какого-либо материала и не хотите, чтобы он присутствовал в этой справке - напишите мне, и материал будет исключён.

Все упоминаемые торговые марки принадлежат их владельцам.

Total Commander является регистрированной торговой маркой, принадлежащей C. Ghisler & Co.


Авторы

В RU.TCKB использованы материалы следующих авторов (в алфавитном порядке):

$corpio (iammad@operamail.com)
-=Space=-
Alexey N. Vinogradov (http://klirik.narod.ru)
AlRak
Alternativa
Batya
c930
Christian Ghisler (http://www.ghisler.com)
Colonel
Dimych
DredD
DrShark
Ekib
Evgenych
falkovsky
Forward
funduk
gegabit
GeNtlE
Hacker
ibo
Igor_A.
jehaz
Johny
Kent
KPOBABAK
leomaks
Leshiy
LocKtaR-o-DarK
Maxim
Maximus
MiDoS
mramor
NakaRB
PaNik
Parcan
PKS
poiuytr
Pusher
SAM
Sam Dark
Shaman
Shams
Sheepdog
signalman
Spine
Splinter
Stance
StayAtHome
StrangeRRor
SUKER
Timofey
Tovarishh
Volniy
vserd
Yorker
Zorroz
white
Андрей Кожемяко aka Korzh (korzh@ixbt.com)
Андрей Пясецкий aka Ergo (http://wincmd.ru).
Вадим Казаков aka Avada (avada1@yandex.ru)
Вахмурка (http://pprotcmd.narod.ru, http://pprotcmd.wincmd.ru)
Виктор Котов (http://www.vkph.com)
Евгений Савич (mutex@nm.ru)
Константин Власов aka CaptainFlint (http://flint-inc.ru)
Митяй
Моторокер
Павел Дубровский aka Antikiller D1P (http://super.wincmd.ru, anti@wincmd.ru)
Сергеич
Старый Ворчун


Список ресурсов, посвящённых TC

http://tckb.megabyte-web.ru - Онлайн-версия базы RU.TCKB.
http://forum.wincmd.ru/viewtopic.php?t=1317 - обсуждение RU.TCKB

http://www.ghisler.ch Официальный форум поддержки Total Commander
http://www.ghisler.com Официальный сайт Total Commander
http://wincmd.ru Всё о Total Commander
http://forum.wincmd.ru Русскоязычный форум поддержки пользователей Total Commander
http://super.wincmd.ru Сайт Павла Дубровского, создателя RU.TCKB
http://totalcmd.net Англоязычная версия сайта wincmd.ru
http://pprotcmd.narod.ru Сайт PowerPro+Total Commander
http://powerpro.wincmd.ru Скрипты PowerPro для Total Commander
http://www.fforum.ru/index.php?showforum=17 Обсуждение Total Commander на Файлфоруме
http://forum.ru-board.com/topic.cgi?forum=5&topic=14880 Обсуждение Total Commander на Ру-борде


Благодарности

Хотелось бы выразить благодарность следующим лицам, принимающим участие в развитии RU.TCKB:

Константин Власов - просто за огромнейшее количество ответов на вопросы, ну и за найденные ошибки.
funduk - за найденные ошибки и предложения по улучшению базы.
YEVA - за найденные ошибки и предложения по улучшению базы.
ZorroZ - за найденные ошибки и предложения по улучшению базы.
Вахмурка - за предложенные материалы для RU.TCKB и за найденные ошибки.
Nick - за предложения по улучшению базы и всяческое содействие в её развитии.
BEndER - за найденные ошибки.

И всем авторам, чьи статьи и ответы включены в базу.

СПАСИБО!


Об авторе

"...а ведь тысячу раз прав был Павел Дубровский, когда в его светлой голове родилась идея ТСКВ!.."

Вахмурка

Обладатель светлой головы во всём своём величии - П.Н.Дубровский (крайне тщеславная личность):


Кодовые страницы: ликбез

Страницы кодировки: ликбез.

Для тех, кто любит во всём разбираться, ниже приведено описание трюка с подменой страниц кодировки: почему он работает, почему без него не работает, и чем всё это грозит.
Ядро систем WinNT (на котором построены собственно Windows NT, 2000, XP, 2003 и Vista) основано на 16-битном наборе символов - UTF-16 (часто называемом просто юникодом, хотя это и не совсем корректно). Все операции в системе выполняются с этими 16-битными строками, что позволяет работать в мультиязычной среде без малейших проблем. Одна программа может сочетать в себе названия кнопок и пунктов меню сразу на нескольких языках, что было невозможно при использовании 8-битных (ANSI) строк. Восемью битами можно закодировать лишь 256 различных символов - очевидно, что этого для многоязычности катастрофически мало, невозможно закодировать таким количеством символов все необходимые буквы всех языков. 16 же бит позволяют кодировать 65536 символов, и этого уже вполне достаточно.
Системы Windows прошлого поколения, основанные на ядре Win9x (версии 95, 98, ME), работали с 8-битной кодировкой, и, соответственно, все приложения создавались для работы с ней же. Для поддержки разных языков было введено понятие кодовая страница. Каждая кодовая страница определяла, какие конкретно символы будут находиться в числе тех самых 256 возможных (а точнее - 128 символов, поскольку первые 128 изначально зарезервированы стандартом под латинский алфавит, цифры, символы пунктуации и пр.). Стоит отметить, что кодовая страница - это именно поддержка символов, а не языка. То есть, если несколько языков могут использовать один и тот же набор символов, им присваивается одна общая кодовая страница. Например, у русского, украинского и белорусского языков общая кодовая страница - 1251, у английского, немецкого, французского и многих других - 1252, и т.д. В системных настройках в Win9x выбиралась кодовая страница - одна на всех - и всё работало с соответствующим набором символов.
Разумеется, с появлением WinNT все существующие разработки нельзя было просто взять и выбросить только из-за того, что они не поддерживают юникод - никто бы просто не перешёл на эту новую систему. Поэтому в WinNT решили реализовать поддержку программ, работающих с 8-битными строками. Но как это сделать? Очень просто: для каждого системного вызова делается два варианта: юникодный и ANSI. Первый работает непосредственно с системой, а второй предварительно перекодирует 8-битную строку в 16-битную, после чего передаёт эту строку юникодной версии системной функции. Кодовая страница теперь используется для этого преобразования. Понятно, что если текст, написанный в русской кодовой странице, сконвертировать в юникод, применяя какую-нибудь другую кодовую страницу, то получится абракабадра: ведь на месте русских символов окажутся символы другого языка. Вот мы и подошли, наконец, к главному вопросу: почему некоторые программы копируют в буфер белиберду.
Копирование в буфер - это обычный системный вызов. А значит, перед помещением текста в буфер система преобразовывает его в 16-битную кодировку, если это требуется. Самое главное здесь - правильно выбрать кодовую страницу. И что же делает многомудрая Windows? Она не находит ничего умнее, как взять кодовую страницу, соответствующую текущей раскладке клавиатуры! Таким образом, если в момент копирования текста включена английская раскладка, система ничтоже сумняшеся переводит текст, используя английскую кодовую страницу, которая к русскому языку не имеет ни малейшего отношения. Что оказывается при этом в буфере обмена, думаю, описывать не надо.
Что же делать? Материть Билла Гейтса - это, конечно, святое, но, увы, это не поможет. Варианта два. Первый - каждый раз перед копированием русского текста переключаться на русскую раскладку. Возможно, кому-то этот вариант подойдёт. Если же нет - остаётся второй способ: убедить Windows, что английская кодовая страница (1252) и русская (1251) - одно и то же. Именно это делает приведённая ниже замена ключа в реестре:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1252"="c_1251.nls"

Данный патч указывает Windows, что трансляция 8-битных строк в 16-битные в 1252 кодовой странице должна производиться с использованием файла c_1251.nls, который, как легко догадаться, описывает 1251 кодовую страницу. В результате, даже если включена английская раскладка, преобразование русскоязычной строки в 16-битный формат пройдёт корректно, и в буфере окажется правильный текст.
Казалось бы - используй этот патч и радуйся жизни. Но увы, не всё так просто. Во-первых, применив этот патч, вы лишаете себя возможности полноценно работать с оригинальной 1252 кодовой страницей. Нельзя будет системными вызовами перекодировать, например, немецкую строку из 8 бит в 16: ведь немецкий язык использует ту же самую 1252 кодовую страницу. Другая проблема: представьте, что вы создали русскоязычный текст в программе типа MS Word, не поддерживающей юникод, и при этом была включена английская раскладка. При сохранении программа пишет в файл, что кодовая страница английская. Всё работает корректно, пока этот файл используется на компьютере с переопределённой кодовой страницей. Но стоит его открыть на другом компьютере, где этот патч не был применён, весь русский текст, помеченный как английский, сразу отобразится кракозябрами - ведь на том компьютере для его преобразования будет использоваться "настоящая" 1252 кодовая страница.
Описанные здесь проблемы показывают, что, к сожалению, универсального решения не существует. Любое из них имеет как плюсы, так и минусы. И решать, какой вариант решения проблемы удобнее, каждый должен сам для себя.

Думайте сами, решайте сами
Иметь или не иметь.
© "Ирония судьбы" ;-)

Константин Власов aka Константин Власов


ColorPreset

;Шаблоны поиска и цветовая схема Павла Дубровского для Total Commander от 18.04.06. Обеспечивает логичную и удобную подсветку для большинства часто используемых форматов файлов. Для использования этой схемы, замените содержимое секций [COLORS] и [SEARCHES] вашего wincmd.ini на приведённые ниже.

[COLORS]
BackColor=0
CursorColor=-1
CursorText=-1
ForeColor=16777215
InverseCursor=0
InverseSelection=0
MarkColor=-1
ThumbnailFrame=256
ColorFilter1=>*.djvu - файл
ColorFilter1Color=14623799
ColorFilter2=>Папка Total Commander
ColorFilter2Color=16261409
ColorFilter3=>Последние 5 минут
ColorFilter3Color=9109386
ColorFilter4=Device manager
ColorFilter4Color=6087241
ColorFilter5=>{Flash}
ColorFilter5Color=13468769
ColorFilter6=>{Adobe} PDF
ColorFilter6Color=12061298
ColorFilter7=>{Office} other
ColorFilter7Color=4960687
ColorFilter8=>{Office} Word
ColorFilter8Color=4045504
ColorFilter9=>{Office} Exel
ColorFilter9Color=5222039
ColorFilter10=>{Архивы} популярные форматы
ColorFilter10Color=2923943
ColorFilter11=>{Архивы} редкие форматы
ColorFilter11Color=2462904
ColorFilter12=>{Архивы} RAR-архив
ColorFilter12Color=774638
ColorFilter13=>{Архивы} инсталляционный архивы
ColorFilter13Color=4759519
ColorFilter14=>{Архивы} содержимое инсталляционного архива
ColorFilter14Color=3523050
ColorFilter15=>{Аудио} звуковые файлы
ColorFilter15Color=15639694
ColorFilter16=>{Аудио} нотные файлы
ColorFilter16Color=16037019
ColorFilter17=>{Аудио} трекерные файлы
ColorFilter17Color=15701901
ColorFilter18=>{Базы данных} файл базы данных
ColorFilter18Color=49087
ColorFilter19=>{Бинарные} CD-образы
ColorFilter19Color=11214644
ColorFilter20=>{Бинарные} Floppy-образы
ColorFilter20Color=16107992
ColorFilter21=>{Бинарные} временные файлы
ColorFilter21Color=33023
ColorFilter22=>{Бинарные} дампы/файлы подкачки
ColorFilter22Color=6452204
ColorFilter23=>{Бинарные} файл паролей Windows/UNIX
ColorFilter23Color=202
ColorFilter24=>{Видео}
ColorFilter24Color=13468769
ColorFilter25=>{Гипертекстовые документы} таблицы стилей
ColorFilter25Color=16761273
ColorFilter26=>{Гипертекстовые документы} интернет-ссылка
ColorFilter26Color=16487834
ColorFilter27=>{Гипертекстовые документы} индексные страницы
ColorFilter27Color=16564867
ColorFilter28=>{Гипертекстовые документы} XML-документ
ColorFilter28Color=15617871
ColorFilter29=>{Гипертекстовые документы} первичный документ
ColorFilter29Color=15150647
ColorFilter30=>{Гипертекстовые документы} web-архивы
ColorFilter30Color=12594465
ColorFilter31=>{Гипертекстовые документы} гипертекст
ColorFilter31Color=10300186
ColorFilter32=>{Изображения} популярные форматы
ColorFilter32Color=16022831
ColorFilter33=>{Изображения} иконки
ColorFilter33Color=16435373
ColorFilter34=>{Изображения} курсоры
ColorFilter34Color=15892796
ColorFilter35=>{Изображения} редкие форматы
ColorFilter35Color=12683799
ColorFilter36=>{Исполняемые} библиотеки
ColorFilter36Color=13238214
ColorFilter37=>{Исполняемые} плагины TC
ColorFilter37Color=10025634
ColorFilter38=>{Исполняемые} программы
ColorFilter38Color=5633113
ColorFilter39=>{Исполняемые} системные
ColorFilter39Color=4708672
ColorFilter40=>{Исполняемые} скрипты
ColorFilter40Color=4445759
ColorFilter41=>{Исполняемые} ярлыки
ColorFilter41Color=3384388
ColorFilter42=>{Настройка} ключ реестра
ColorFilter42Color=13238474
ColorFilter43=>{Настройка} конфигурационный файл
ColorFilter43Color=16711935
ColorFilter44=>{Плейлисты}
ColorFilter44Color=13671552
ColorFilter45=>{Программирование} объектные файлы
ColorFilter45Color=7301962
ColorFilter46=>{Программирование} код на Assembler
ColorFilter46Color=11075492
ColorFilter47=>{Программирование} файлы дополнительного кода
ColorFilter47Color=14089678
ColorFilter48=>{Программирование} Pascal units
ColorFilter48Color=14718174
ColorFilter49=>{Программирование} Delphi units
ColorFilter49Color=11436754
ColorFilter50=>{Программирование} файлы Delphi IDE
ColorFilter50Color=5779557
ColorFilter51=>{Программирование} файлы проектов Delphi
ColorFilter51Color=16710315
ColorFilter52=>{Программирование} код Delphi/Pascal
ColorFilter52Color=16243905
ColorFilter53=>{Программирование} файлы C++ IDE
ColorFilter53Color=15633709
ColorFilter54=>{Программирование} код на C/C++
ColorFilter54Color=15778404
ColorFilter55=>{Программирование} код на Dark Basic
ColorFilter55Color=8116676
ColorFilter56=>{Программирование} код на Java
ColorFilter56Color=15519125
ColorFilter57=>{Программирование} Perl-скрипт
ColorFilter57Color=14744452
ColorFilter58=>{Программирование} код на PHP
ColorFilter58Color=15307760
ColorFilter59=>{Программирование} код на LISP
ColorFilter59Color=7389801
ColorFilter60=>{Программирование} код на PROLOG
ColorFilter60Color=6304742
ColorFilter61=>{Программирование} код SQL-запроса
ColorFilter61Color=65535
ColorFilter62=>{Программирование} код на Basic
ColorFilter62Color=1935373
ColorFilter63=>{Справка} индексы справки
ColorFilter63Color=8241631
ColorFilter64=>{Справка} файл справки
ColorFilter64Color=8954843
ColorFilter65=>{Текстовые} описания
ColorFilter65Color=10153891
ColorFilter66=>{Текстовые} логи
ColorFilter66Color=9239362
ColorFilter67=>{Текстовые} данные
ColorFilter67Color=1041220
ColorFilter68=>{Текстовые} текст
ColorFilter68Color=1165430
ColorFilter69=>{Титры}
ColorFilter69Color=16244415
ColorFilter70=>{Шрифты}
ColorFilter70Color=10409634
ColorFilter71=>3D-модель
ColorFilter71Color=12315854
ColorFilter72=>DVD descriptor
ColorFilter72Color=5225909
ColorFilter73=>Mobile Multimedia Format
ColorFilter73Color=16494760
ColorFilter74=>Virtual Mashine HDD
ColorFilter74Color=12185740
ColorFilter75=>Файл MathCad
ColorFilter75Color=12171928

[Searches]
*.djvu - файл_SearchFor=*.djvu
*.djvu - файл_SearchIn=
*.djvu - файл_SearchText=
*.djvu - файл_SearchFlags=0|00000200002|||||||||0000
Папка Total Commander_SearchFor=dshell
Папка Total Commander_SearchIn=
Папка Total Commander_SearchText=
Папка Total Commander_SearchFlags=0|000000001000||||||||00001|0000
Virtual Mashine HDD_SearchFor=*.vmdk
Virtual Mashine HDD_SearchIn=
Virtual Mashine HDD_SearchText=
Virtual Mashine HDD_SearchFlags=0|00000200002|||||||||0000
Mobile Multimedia Format_SearchFor=*.mmf
Mobile Multimedia Format_SearchIn=
Mobile Multimedia Format_SearchText=
Mobile Multimedia Format_SearchFlags=0|00000200002|||||||||0000
Файл MathCad_SearchFor=*.mcd
Файл MathCad_SearchIn=
Файл MathCad_SearchText=
Файл MathCad_SearchFlags=0|00000200002|||||||||0000
3D-модель_SearchFor=*.m3d
3D-модель_SearchIn=
3D-модель_SearchText=
3D-модель_SearchFlags=0|00000200002|||||||||0000
DVD descriptor_SearchFor=*.ifo
DVD descriptor_SearchIn=
DVD descriptor_SearchText=
DVD descriptor_SearchFlags=0|00000200002|||||||||0000
Последние 5 минут_SearchFor=
Последние 5 минут_SearchIn=
Последние 5 минут_SearchText=
Последние 5 минут_SearchFlags=0|000002000020|||5|-1|||||0000
{Исполняемые} плагины TC_SearchFor=*.wcx;*.wfx;*.wlx;*.wdx
{Исполняемые} плагины TC_SearchIn=
{Исполняемые} плагины TC_SearchText=
{Исполняемые} плагины TC_SearchFlags=0|00000200002|||||||||0000
{Исполняемые} библиотеки_SearchFor=*.dll;*.lib;*.class;*.so;*.theme;*.acm;*.acx;*.fmt;*.ax;*.cnv;*.qtx;*.vdf
{Исполняемые} библиотеки_SearchIn=
{Исполняемые} библиотеки_SearchText=
{Исполняемые} библиотеки_SearchFlags=0|00000200002|||||||||0000
{Исполняемые} программы_SearchFor=*.exe;*.com;*.cpl;*.scr
{Исполняемые} программы_SearchIn=
{Исполняемые} программы_SearchText=
{Исполняемые} программы_SearchFlags=0|00000200002|||||||||0000
{Исполняемые} системные_SearchFor=*.sys;*.drv;*.ocx;*.vxd;*.tlb
{Исполняемые} системные_SearchIn=
{Исполняемые} системные_SearchText=
{Исполняемые} системные_SearchFlags=0|00000200002|||||||||0000
{Исполняемые} скрипты_SearchFor=*.bat;*.cmd;*.vbs;*.js;*.msc;*.scf;*.scp;*.vbe;*.jse;*.wsf;*.wsh
{Исполняемые} скрипты_SearchIn=
{Исполняемые} скрипты_SearchText=
{Исполняемые} скрипты_SearchFlags=0|00000200002|||||||||0000
{Исполняемые} ярлыки_SearchFor=*.lnk;*.pif
{Исполняемые} ярлыки_SearchIn=
{Исполняемые} ярлыки_SearchText=
{Исполняемые} ярлыки_SearchFlags=0|00000200002|||||||||0000
{Office} Word_SearchFor=*.doc;*.rtf;*.wri
{Office} Word_SearchIn=
{Office} Word_SearchText=
{Office} Word_SearchFlags=0|00000200002|||||||||0000
{Office} Exel_SearchFor=*.xlt;*.xls
{Office} Exel_SearchIn=
{Office} Exel_SearchText=
{Office} Exel_SearchFlags=0|00000200002|||||||||0000
{Office} other_SearchFor=*.dot;*.lex;*.pip;*.wiz;*.mcw
{Office} other_SearchIn=
{Office} other_SearchText=
{Office} other_SearchFlags=0|00000200002|||||||||0000
{Текстовые} текст_SearchFor=*.asc;*.txt;*.prn
{Текстовые} текст_SearchIn=
{Текстовые} текст_SearchText=
{Текстовые} текст_SearchFlags=0|00000200002|||||||||0000
{Текстовые} описания_SearchFor=*.ru;readme;*.1st;*.me;*.me!;*.ion;*.diz;*.nfo;*.rus;*.eng;*.bbs;@;*.cue;*.!!!
{Текстовые} описания_SearchIn=
{Текстовые} описания_SearchText=
{Текстовые} описания_SearchFlags=0|00000200002||||||||22220|0000
{Текстовые} данные_SearchFor=*.lng;*.dic;*.err;*.lan;*.mnu;*.properties;*.tcx;*.ttb;*.hgl;*.hrc
{Текстовые} данные_SearchIn=
{Текстовые} данные_SearchText=
{Текстовые} данные_SearchFlags=0|00000200002|||||||||0000
{Текстовые} логи_SearchFor=*.log
{Текстовые} логи_SearchIn=
{Текстовые} логи_SearchText=
{Текстовые} логи_SearchFlags=0|00000200002|||||||||0000
{Настройка} конфигурационный файл_SearchFor=*.cfg;*.ini;*.inf;*.prf;*.config;*.conf
{Настройка} конфигурационный файл_SearchIn=
{Настройка} конфигурационный файл_SearchText=
{Настройка} конфигурационный файл_SearchFlags=0|00000200002|||||||||0000
{Настройка} ключ реестра_SearchFor=*.reg;*.key
{Настройка} ключ реестра_SearchIn=
{Настройка} ключ реестра_SearchText=
{Настройка} ключ реестра_SearchFlags=0|00000200002|||||||||0000
{Гипертекстовые документы} гипертекст_SearchFor=*.htm;*.html;*.htt;*.mhtml;*.shtml;*.asp
{Гипертекстовые документы} гипертекст_SearchIn=
{Гипертекстовые документы} гипертекст_SearchText=
{Гипертекстовые документы} гипертекст_SearchFlags=0|00000200002|||||||||0000
{Гипертекстовые документы} web-архивы_SearchFor=*.mht;*.hta;*.htz;*.chm
{Гипертекстовые документы} web-архивы_SearchIn=
{Гипертекстовые документы} web-архивы_SearchText=
{Гипертекстовые документы} web-архивы_SearchFlags=0|00000200002|||||||||0000
{Гипертекстовые документы} таблицы стилей_SearchFor=*.css
{Гипертекстовые документы} таблицы стилей_SearchIn=
{Гипертекстовые документы} таблицы стилей_SearchText=
{Гипертекстовые документы} таблицы стилей_SearchFlags=0|00000200002|||||||||0000
{Гипертекстовые документы} первичный документ_SearchFor=*.primary
{Гипертекстовые документы} первичный документ_SearchIn=
{Гипертекстовые документы} первичный документ_SearchText=
{Гипертекстовые документы} первичный документ_SearchFlags=0|00000200002|||||||||0000
{Гипертекстовые документы} XML-документ_SearchFor=*.xml;*.manifest;*.xsd;*.xsl
{Гипертекстовые документы} XML-документ_SearchIn=
{Гипертекстовые документы} XML-документ_SearchText=
{Гипертекстовые документы} XML-документ_SearchFlags=0|00000200002|||||||||0000
{Гипертекстовые документы} интернет-ссылка_SearchFor=*.url
{Гипертекстовые документы} интернет-ссылка_SearchIn=
{Гипертекстовые документы} интернет-ссылка_SearchText=
{Гипертекстовые документы} интернет-ссылка_SearchFlags=0|00000200002|||||||||0000
{Гипертекстовые документы} индексные страницы_SearchFor=index.htm;index.html;main.htm;main.html;default.htm;default.html;index.asp;main.asp;default.asp
{Гипертекстовые документы} индексные страницы_SearchIn=
{Гипертекстовые документы} индексные страницы_SearchText=
{Гипертекстовые документы} индексные страницы_SearchFlags=0|00000200002|||||||||0000
{Adobe} PDF_SearchFor=*.pdf
{Adobe} PDF_SearchIn=
{Adobe} PDF_SearchText=
{Adobe} PDF_SearchFlags=0|00000200002|||||||||0000
{Справка} файл справки_SearchFor=*.hlp
{Справка} файл справки_SearchIn=
{Справка} файл справки_SearchText=
{Справка} файл справки_SearchFlags=0|00000200002|||||||||0000
{Справка} индексы справки_SearchFor=*.cnt;*.gid
{Справка} индексы справки_SearchIn=
{Справка} индексы справки_SearchText=
{Справка} индексы справки_SearchFlags=0|00000200002|||||||||0000
{Базы данных} файл базы данных_SearchFor=*.db;*.dbf;*.mbt;*.pdb;*.ncb
{Базы данных} файл базы данных_SearchIn=
{Базы данных} файл базы данных_SearchText=
{Базы данных} файл базы данных_SearchFlags=0|00000200002|||||||||0000
{Изображения} курсоры_SearchFor=*.ani;*.cur
{Изображения} курсоры_SearchIn=
{Изображения} курсоры_SearchText=
{Изображения} курсоры_SearchFlags=0|00000200002|||||||||0000
{Изображения} иконки_SearchFor=*.ico;*.icl
{Изображения} иконки_SearchIn=
{Изображения} иконки_SearchText=
{Изображения} иконки_SearchFlags=0|00000200002|||||||||0000
{Изображения} популярные форматы_SearchFor=*.bmp;*.cdr;*.tif;*.pic;*.jpc;*.jp2;*.j2k;*.gif;*.jpg;*.pcx;*.png;*.psd;*.wmf;*.jpe;*.jpeg;*.tga;*.tiff
{Изображения} популярные форматы_SearchIn=
{Изображения} популярные форматы_SearchText=
{Изображения} популярные форматы_SearchFlags=0|00000200002|||||||||0000
{Изображения} редкие форматы_SearchFor=*.dib;*.rle;*.lbm;*.iff;*.pbm;*.pgm;*.ppm;*.ras;*.sgi;*.rgb;*.bw;*.wbmp;*.dcx;*.cel;*.flc;*.fli;*.spr;*.fpx
{Изображения} редкие форматы_SearchIn=
{Изображения} редкие форматы_SearchText=
{Изображения} редкие форматы_SearchFlags=0|00000200002|||||||||0000
{Титры}_SearchFor=*.srt
{Титры}_SearchIn=
{Титры}_SearchText=
{Титры}_SearchFlags=0|00000200002|||||||||0000
{Шрифты}_SearchFor=*.fnt;*.ttf;*.fon;*.pfm;*.pfb;*.chr
{Шрифты}_SearchIn=
{Шрифты}_SearchText=
{Шрифты}_SearchFlags=0|00000200002|||||||||0000
{Видео}_SearchFor=*.avi;*.mpg;*.ra;*.ram;*.wmv;*.asf;*.divx;*.enc;*.m1v;*.m2v;*.mov;*.mpe;*.mpeg;*.qt;*.vob;*.wm
{Видео}_SearchIn=
{Видео}_SearchText=
{Видео}_SearchFlags=0|00000200002|||||||||0000
{Аудио} звуковые файлы_SearchFor=*.wav;*.mp3;*.mp2;*.mp1;*.wma;*.voc;*.au;*.ogg;*.cda;*.ape;*.lqt;*.mac;*.tap;*.ram;*.rmm;*.ra;*.rnx;*.rmx;*.rv;*.rm;*.rmj
{Аудио} звуковые файлы_SearchIn=
{Аудио} звуковые файлы_SearchText=
{Аудио} звуковые файлы_SearchFlags=0|00000200002|||||||||0000
{Аудио} нотные файлы_SearchFor=*.kar;*.midi;*.mid;*.mod;*.669;*.hmi;*.xmi;*.mss;*.mus;*.cmf;*.gmd;*.mids;*.hmz
{Аудио} нотные файлы_SearchIn=
{Аудио} нотные файлы_SearchText=
{Аудио} нотные файлы_SearchFlags=0|00000200002|||||||||0000
{Аудио} трекерные файлы_SearchFor=*.it;*.itz;*.s3m;*.s3z;*.xm;*.xmz;*.cda;*.rmi;*.miz;*.mdz;*.stm;*.stz;*.mtm;*.ult;*.snd;*.aif;*.aiff;*.as;*.hmp;*.rns
{Аудио} трекерные файлы_SearchIn=
{Аудио} трекерные файлы_SearchText=
{Аудио} трекерные файлы_SearchFlags=0|00000200002|||||||||0000
{Плейлисты}_SearchFor=*.lap;*.m3u;*.pls
{Плейлисты}_SearchIn=
{Плейлисты}_SearchText=
{Плейлисты}_SearchFlags=0|00000200002|||||||||0000
{Flash}_SearchFor=*.swf
{Flash}_SearchIn=
{Flash}_SearchText=
{Flash}_SearchFlags=0|00000200002|||||||||0000
{Архивы} популярные форматы_SearchFor=*.00*;*.jar;*.7z;*.uc2;*.pak;*.wmz;*.zip;*.gz;*.gzip;*.bzip;*.tar.gz;*.targz;*.tgz;*.bz2;*.ha;*.lha;*.arj;*.tar;*.ace;*.lzh
{Архивы} популярные форматы_SearchIn=
{Архивы} популярные форматы_SearchText=
{Архивы} популярные форматы_SearchFlags=0|00000200002|||||||||0000
{Архивы} редкие форматы_SearchFor=*.cpio;*.imp;*.sxw;*.wsz;*.zzz;*.wal;*.wba;*.sqx
{Архивы} редкие форматы_SearchIn=
{Архивы} редкие форматы_SearchText=
{Архивы} редкие форматы_SearchFlags=0|000002000020|||||||||0000
{Архивы} инсталляционные архивы_SearchFor=*.rpm;*.deb;*.msi;*.cab;*.qpr;*.grp;*.ppm
{Архивы} инсталляционные архивы_SearchIn=
{Архивы} инсталляционные архивы_SearchText=
{Архивы} инсталляционные архивы_SearchFlags=0|00000200002|||||||||0000
{Архивы} RAR-архив_SearchFor=*.rar
{Архивы} RAR-архив_SearchIn=
{Архивы} RAR-архив_SearchText=
{Архивы} RAR-архив_SearchFlags=0|00000200002|||||||||0000
{Архивы} содержимое инсталляционного архива_SearchFor=*.??_
{Архивы} содержимое инсталляционного архива_SearchIn=
{Архивы} содержимое инсталляционного архива_SearchText=
{Архивы} содержимое инсталляционного архива_SearchFlags=0|00000200002|||||||||0000
{Бинарные} CD-образы_SearchFor=*.iso;*.000
{Бинарные} CD-образы_SearchIn=
{Бинарные} CD-образы_SearchText=
{Бинарные} CD-образы_SearchFlags=0|00000200002|||||1|40|2||0000
{Бинарные} Floppy-образы_SearchFor=*.dsk;*.flp
{Бинарные} Floppy-образы_SearchIn=
{Бинарные} Floppy-образы_SearchText=
{Бинарные} Floppy-образы_SearchFlags=0|00000200002|||||0|1474560|0||0000
{Бинарные} дампы/файлы подкачки_SearchFor=*.swp;pagefile.sys;hybernate.sys;*.dos;*.bin;*.win
{Бинарные} дампы/файлы подкачки_SearchIn=
{Бинарные} дампы/файлы подкачки_SearchText=
{Бинарные} дампы/файлы подкачки_SearchFlags=0|00000200002|||||||||0000
{Бинарные} временные файлы_SearchFor=*.~*;*.bak;*.$$$;*.tmp;$*.*;*.old;thumbs.db;*.*tmp
{Бинарные} временные файлы_SearchIn=
{Бинарные} временные файлы_SearchText=
{Бинарные} временные файлы_SearchFlags=0|00000200002|||||||||0000
{Бинарные} файл паролей Windows/UNIX_SearchFor=sam;*.pwl;passwd
{Бинарные} файл паролей Windows/UNIX_SearchIn=
{Бинарные} файл паролей Windows/UNIX_SearchText=
{Бинарные} файл паролей Windows/UNIX_SearchFlags=0|00000200002|||||||||0000
{Программирование} файлы дополнительного кода_SearchFor=*.inc;*.mak
{Программирование} файлы дополнительного кода_SearchIn=
{Программирование} файлы дополнительного кода_SearchText=
{Программирование} файлы дополнительного кода_SearchFlags=0|00000200002|||||||||0000
{Программирование} объектные файлы_SearchFor=*.obj;*.map
{Программирование} объектные файлы_SearchIn=
{Программирование} объектные файлы_SearchText=
{Программирование} объектные файлы_SearchFlags=0|00000200002|||||||||0000
{Программирование} ресурсы_SearchFor=*.rc;*.res;*.tds
{Программирование} ресурсы_SearchIn=
{Программирование} ресурсы_SearchText=
{Программирование} ресурсы_SearchFlags=0|00000200002|||||||||0000
{Программирование} код на Assembler_SearchFor=*.asm
{Программирование} код на Assembler_SearchIn=
{Программирование} код на Assembler_SearchText=
{Программирование} код на Assembler_SearchFlags=0|00000200002|||||||||0000
{Программирование} Pascal units_SearchFor=*.tpu;*.bgi
{Программирование} Pascal units_SearchIn=
{Программирование} Pascal units_SearchText=
{Программирование} Pascal units_SearchFlags=0|00000200002|||||||||0000
{Программирование} файлы Delphi IDE_SearchFor=*.bpi;*.bpk;*.bpl;*.dcp;*.dof;*.ddp
{Программирование} файлы Delphi IDE_SearchIn=
{Программирование} файлы Delphi IDE_SearchText=
{Программирование} файлы Delphi IDE_SearchFlags=0|00000200002|||||||||0000
{Программирование} файлы проектов Delphi_SearchFor=*.bpg;*.dfm;*.dpk;*.dpr;*.xfm;*.int
{Программирование} файлы проектов Delphi_SearchIn=
{Программирование} файлы проектов Delphi_SearchText=
{Программирование} файлы проектов Delphi_SearchFlags=0|00000200002|||||||||0000
{Программирование} код Delphi/Pascal_SearchFor=*.pas
{Программирование} код Delphi/Pascal_SearchIn=
{Программирование} код Delphi/Pascal_SearchText=
{Программирование} код Delphi/Pascal_SearchFlags=0|00000200002|||||||||0000
{Программирование} Delphi units_SearchFor=*.dcu
{Программирование} Delphi units_SearchIn=
{Программирование} Delphi units_SearchText=
{Программирование} Delphi units_SearchFlags=0|00000200002|||||||||0000
{Программирование} файлы C++ IDE_SearchFor=*.dsp;*.dsw;*.owl
{Программирование} файлы C++ IDE_SearchIn=
{Программирование} файлы C++ IDE_SearchText=
{Программирование} файлы C++ IDE_SearchFlags=0|00000200002|||||||||0000
{Программирование} код на C/C++_SearchFor=*.c;*.c++;makefile;*.cpp;*.h;*.ide;*.cc;*.hh;*.hpp;*.cod;*.cxx;*.def;*.ex
{Программирование} код на C/C++_SearchIn=
{Программирование} код на C/C++_SearchText=
{Программирование} код на C/C++_SearchFlags=0|00000200002|||||||||0000
{Программирование} код на Dark Basic_SearchFor=*.dba
{Программирование} код на Dark Basic_SearchIn=
{Программирование} код на Dark Basic_SearchText=
{Программирование} код на Dark Basic_SearchFlags=0|00000200002|||||||||0000
{Программирование} код на Java_SearchFor=.java
{Программирование} код на Java_SearchIn=
{Программирование} код на Java_SearchText=
{Программирование} код на Java_SearchFlags=0|00000200002|||||||||0000
{Программирование} Perl-скрипт_SearchFor=*.pl
{Программирование} Perl-скрипт_SearchIn=
{Программирование} Perl-скрипт_SearchText=
{Программирование} Perl-скрипт_SearchFlags=0|00000200002|||||||||0000
{Программирование} код на PHP_SearchFor=*.php;*.php?
{Программирование} код на PHP_SearchIn=
{Программирование} код на PHP_SearchText=
{Программирование} код на PHP_SearchFlags=0|00000200002|||||||||0000
{Программирование} код на LISP_SearchFor=*.lsp
{Программирование} код на LISP_SearchIn=
{Программирование} код на LISP_SearchText=
{Программирование} код на LISP_SearchFlags=0|00000200002|||||||||0000
{Программирование} код на PROLOG_SearchFor=*.pro
{Программирование} код на PROLOG_SearchIn=
{Программирование} код на PROLOG_SearchText=
{Программирование} код на PROLOG_SearchFlags=0|00000200002|||||||||0000
{Программирование} код SQL-запроса_SearchFor=*.sql
{Программирование} код SQL-запроса_SearchIn=
{Программирование} код SQL-запроса_SearchText=
{Программирование} код SQL-запроса_SearchFlags=0|00000200002|||||||||0000
{Программирование} код на Basic_SearchFor=*.bas
{Программирование} код на Basic_SearchIn=
{Программирование} код на Basic_SearchText=
{Программирование} код на Basic_SearchFlags=0|00000200002|||||||||0000