Зачем команда cd открывает архивы?

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Поскольку вопрос для многих остаётся актуальным, считаю стоит рассказать о простом решении.
В конце пути c командой cd достаточно добавить двойную косую черту:
cd "<Путь к архиву>\\"
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

А какую из проблем это решает? Проблему перехода к архиву, не входя в него - вряд ли.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Проблему перехода к архиву, не входя в него - вряд ли.
Т.е. "вряд ли"? Обычно пробуют, а потом оспаривают...
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Пробовал. Для кнопки на тулбаре работает. Действительно без захода в архив. При запуске из командной строки TC — игнорируется.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada писал(а):При запуске из командной строки TC — игнорируется.
Ага, забыл написать про этот момент. Больше ориентировался на пожелание топикстартера. Ну, и вообще не думаю, что часто такое требуется. Зато в скриптах и т.п. может пригодиться, только там используется немного другой синтаксис:
"%COMMANDER_PATH%\Totalcmd.exe" /S /O "<Путь к архиву>\*"
, который из комстроки работает уже без проблем.

P.S. Конечно, место этим секретам в ожидаемой теме, как ты понимаешь.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Да, дополнение про то, что с командной строки это не работает, крайне уместно. Впрочем, если описать юзер-команду em_Cd с командой cd и параметром %A, то для этой команды (или её псевдонима - кстати, для него вполне законно использовать имя cd) можно использовать описанный трюк с \\ уже из командной строки.

К слову, установка пути через WM_COPYDATA тоже позволяет использовать этот фокус. Но уже с помощью упомянутого выше \*.

Попробовал - кажется, дополнение \\* работает всегда - и с кнопки, и с упомянутой выше юзер-команды, и для WM_COPYDATA. Будем надеяться, что Гислер не устранит этот "глюк". :D

Добавлено:

Заметил, что при этом включается фильтр *. Можно вместо * писать *.*, тоже работает. Единственный недостаток - переключение фильтра.
Последний раз редактировалось MVV Чт июн 09, 2011 16:28, всего редактировалось 2 раза.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):дополнение \\* работает всегда - и с кнопки, и с упомянутой выше юзер-команды
А разве \* с юзеркоманды не работает?
MVV писал(а):Будем надеяться, что Гислер не устранит этот "глюк".
А мы ему не расскажем. :wink:
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher писал(а):
MVV писал(а):дополнение \\* работает всегда - и с кнопки, и с упомянутой выше юзер-команды
А разве \* с юзеркоманды не работает?
Нет, входит в архив. Работает \\. Собственно, с командной строки стандартная команда cd не работала по понятной причине - она не позволяет переключать фильтры.

Кстати, нашел супер-вариант, который везде работает (кроме поля редактирования пути) и не приводит к переключению текущего фильтра - \: (прям смайл какой-то :))
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Нет, входит в архив. Работает \\.
А, ты про cd? Ну так и пиши.
MVV писал(а):Кстати, нашел супер-вариант, который везде работает (кроме поля редактирования пути)
С комстроки с cd тоже не работает. Но всяко уже универсальней. И, как оказалось, тут подходит любой символ после \ кроме самого "", "." и "*". Т.е. cd игнорирует любую ошибку после \ и возвращает указатель к источнику.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher писал(а):
MVV писал(а):Нет, входит в архив. Работает \\.
А, ты про cd? Ну так и пиши.
Там тремя строчками выше упоминалась юзер-команда с cd, я о ней и писал.
Flasher писал(а):
MVV писал(а):Кстати, нашел супер-вариант, который везде работает (кроме поля редактирования пути)
С комстроки с cd тоже не работает. Но всяко уже универсальней. И, как оказалось, тут подходит любой символ после \ кроме самого "", "." и "*". Т.е. cd игнорирует любую ошибку после \ и возвращает указатель к источнику.
С команды cd из командной строки работает после объявления псевдонима cd для описанной выше команды em_Cd, которая просто вызывает внутреннюю команду cd.

В принципе да, подходит и любой бред, но мне вариант с : нравится больше, т.к. оно не может быть частью имени.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Там тремя строчками выше упоминалась юзер-команда с cd
Я могу рассказать, что она много ещё где упоминалась, но телепатом я от этого при всём желании не смогу стать. :)
MVV писал(а):т.к. оно не может быть частью имени
Это неважно, всё равно заходить в архив не будет, даже если такая папка есть.
Кстати, по такому принципу тебе ещё "|" подойдёт.
Ответить