ZTreeWin – альтернативный файловый управленец
Сегодня мы рассмотрим очередной файл-менеджер из нашей коллекции, но, в отличие от множества других, ныне в превеликом количестве существующих на рынке, герой нашего обзора происходит из знатного и благородного рода XtreeGold. Возможно, это имя программы из далеких ДОСовских времен уже ничего не говорит современной молодежи, но в этом случае достаточно напомнить, что именно эта программа ни много ни мало стала прототипом всем нам знакомого Windows Explorer (Проводника). Популярность XtreeGold тогда, в 80-е годы, намного превышала популярность на Западе его основного конкурента Norton Commander. Сегодня же мы подробно рассмотрим его полную и точную реинкарнацию со 100%-ной поддержкой даже самых современных Windows – ZtreeWin.
Нашу обзорную статью начнем, как всегда, с истории, тем более что она у нашего файл-менеджера очень знатная, и я бы даже сказал, грандиозная. Впрочем, давайте обо всем по порядку. Сразу поясню, что программа ZTreeWin, которую мы сегодня будем публично препарировать под светом софитов в окружении почтенной публики, является почти точной копией другой более древней и известной программы, написанной под DOS, – Xtree Gold. Поэтому уместно начать историю именно с рассмотрения ее прототипа и источника вдохновения.
Xtree – это один их первых графических файл-менеджеров, который был написан во времена дремучего ДОСа, когда экраны пользователей были как никогда черны, а поставка всякого компьютера всегда сопровождалась увесистым томиком чего-то вроде MS-DOS commands manual. Да, это были времена настоящих программистов, потому что категории “пользователи компьютера” тогда почти не существовало. 1 апреля 1985 года (очень удачная дата для старта продаж, не находите?) на американский рынок поступила очень необычная по тем временам программа – файловый менеджер - XTree. Программа базировалась на графическом интерфейсе и предлагала работу с файлами посредством неких готовых стандартных операций, посредством все того же графического интерфейса.
Программа, вернее ее продажа, очень хорошо пошла, и вот фирма Executive Systems вскоре выпустила уже XTreeGold – сильно доработанную версию того же Xtree. Вы только подумайте, в XTreeGold уже тогда содержались выпадающие и вложенные меню, поддержка горячих клавиш, красивые тени от как бы окон-панелей! Восторгу покупателей не было предела, и программа стала чрезвычайно популярна на территории Америки. Используя стандартные в то время 640 Кb памяти (а как мы помним, примерно в то же самое время Билл Гейтс настойчиво внушал американским гражданам, что этого объема ОЗУ уж точно должно хватить всем), программа демонстрировала очень быструю работу с диском, даже если в папке находились сразу, скажем, 10.000 файлов, для чего применялась специальная технология кэширования (о ней мы поговорим подробнее чуть позже).
Времена шли, программа успешно конкурировала даже с Norton Commander, превышая объемы его продаж более чем в два раза, пока не появились первые версии Windows, и тут началось…
Продажи резко упали. Пытаясь нагнать стремительный прогресс в ОСестроении от Microsoft’a, Executive Systems выпускает в 1992 XTree for Windows, но… поезд уже ушел, программа получилась очень усеченной в возможностях по сравнению со своей оригинальной DOS’осовской версией, поэтому, пользуясь случаем, погибающую разработку очень удачно перепродали компании Central Point Software, которую в свою очередь поглотила Symantec. Что сделала с Xtree корпорация Symantec? То же самое, что она сделала и с Norton Commander, когда купила его – она закрыла проект. Вот такой вот на редкость эффективный частный собственник, на жалость, попался этим обоим по-своему выдающимся файловым менеджерам той далекой эпохи. Теперь, постепенно переводя наш обзор в более практическую плоскость, давайте попробуем понять, почему объемы продаж XTree всегда превышали объемы продаж Norton Commander, или, как сейчас принято выражаться, почему Xtree был в то время круче, чем сам Norton Commander?
Итак, наш сегодняшний герой – ZtreeWin – это восставший буквально из пепла полный и точный клон того самого знаменитого в свое время XTree, но на этот раз это 32-битное, полностью нативное для Windows приложение, которое работает в текстовом консольном режиме, полностью подобное в этом нашему известному FAR’у. Это значит, что ZTreeWin поддерживает все возможности современной Windows, начиная от длинных имен файлов и заканчивая поддержкой альтернативных потоков NTFS. Программа работает начиная с Windows 95 вплоть до Windows 7, при этом она полностью поддерживает Unicode во всех его проявлениях. Немножечко отвлекаясь, просто вскользь замечу, что параллельно с Windows-версией развивается и версия этой программы для OS/2 – ZtreeBold, поэтому если вы знаете, что такое OS/2 – обратите внимание, ничего подобного для этой умирающей ОС на сегодняшний день просто не существует. Программа содержит гибкий механизм подключения сторонних плагинов, поэтому при желании в нее много чего можно интегрировать, от поддержки архиваторов до сторонних вьюверов – в общем, все как в любом более-менее развитом менеджере. Программа платная и стоит что-то около 30 долларов за однопользовательскую лицензию.
Успешно покончив с вступительно-исторической частью нашего обзора, давайте приступим собственно к погружению в процесс работы с программой. Хочется сразу отметить, что первая реакция человека, пытающегося впервые что-то сделать-скопировать-отредактировать в этой программе – это шок и потеря ориентации в файловой системе, что я наблюдал неоднократно. Хочу с самого начала предупредить, что это нормально, не следует пугаться и, тем более, не разобравшись в существе вопроса, сразу клеймить программу на чем свет стоит.
Концептуально программа очень сильно отличается от привычных нам и ставших почти стандартом в околокомпьютерной среде обычных двухпанельных файл- менеджеров, и человек просто теряется, когда, исходя из старого опыта, первый раз пытается сделать что-то через ZTreeWin. Давайте не будем сгоряча называть такие особенности устройства программы явным ее недостатком, а сначала внимательно разберемся: быть может, этот принципиально другой подход к работе с файлами окажется более выигрышным и оптимальным? Давайте попробуем погрузиться в философию программы, прежде чем составим свой персональный окончательный вердикт на ее счет.
Итак, вы запустили программу, вы видите главное окно программы, такой привычный пользователям Norton Commander’a и ему подобных менеджеров “синенький” экран программы, где отображается дерево в виде списка директорий и файлов вашего диска С, и первый логичный вопрос – как выбрать для отображения другой нужный диск с вашего винчестера? Сделать это самостоятельно у большинства новичков, как показывает огромное количество однотипных вопросов в Интернете, не получается. Поэтому давайте сделаем это в первый раз вместе. В данном случае, как можно прочитать в документации к программе, кстати, достаточно полной и последовательной несмотря на ее некоторую лаконичность, нужно использовать знаки больше- меньше «<» и «>» на вашей клавиатуре для перемещения по списку имеющихся у вас логических дисков.
Но, забегая вперед, надо отметить, что в первый ваш запуск эти навигационные по дискам клавиши работать не будут; сразу возникает вопрос: почему? Ответ на этот вопрос требует прояснить для начала концепцию работы программы, которая построена, если так можно выразиться, на агрессивном кэшировании списков всех файлов и директорий ваших дисков. Что это значит? ZTreeWin физически работает всегда только со своим внутренним списком файлов и директорий, которые она делает и актуализирует в моменты бездействия программы, для чего часто достаточно мига простоя компьютера. Таким образом, отображение всех листингов директорий дается на экран из этого закэшированного списка, без обращения непосредственно к реализации различных ресурсоемких рекурсивных функций обхода списка файлов текущей папки или списка содержимого текущего диска, для формирования этого итогового листинга.
Повторяю, это очень важно понять сразу! Разработчики Xtree считали технически неправильным постоянно заново считывать с диска дерево каталогов- файлов, это достаточно ресурсоемкая операция, поэтому любая папка (оглавление диска) однажды будучи прочитанным, кэшируется в специальный служебный файл ZTreeWin, после чего навигация и отображения всех списков файлов в панели идет только через него. Но и это еще не все, строго говоря, все эти текущие списки прочитанных файлов в пределах текущей сессии постоянно хранятся в оперативной памяти, то есть эти файлики-списки считываются только при старте ZTreeWin. Получается, что ZTreeWin при своем файловом браузинге обращается минимальное количество раз к диску, в моменты простоев он постоянно актуализирует этот “слепок” папок-файлов (либо вы можете сделать это принудительно, нажав клавишу Alt+F3), также в моменты простоя программа совершает упреждающую выборку-чтение содержимого всех подпапок из текущей для вас папки.
Для чего все так хитро сделано?
ZTreeWin чрезвычайно быстро перемещается по файловой системе, эта разница особенно заметна, когда вы работаете с папками, содержащими огромное количество файлов, например 1000 и больше. Традиционно файл-менеджеры заметно подвисают при чтении таких больших папок, но только не ZTreeWin - просто попробуйте! Разработчики ZTreeWin называет такую технику logging и считают это одной из своих главных фишек. Да, конечно, нечто подобное для ускорения вывода использует и, например, Total Commander (после его работы можно найти множество скрытых *.wc файлов, разбросанных по всем папкам), но все же в ZTreeWin это используется совсем в других масштабах! Например, когда вы запускаете поиск на диске по маске, например *.rar – список результатов всегда отображается мгновенно, что несколько непривычно для закоренелых пользователей FAR или Total Commander, которые привыкли какое-то время ждать завершения результатов физического прохождения процедуры поиска по всему диску. Сколько объектов может хранить программа закэшированными в ОЗУ? Ответ - бесконечное количество, все ограничено лишь размером вашей оперативной памяти.
Итак, сейчас мы вполне идеологически готовы к тому, чтобы сменить наш дефолтный диск, скажем, на d. Для этого нажимаем клавишу L, таким образом, мы входим в меню настроек logging, после чего вбиваем туда нужный нам диск и жмем ввод. Мы можем там также сразу ввести * - включим этим logging на всех доступных дисках, а можно в этом меню нажать стрелочку вверх и там уже в выпадающем списке выбрать любые доступные в системе диски, как по отдельности, так и по другому критерию, например, включить logging только на всех жестких дисках, присутствующих в системе.
Запомните, подобно монтированию дисков (разделов) на Unix-системах, здесь, если logging не включен на каком-то диске (или его можно выключить на определенных папках), – этих файловых объектов для ZTreeWin просто не существует!
ОК, теперь можно проверить – как клавиши больше-меньше (< и >, или буквы Б и Ю в русской раскладке) будут перемещать вас по разным дискам системы. Сразу отмечу вторую четкую особенность этого файлового менеджера, с которой мы уже столкнулись – это ОЧЕНЬ сильная ориентированность на горячие клавиши в его управлении. “Хот-кеи“ существуют практически для всего, о чем вы только можете подумать. Кроме того, вы можете повесить свою горячую клавишу на любую папку любого уровня вложенности (сделать закладку). Для этого нажмите H, после чего ZTreeWin предложит выбрать сочетание горячих клавиш для текущей открытой папки (или ввести свой путь к ней самостоятельно), теперь нажатие этого сочетания мгновенно переместит вас в уже открытую указанную папку. Следующий уровень автоматизации - это макросы, это уже когда возможностей горячих клавиш не хватает, вы можете записать и сохранить любую последовательность выполняемых действий в ZTreeWin и проигрывать ее автоматически по нажатию неких вами определенных клавиш.
Повторюсь еще раз, это базовая особенность этого файлового менеджера, что здесь визуальное отображение дерева папок-файлов очень жестко сочетается с управлением, завязанным именно на горячие клавиши. Несмотря на то, что многое можно сделать, конечно, и с помощью мышки и стандартных визуальных средств – все это лишь простейшие действия, никаких многократно вложенных меню и прочих стандартных визуальных атрибутов управления здесь нет, - но зато на все есть своя горячая клавиша. Это очень сбивает с толку новичков, но вы бы видели, как “летают” по своей файловой системе гуру Xtree, по-моему, ни на каком Total Сommander’e подобную скорость перемещения воспроизвести просто физически не удастся. Если посмотреть фанатские сайты Xtree, то там проводятся настоящие чемпионаты по уровню виртуозности владения этим файловым менеджером, когда клавиатура порой превращается в настоящий рояль, где человеческий взгляд не в силах уследить за ловкостью пальцев при работе в ZTreeWin. Теперь давайте коснемся третьей, не менее важной его конструктивной особенности. В зарубежных обзорах часто пишут, что ZTreeWin – это однопанельный иерархический файл-менеджер. Да, в самом деле, способ упорядоченного отображения всего содержимого диска в виде иерархического дерева, по ветвям которого можно свободно перемещаться, мышкой ли, или клавишами-стрелочками, впервые воплотил Xtree. Впоследствии эта идея отображения была полностью позаимствована в Windows Explorer, вплоть до плюсиков и минусиков, отображаемых в нодах (узлах) деревьев, которые были у XTree еще в далеком 1982-м, когда Windows еще и не пахло даже… Но если в Windows Explorer весь интерфейс отображения жестко однопанельный, то с ZTreeWin все не так просто, и называют его в многочисленных обзорах однопанельным зачастую ошибочно - потому что это не так! В самом деле, в состоянии «по умолчанию» ZTreeWin работает как однопанельный файл-менеджер. Разработчики ZTreeWin считали, что вторая панель совершенно не нужна в большинстве случаев работы с конкретным файлом, она только отнимает полезное пространство монитора (или окна), которое можно потратить для отображения множества другой полезной в данном случае информации, например о текущем файле и его окружении. Вторая панель полезна и нужна лишь при неких групповых файловых операциях, в которых должен присутствовать источник и приемник, и именно для этого случая в ZTreeWin есть режим Split (F8), после включения которого ZTreeWin запросто становится двухпанельным файл-менеджером! В этом плане, это, конечно, нечто большее, чем Windows Explorer. Многие могут сказать, что информация в виде дерева в графическом режиме гораздо нагляднее смотрится в Explorer’e, чем у ZTreeWin, ну что ж, попробуйте тогда включить режим Zoom (Alt+F7) у ZTreeWin – это максимально точное приближение того, что вы видите в Проводнике, только выданное в экзотическом текстовом режиме.
Следующее понятие, специфичное для ZtreeWin, — это понятие сессий. Все данные сохраняются в пределах текущей сессии. Если вы, скажем, захотели сохранить весь ваш logging на следующий запуск – воспользуйтесь комбинацией Alt+Z, после чего ваша сессия будет сохраняться в указанном файле. В пределах сессии может сохраняться все, или почти все. Например, если вы выделили группу файлов по какому-то критерию, то это выделение будет восстановлено при следующем запуске из сохраненной сессии.
Вообще говоря, ZtreeWin обладает обилием настроек, ознакомиться с полным списком которых можно нажав комбинацию клавиш Alt+F10, где на суровом серо-черном фоне вы сможете самостоятельно прокрутить 7 страниц с обширными настройками ZtreeWin (там содержится не только их краткое описание, но и сами настраиваемые поля с текущими установками программы). Или, если вы не боитесь самостоятельности и питаете старомодную склонность к текстовым конфигам - все аналогичные настройки также можно найти разбросанными в содержимом файлов ZNOLOG.INI, ZCOLORS.INI и ZTREE.INF в папке установки программы.
Выше мы уже упоминали о возможностях автоматизации всего и вся с помощью горячих клавиш, как многочисленных встроенных, так и самостоятельно создаваемых, а также про командные макросы. Теперь мы готовы обзорно рассмотреть и третий, самый продвинутый эшелон автоматизации, встроенный в ZtreeWin, – это механизм, называемый ZTreeWin Assistant Application (ZAAP), своего рода некая стандартизированная техника (или спецификация) по созданию своего собственного обработчика на группу выделенных файлов (или просто текущий файл). Вызов этого заранее заготовленного дефолтового обработчика осуществляется через горячую клавишу Y, или же можно сделать выбор из списка возможных обработчиков с помощью комбинации клавиш Ctr+Y.
Таким образом, стандартизированный механизм передает список выделенных файлов из ZTeeWin на внешнюю обработку (и еще ряд текущих ключей и параметров, например, был ли нажат Shift при вызове обработчика), а также позволяет принимать от этого обработчика через этот же интерфейс результаты его работы и характер их отображения в панели ZTeeWin. Передача всех этих параметров физически осуществляется через динамически создаваемый обычный текстовый файл ZBAR.DAT, содержимое которого тщательно стандартизировано и документировано разработчиками. Такой несколько примитивный способ межпрограммного обмена данными может сначала немножко удивить, но если поразмыслить, становится ясна основная идея разработчиков: интеграция и обработка подобного файла возможны элементарно на абсолютно любом скриптовом языке, присутствующем в системе, будь это PowerShell, VBScript, AutoIt, Perl или Python, так же как и путем написания специальной программы-обработчика на каком-нибудь “серьезном языке” программирования. Через “обертку” командного файла также можно вызывать любую стороннюю программу, например тот же ACDSee, передовая ему на вход выделенные пользователем в панели изображения для их дальнейшего просмотра средствами указанной внешней программы.
Механизм ZAAP, несмотря на свою простоту реализации, таит в себе очень интересные возможности. В самом стандарте ZAAP заранее зарезервирована возможность гибкого расширения формата передаваемой внешнему обработчику информации, для этого нужно лишь бесплатно зарегистрировать ваш новый формат у производителя программы. На данный момент уже зарегистрированы и утверждены два таких различных расширения, как протоколы rpVT и Script Host. Подробное рассмотрение их возможностей и отличий выходит далеко за пределы этой обзорной статьи, хочу лишь повторить главное – что данный открытый интерфейс позволяет очень легко и быстро из подручных средств создать свой собственный обработчик для определенной группы файлов. В качестве примера: на моей работе необходимо определенные лог-файлы раз в неделю переформатировать специфическим образом, приводя их в читабельный и понятный начальству вид, и по завершении операции сразу отправить на печать для представления на изучение руководству и принятия карательных мер к сотрудникам, злоупотребляющих Интернетом в рабочее время. Для этого в ZtreeWin мною создан обработчик, который при вызове на указанных в файл-менеджере лог-файлах вызывает сценарий на Python, который и проделывает всю означенную работу. Интеграция подобных сторонних действий непосредственно в сам файл-менеджер через механизм ZAAP чрезвычайно проста и элементарна. Впрочем, никто не запрещает вам использовать в ZtreeWin и стандартные файловые ассоциации, с ранее привязанными к ним программами.
Надо заметить, что даже сейчас, когда, как я говорил раньше, времена сверхпопулярности у этой программы уже прошли, удивляет наличие большого количества поклонников и фанатов такого рода программ. Наличие большого количества наград, например, TopShareware или PCDownload и многих других, наводит на определенные мысли, что за рубежом популярность этой программы до сих пор отчасти сохраняется. Кроме уже упомянутого выше ZtreeBold (версия программы для OS/2), под Windows есть еще слабенький XFile, существует большое количество почти точных клонов этой программы и под Unix, в частности, прекрасно работающие в Linux. Речь идет прежде всего о таких unix-клонах, как UnixTree и YTree. Как бы то ни было, из всех предков Xtree именно ZtreeWin – самая продвинутая и точная копия знаменитого оригинала, поэтому, наверное, проще запустить ее под Linux через Wine, работоспособность которой в этой среде просто замечательная.
Хотелось бы подвести итог. Рассматривать различные возможности данной богатой на функционал программы можно еще долго, да это и не нужно. Есть программа и официальная документация к ней, и желающие вполне могут, воспользовавшись помощью этой статьи как отправной точкой, самолично исследовать все богатые возможности и необычные для современника подходы, реализованные в ZtreeWin. Лично я, сразу после установки программы, очень рекомендую ознакомиться с содержимым официального FAQ разработчика на его сайте, так как это позволит избежать многих распространенных затруднений, часть из которых, в меру моих скромных сил, была развеяна этой статьей.
Вероятно, многие, читая этот обзор или глядя на скриншот, ощутили дуновение доисторических времен – все это дело субъективного вкуса, поверьте. Лично у меня возникло впечатление, что ZtreeWin больше подходит для категории продвинутых пользователей, часто называемых компьютерными гиками, которых не пугает необходимость учиться чему-то новому и необычному, а, скорее наоборот, привлекает. При этом необходимость фактически собственноручно собрать из тех богатых возможностей по автоматизации и настройке, что предоставляет ZtreeWin, свою собственную привычную рабочую среду, включая интеграцию графических вьюверов или архиваторов и других подобных этому банальных вещей, еще раз очень четко очерчивает круг потенциальных пользователей данной программы - это так называемые “продвинутые пользователи”. В качестве компенсации за затраченные усилия по настройке и овладению программы хочется заверить, что при должной степени привыкания и овладения данным инструментом скорость работы и ориентирования на файловой местности заметно возрастает, приходит некое чувство медлительности и избыточности требуемых действий от работы в программах, подобных Total Commander.
В заключение хотелось бы также пожелать некоторой осторожности и вдумчивости при работе с ZtreeWin, особенно в первое время. Например, привычное для меня сочетание горячих клавиш Alt+F2, которое в Total Commander/FAR открывает на правой панели меню выбора логических дисков, в ZtreeWin приводит к вызову меню полного форматирования текущего диска. Существует еще несколько не очень удачных сочетаний встроенных горячих клавиш, вызов которых по старому опыту работы с другими файл-менеджерами, в подсознательном режиме (когда часто у опытного пользователя пальцы опережают рассудок), заставляют в результате нервно хихикать, как в вышеприведенном примере с форматированием жесткого диска.
Преимущества программы:
. совмещает подходы Windows Explorer’a и двухпанельных файл-менеджеров;
. сверхбыстрое отображение и перемещение по файловой системе (кэширование);
. богатые возможности по автоматизации и настройке;
. полная поддержка Windows и Unicode;
. активное развитие и сопровождение программы.
Недостатки программы:
. требуется серьезное обучение работе с программой;
. немного старомодный интерфейс;
. отсутствие русскоязычной версии.
Официальный сайт программы:
http://www.ztree.com/html/ztreewin.htm
Игорь Савчук
Нашу обзорную статью начнем, как всегда, с истории, тем более что она у нашего файл-менеджера очень знатная, и я бы даже сказал, грандиозная. Впрочем, давайте обо всем по порядку. Сразу поясню, что программа ZTreeWin, которую мы сегодня будем публично препарировать под светом софитов в окружении почтенной публики, является почти точной копией другой более древней и известной программы, написанной под DOS, – Xtree Gold. Поэтому уместно начать историю именно с рассмотрения ее прототипа и источника вдохновения.
Xtree – это один их первых графических файл-менеджеров, который был написан во времена дремучего ДОСа, когда экраны пользователей были как никогда черны, а поставка всякого компьютера всегда сопровождалась увесистым томиком чего-то вроде MS-DOS commands manual. Да, это были времена настоящих программистов, потому что категории “пользователи компьютера” тогда почти не существовало. 1 апреля 1985 года (очень удачная дата для старта продаж, не находите?) на американский рынок поступила очень необычная по тем временам программа – файловый менеджер - XTree. Программа базировалась на графическом интерфейсе и предлагала работу с файлами посредством неких готовых стандартных операций, посредством все того же графического интерфейса.
Программа, вернее ее продажа, очень хорошо пошла, и вот фирма Executive Systems вскоре выпустила уже XTreeGold – сильно доработанную версию того же Xtree. Вы только подумайте, в XTreeGold уже тогда содержались выпадающие и вложенные меню, поддержка горячих клавиш, красивые тени от как бы окон-панелей! Восторгу покупателей не было предела, и программа стала чрезвычайно популярна на территории Америки. Используя стандартные в то время 640 Кb памяти (а как мы помним, примерно в то же самое время Билл Гейтс настойчиво внушал американским гражданам, что этого объема ОЗУ уж точно должно хватить всем), программа демонстрировала очень быструю работу с диском, даже если в папке находились сразу, скажем, 10.000 файлов, для чего применялась специальная технология кэширования (о ней мы поговорим подробнее чуть позже).
Времена шли, программа успешно конкурировала даже с Norton Commander, превышая объемы его продаж более чем в два раза, пока не появились первые версии Windows, и тут началось…
Продажи резко упали. Пытаясь нагнать стремительный прогресс в ОСестроении от Microsoft’a, Executive Systems выпускает в 1992 XTree for Windows, но… поезд уже ушел, программа получилась очень усеченной в возможностях по сравнению со своей оригинальной DOS’осовской версией, поэтому, пользуясь случаем, погибающую разработку очень удачно перепродали компании Central Point Software, которую в свою очередь поглотила Symantec. Что сделала с Xtree корпорация Symantec? То же самое, что она сделала и с Norton Commander, когда купила его – она закрыла проект. Вот такой вот на редкость эффективный частный собственник, на жалость, попался этим обоим по-своему выдающимся файловым менеджерам той далекой эпохи. Теперь, постепенно переводя наш обзор в более практическую плоскость, давайте попробуем понять, почему объемы продаж XTree всегда превышали объемы продаж Norton Commander, или, как сейчас принято выражаться, почему Xtree был в то время круче, чем сам Norton Commander?
Итак, наш сегодняшний герой – ZtreeWin – это восставший буквально из пепла полный и точный клон того самого знаменитого в свое время XTree, но на этот раз это 32-битное, полностью нативное для Windows приложение, которое работает в текстовом консольном режиме, полностью подобное в этом нашему известному FAR’у. Это значит, что ZTreeWin поддерживает все возможности современной Windows, начиная от длинных имен файлов и заканчивая поддержкой альтернативных потоков NTFS. Программа работает начиная с Windows 95 вплоть до Windows 7, при этом она полностью поддерживает Unicode во всех его проявлениях. Немножечко отвлекаясь, просто вскользь замечу, что параллельно с Windows-версией развивается и версия этой программы для OS/2 – ZtreeBold, поэтому если вы знаете, что такое OS/2 – обратите внимание, ничего подобного для этой умирающей ОС на сегодняшний день просто не существует. Программа содержит гибкий механизм подключения сторонних плагинов, поэтому при желании в нее много чего можно интегрировать, от поддержки архиваторов до сторонних вьюверов – в общем, все как в любом более-менее развитом менеджере. Программа платная и стоит что-то около 30 долларов за однопользовательскую лицензию.
Успешно покончив с вступительно-исторической частью нашего обзора, давайте приступим собственно к погружению в процесс работы с программой. Хочется сразу отметить, что первая реакция человека, пытающегося впервые что-то сделать-скопировать-отредактировать в этой программе – это шок и потеря ориентации в файловой системе, что я наблюдал неоднократно. Хочу с самого начала предупредить, что это нормально, не следует пугаться и, тем более, не разобравшись в существе вопроса, сразу клеймить программу на чем свет стоит.
Концептуально программа очень сильно отличается от привычных нам и ставших почти стандартом в околокомпьютерной среде обычных двухпанельных файл- менеджеров, и человек просто теряется, когда, исходя из старого опыта, первый раз пытается сделать что-то через ZTreeWin. Давайте не будем сгоряча называть такие особенности устройства программы явным ее недостатком, а сначала внимательно разберемся: быть может, этот принципиально другой подход к работе с файлами окажется более выигрышным и оптимальным? Давайте попробуем погрузиться в философию программы, прежде чем составим свой персональный окончательный вердикт на ее счет.
Итак, вы запустили программу, вы видите главное окно программы, такой привычный пользователям Norton Commander’a и ему подобных менеджеров “синенький” экран программы, где отображается дерево в виде списка директорий и файлов вашего диска С, и первый логичный вопрос – как выбрать для отображения другой нужный диск с вашего винчестера? Сделать это самостоятельно у большинства новичков, как показывает огромное количество однотипных вопросов в Интернете, не получается. Поэтому давайте сделаем это в первый раз вместе. В данном случае, как можно прочитать в документации к программе, кстати, достаточно полной и последовательной несмотря на ее некоторую лаконичность, нужно использовать знаки больше- меньше «<» и «>» на вашей клавиатуре для перемещения по списку имеющихся у вас логических дисков.
Но, забегая вперед, надо отметить, что в первый ваш запуск эти навигационные по дискам клавиши работать не будут; сразу возникает вопрос: почему? Ответ на этот вопрос требует прояснить для начала концепцию работы программы, которая построена, если так можно выразиться, на агрессивном кэшировании списков всех файлов и директорий ваших дисков. Что это значит? ZTreeWin физически работает всегда только со своим внутренним списком файлов и директорий, которые она делает и актуализирует в моменты бездействия программы, для чего часто достаточно мига простоя компьютера. Таким образом, отображение всех листингов директорий дается на экран из этого закэшированного списка, без обращения непосредственно к реализации различных ресурсоемких рекурсивных функций обхода списка файлов текущей папки или списка содержимого текущего диска, для формирования этого итогового листинга.
Повторяю, это очень важно понять сразу! Разработчики Xtree считали технически неправильным постоянно заново считывать с диска дерево каталогов- файлов, это достаточно ресурсоемкая операция, поэтому любая папка (оглавление диска) однажды будучи прочитанным, кэшируется в специальный служебный файл ZTreeWin, после чего навигация и отображения всех списков файлов в панели идет только через него. Но и это еще не все, строго говоря, все эти текущие списки прочитанных файлов в пределах текущей сессии постоянно хранятся в оперативной памяти, то есть эти файлики-списки считываются только при старте ZTreeWin. Получается, что ZTreeWin при своем файловом браузинге обращается минимальное количество раз к диску, в моменты простоев он постоянно актуализирует этот “слепок” папок-файлов (либо вы можете сделать это принудительно, нажав клавишу Alt+F3), также в моменты простоя программа совершает упреждающую выборку-чтение содержимого всех подпапок из текущей для вас папки.
Для чего все так хитро сделано?
ZTreeWin чрезвычайно быстро перемещается по файловой системе, эта разница особенно заметна, когда вы работаете с папками, содержащими огромное количество файлов, например 1000 и больше. Традиционно файл-менеджеры заметно подвисают при чтении таких больших папок, но только не ZTreeWin - просто попробуйте! Разработчики ZTreeWin называет такую технику logging и считают это одной из своих главных фишек. Да, конечно, нечто подобное для ускорения вывода использует и, например, Total Commander (после его работы можно найти множество скрытых *.wc файлов, разбросанных по всем папкам), но все же в ZTreeWin это используется совсем в других масштабах! Например, когда вы запускаете поиск на диске по маске, например *.rar – список результатов всегда отображается мгновенно, что несколько непривычно для закоренелых пользователей FAR или Total Commander, которые привыкли какое-то время ждать завершения результатов физического прохождения процедуры поиска по всему диску. Сколько объектов может хранить программа закэшированными в ОЗУ? Ответ - бесконечное количество, все ограничено лишь размером вашей оперативной памяти.
Итак, сейчас мы вполне идеологически готовы к тому, чтобы сменить наш дефолтный диск, скажем, на d. Для этого нажимаем клавишу L, таким образом, мы входим в меню настроек logging, после чего вбиваем туда нужный нам диск и жмем ввод. Мы можем там также сразу ввести * - включим этим logging на всех доступных дисках, а можно в этом меню нажать стрелочку вверх и там уже в выпадающем списке выбрать любые доступные в системе диски, как по отдельности, так и по другому критерию, например, включить logging только на всех жестких дисках, присутствующих в системе.
Запомните, подобно монтированию дисков (разделов) на Unix-системах, здесь, если logging не включен на каком-то диске (или его можно выключить на определенных папках), – этих файловых объектов для ZTreeWin просто не существует!
ОК, теперь можно проверить – как клавиши больше-меньше (< и >, или буквы Б и Ю в русской раскладке) будут перемещать вас по разным дискам системы. Сразу отмечу вторую четкую особенность этого файлового менеджера, с которой мы уже столкнулись – это ОЧЕНЬ сильная ориентированность на горячие клавиши в его управлении. “Хот-кеи“ существуют практически для всего, о чем вы только можете подумать. Кроме того, вы можете повесить свою горячую клавишу на любую папку любого уровня вложенности (сделать закладку). Для этого нажмите H, после чего ZTreeWin предложит выбрать сочетание горячих клавиш для текущей открытой папки (или ввести свой путь к ней самостоятельно), теперь нажатие этого сочетания мгновенно переместит вас в уже открытую указанную папку. Следующий уровень автоматизации - это макросы, это уже когда возможностей горячих клавиш не хватает, вы можете записать и сохранить любую последовательность выполняемых действий в ZTreeWin и проигрывать ее автоматически по нажатию неких вами определенных клавиш.
Повторюсь еще раз, это базовая особенность этого файлового менеджера, что здесь визуальное отображение дерева папок-файлов очень жестко сочетается с управлением, завязанным именно на горячие клавиши. Несмотря на то, что многое можно сделать, конечно, и с помощью мышки и стандартных визуальных средств – все это лишь простейшие действия, никаких многократно вложенных меню и прочих стандартных визуальных атрибутов управления здесь нет, - но зато на все есть своя горячая клавиша. Это очень сбивает с толку новичков, но вы бы видели, как “летают” по своей файловой системе гуру Xtree, по-моему, ни на каком Total Сommander’e подобную скорость перемещения воспроизвести просто физически не удастся. Если посмотреть фанатские сайты Xtree, то там проводятся настоящие чемпионаты по уровню виртуозности владения этим файловым менеджером, когда клавиатура порой превращается в настоящий рояль, где человеческий взгляд не в силах уследить за ловкостью пальцев при работе в ZTreeWin. Теперь давайте коснемся третьей, не менее важной его конструктивной особенности. В зарубежных обзорах часто пишут, что ZTreeWin – это однопанельный иерархический файл-менеджер. Да, в самом деле, способ упорядоченного отображения всего содержимого диска в виде иерархического дерева, по ветвям которого можно свободно перемещаться, мышкой ли, или клавишами-стрелочками, впервые воплотил Xtree. Впоследствии эта идея отображения была полностью позаимствована в Windows Explorer, вплоть до плюсиков и минусиков, отображаемых в нодах (узлах) деревьев, которые были у XTree еще в далеком 1982-м, когда Windows еще и не пахло даже… Но если в Windows Explorer весь интерфейс отображения жестко однопанельный, то с ZTreeWin все не так просто, и называют его в многочисленных обзорах однопанельным зачастую ошибочно - потому что это не так! В самом деле, в состоянии «по умолчанию» ZTreeWin работает как однопанельный файл-менеджер. Разработчики ZTreeWin считали, что вторая панель совершенно не нужна в большинстве случаев работы с конкретным файлом, она только отнимает полезное пространство монитора (или окна), которое можно потратить для отображения множества другой полезной в данном случае информации, например о текущем файле и его окружении. Вторая панель полезна и нужна лишь при неких групповых файловых операциях, в которых должен присутствовать источник и приемник, и именно для этого случая в ZTreeWin есть режим Split (F8), после включения которого ZTreeWin запросто становится двухпанельным файл-менеджером! В этом плане, это, конечно, нечто большее, чем Windows Explorer. Многие могут сказать, что информация в виде дерева в графическом режиме гораздо нагляднее смотрится в Explorer’e, чем у ZTreeWin, ну что ж, попробуйте тогда включить режим Zoom (Alt+F7) у ZTreeWin – это максимально точное приближение того, что вы видите в Проводнике, только выданное в экзотическом текстовом режиме.
Следующее понятие, специфичное для ZtreeWin, — это понятие сессий. Все данные сохраняются в пределах текущей сессии. Если вы, скажем, захотели сохранить весь ваш logging на следующий запуск – воспользуйтесь комбинацией Alt+Z, после чего ваша сессия будет сохраняться в указанном файле. В пределах сессии может сохраняться все, или почти все. Например, если вы выделили группу файлов по какому-то критерию, то это выделение будет восстановлено при следующем запуске из сохраненной сессии.
Вообще говоря, ZtreeWin обладает обилием настроек, ознакомиться с полным списком которых можно нажав комбинацию клавиш Alt+F10, где на суровом серо-черном фоне вы сможете самостоятельно прокрутить 7 страниц с обширными настройками ZtreeWin (там содержится не только их краткое описание, но и сами настраиваемые поля с текущими установками программы). Или, если вы не боитесь самостоятельности и питаете старомодную склонность к текстовым конфигам - все аналогичные настройки также можно найти разбросанными в содержимом файлов ZNOLOG.INI, ZCOLORS.INI и ZTREE.INF в папке установки программы.
Выше мы уже упоминали о возможностях автоматизации всего и вся с помощью горячих клавиш, как многочисленных встроенных, так и самостоятельно создаваемых, а также про командные макросы. Теперь мы готовы обзорно рассмотреть и третий, самый продвинутый эшелон автоматизации, встроенный в ZtreeWin, – это механизм, называемый ZTreeWin Assistant Application (ZAAP), своего рода некая стандартизированная техника (или спецификация) по созданию своего собственного обработчика на группу выделенных файлов (или просто текущий файл). Вызов этого заранее заготовленного дефолтового обработчика осуществляется через горячую клавишу Y, или же можно сделать выбор из списка возможных обработчиков с помощью комбинации клавиш Ctr+Y.
Таким образом, стандартизированный механизм передает список выделенных файлов из ZTeeWin на внешнюю обработку (и еще ряд текущих ключей и параметров, например, был ли нажат Shift при вызове обработчика), а также позволяет принимать от этого обработчика через этот же интерфейс результаты его работы и характер их отображения в панели ZTeeWin. Передача всех этих параметров физически осуществляется через динамически создаваемый обычный текстовый файл ZBAR.DAT, содержимое которого тщательно стандартизировано и документировано разработчиками. Такой несколько примитивный способ межпрограммного обмена данными может сначала немножко удивить, но если поразмыслить, становится ясна основная идея разработчиков: интеграция и обработка подобного файла возможны элементарно на абсолютно любом скриптовом языке, присутствующем в системе, будь это PowerShell, VBScript, AutoIt, Perl или Python, так же как и путем написания специальной программы-обработчика на каком-нибудь “серьезном языке” программирования. Через “обертку” командного файла также можно вызывать любую стороннюю программу, например тот же ACDSee, передовая ему на вход выделенные пользователем в панели изображения для их дальнейшего просмотра средствами указанной внешней программы.
Механизм ZAAP, несмотря на свою простоту реализации, таит в себе очень интересные возможности. В самом стандарте ZAAP заранее зарезервирована возможность гибкого расширения формата передаваемой внешнему обработчику информации, для этого нужно лишь бесплатно зарегистрировать ваш новый формат у производителя программы. На данный момент уже зарегистрированы и утверждены два таких различных расширения, как протоколы rpVT и Script Host. Подробное рассмотрение их возможностей и отличий выходит далеко за пределы этой обзорной статьи, хочу лишь повторить главное – что данный открытый интерфейс позволяет очень легко и быстро из подручных средств создать свой собственный обработчик для определенной группы файлов. В качестве примера: на моей работе необходимо определенные лог-файлы раз в неделю переформатировать специфическим образом, приводя их в читабельный и понятный начальству вид, и по завершении операции сразу отправить на печать для представления на изучение руководству и принятия карательных мер к сотрудникам, злоупотребляющих Интернетом в рабочее время. Для этого в ZtreeWin мною создан обработчик, который при вызове на указанных в файл-менеджере лог-файлах вызывает сценарий на Python, который и проделывает всю означенную работу. Интеграция подобных сторонних действий непосредственно в сам файл-менеджер через механизм ZAAP чрезвычайно проста и элементарна. Впрочем, никто не запрещает вам использовать в ZtreeWin и стандартные файловые ассоциации, с ранее привязанными к ним программами.
Надо заметить, что даже сейчас, когда, как я говорил раньше, времена сверхпопулярности у этой программы уже прошли, удивляет наличие большого количества поклонников и фанатов такого рода программ. Наличие большого количества наград, например, TopShareware или PCDownload и многих других, наводит на определенные мысли, что за рубежом популярность этой программы до сих пор отчасти сохраняется. Кроме уже упомянутого выше ZtreeBold (версия программы для OS/2), под Windows есть еще слабенький XFile, существует большое количество почти точных клонов этой программы и под Unix, в частности, прекрасно работающие в Linux. Речь идет прежде всего о таких unix-клонах, как UnixTree и YTree. Как бы то ни было, из всех предков Xtree именно ZtreeWin – самая продвинутая и точная копия знаменитого оригинала, поэтому, наверное, проще запустить ее под Linux через Wine, работоспособность которой в этой среде просто замечательная.
Хотелось бы подвести итог. Рассматривать различные возможности данной богатой на функционал программы можно еще долго, да это и не нужно. Есть программа и официальная документация к ней, и желающие вполне могут, воспользовавшись помощью этой статьи как отправной точкой, самолично исследовать все богатые возможности и необычные для современника подходы, реализованные в ZtreeWin. Лично я, сразу после установки программы, очень рекомендую ознакомиться с содержимым официального FAQ разработчика на его сайте, так как это позволит избежать многих распространенных затруднений, часть из которых, в меру моих скромных сил, была развеяна этой статьей.
Вероятно, многие, читая этот обзор или глядя на скриншот, ощутили дуновение доисторических времен – все это дело субъективного вкуса, поверьте. Лично у меня возникло впечатление, что ZtreeWin больше подходит для категории продвинутых пользователей, часто называемых компьютерными гиками, которых не пугает необходимость учиться чему-то новому и необычному, а, скорее наоборот, привлекает. При этом необходимость фактически собственноручно собрать из тех богатых возможностей по автоматизации и настройке, что предоставляет ZtreeWin, свою собственную привычную рабочую среду, включая интеграцию графических вьюверов или архиваторов и других подобных этому банальных вещей, еще раз очень четко очерчивает круг потенциальных пользователей данной программы - это так называемые “продвинутые пользователи”. В качестве компенсации за затраченные усилия по настройке и овладению программы хочется заверить, что при должной степени привыкания и овладения данным инструментом скорость работы и ориентирования на файловой местности заметно возрастает, приходит некое чувство медлительности и избыточности требуемых действий от работы в программах, подобных Total Commander.
В заключение хотелось бы также пожелать некоторой осторожности и вдумчивости при работе с ZtreeWin, особенно в первое время. Например, привычное для меня сочетание горячих клавиш Alt+F2, которое в Total Commander/FAR открывает на правой панели меню выбора логических дисков, в ZtreeWin приводит к вызову меню полного форматирования текущего диска. Существует еще несколько не очень удачных сочетаний встроенных горячих клавиш, вызов которых по старому опыту работы с другими файл-менеджерами, в подсознательном режиме (когда часто у опытного пользователя пальцы опережают рассудок), заставляют в результате нервно хихикать, как в вышеприведенном примере с форматированием жесткого диска.
Преимущества программы:
. совмещает подходы Windows Explorer’a и двухпанельных файл-менеджеров;
. сверхбыстрое отображение и перемещение по файловой системе (кэширование);
. богатые возможности по автоматизации и настройке;
. полная поддержка Windows и Unicode;
. активное развитие и сопровождение программы.
Недостатки программы:
. требуется серьезное обучение работе с программой;
. немного старомодный интерфейс;
. отсутствие русскоязычной версии.
Официальный сайт программы:
http://www.ztree.com/html/ztreewin.htm
Игорь Савчук
Компьютерная газета. Статья была опубликована в номере 01 за 2011 год в рубрике soft