View previous topic :: View next topic |
Author |
Message |
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Tue Jun 17, 2014 03:35 Post subject: lnk (ярлык) с относительными путями |
|
|
Задача.
Создать ярлык на папку в пределах жесткого диска.
Ярлык должен лежать в одной папке, указывать на другую и не иметь жесткую привязку к диску (т.е. пути должны быть относительные)
Целеполагание.
Проще всего объяснить на примере музыкальной коллекции.
Есть собрание оцифрованной музыки в одной папке. Куча альбомов, разделённые в свою очередь по разделам.
К некоторым альбомам прилагается видео-контент. Это не удобно когда открываешь в плеере (видео добавляется в плейлист тоже).
Поэтому всё видео перемещается в отдельную от музыки папку.
И вот как раз для того, что бы концептуально связать альбом и прилагающийся к нему видеоряд, требуется создать ярлык в альбоме на папку с видео.
Относительность путей требуется на случай, если вся коллекция музыки будет перемещена (другое место, другой компьютер), переделывать все ссылки это по крайней мере бесчеловечно. Поэтому фактор принципиальный.
Было бы очень замечательно, если бы создание ярлыка обходилось без скриптов по возможности, средствами Total Commander + плагин (по необходимости)
Было бы вовсе замечательно, если бы ярлык работал на любой файловой системе (win, lin, mac)
Алгоритм. Code: | стартовый каталог
C:\музыка\исполнитель\альбом\ссылка.lnk
целевой каталог
C:\видео\альбом\ |
Трудности.
Создавая обычный ярлык, с последующим редактированием путей (заменой их на относительные), ярлык перестаёт работать.
Может быть я не правильно задаю относительный путь.
P.s.
Тему
Массовое создание ярлыков LNK с относительными путями
видел. Но ничего не понял в ней, ни о чём шла речь меж просвещённых мужей, ни плоды их соискательств.
Думаю моя постановка вопроса несколько проще, потому как групповых операций я не преследую. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Tue Jun 17, 2014 10:06 Post subject: |
|
|
Ярлык как LNK-файл - штука весьма капризная. Где-то предлагалась утилита для создания ярлыков с относительными путями, можно попробовать её. Кроме того, это исключительно виндовская штука, другие оси понятия о ней не имеют, на других платформах ярлыки если и есть, то в своих особенных форматах, поэтому о кроссплатформенности тут речи быть не может.
Не уточнено, что планируется с ярлыком делать. Переходить к папке по Enter? Открывать в другой панели по Ctrl+Влево/Вправо?
В рамках тотала роль такого ярлыка может играть и голый текстовый файл, содержащий относительный путь, при этом переход к папке может осуществляться по хоткею, запускающему утилитку или батник для перехода к указанной в файле папке. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Tue Jun 17, 2014 10:17 Post subject: |
|
|
MVV wrote: | Не уточнено, что планируется с ярлыком делать. Переходить к папке по Enter? Открывать в другой панели по Ctrl+Влево/Вправо? |
Переходить к папке по Энтер (открываться должна в панели тотала есессно, а не в проводнике) MVV wrote: | В рамках тотала роль такого ярлыка может играть и голый текстовый файл, содержащий относительный путь |
Интересно!
MVV wrote: | при этом переход к папке может осуществляться по хоткею, запускающему утилитку или батник для перехода к указанной в файле папке. |
Если можно подробнее.
Вообще идеальный вариант не хоткей, а именно переход к папке по энтеру, с возможностью открыть в соседней панели по Ctrl+Влево/Вправо. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Tue Jun 17, 2014 10:33 Post subject: |
|
|
По Ctrl+Влево/Вправо с текстовым файлом не получится, тотал их обрабатывает только для папок и ярлыков папок. А батник, открывающий папку из текстового файла, может иметь следующий вид:
Code: | @echo off
if -%1==- echo Parameters: %%P%%N & pause & goto :EOF
for /f "usebackq delims=" %%t in (`type 1.txt`) do set relpath=%%t
if "%relpath:~1,1%" == ":" (
set fullpath=%relpath%
) else if "%relpath:~0,1%" == "\" (
set fullpath=%~d1%relpath%
) else (
set fullpath=%~dp1%relpath%
)
%COMMANDER_EXE% /O /S /T /L=%fullpath% |
Поддерживает полные и относительные пути, записанные в текстовом файле. В параметрах файла необходимо указать %P%N. В текущем варианте открывает папку в новой вкладке активной панели. Если заменить /L на /R, будет в неактивной, если убрать /T - будет без создания новой вкладки. Для назначения хоткея нужно сделать юзер-команду и задать ей хоткей на странице Разное настроек тотала.
Чтобы работало по Enter, текстовый файл нужно заменить батником вида:
Code: | @echo off
set relpath=..\music\albums\aaa
%COMMANDER_EXE% /O /S /T /L=%~dp0%relpath% |
Можно вместо запуска экзешника самого тотала использовать, например, TCFS2, чтобы посылать ту же команду запущенному тоталу, должно работать быстрее, т.к. на загрузку экзешника в память будет уходить меньше времени. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Last edited by MVV on Tue Jun 17, 2014 10:39; edited 1 time in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jun 17, 2014 10:38 Post subject: |
|
|
MVV
Странно, что ты не предложил симлинки с относительными путями. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jun 17, 2014 11:15 Post subject: |
|
|
MVV wrote: | Симлинки очень неудобно переносить с места на место | Если относительные пути не менялись, то всё удобно.
MVV wrote: | да и к папке по ним не перейдёшь | Это чего вдруг? Всегда переходили, а тут - нет. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Tue Jun 17, 2014 11:35 Post subject: |
|
|
Flasher wrote: | Если относительные пути не менялись, то всё удобно. |
Ты много способов копирования структуры каталогов с сохранением симлинков знаешь?
Flasher wrote: | Это чего вдруг? Всегда переходили, а тут - нет. |
Я имею в виду по Ctrl+Влево/Вправо. В симлинк можно зайти и увидеть содержимое папки, но к самой папке перейти нельзя.
Батник же легко скопировать, Enter откроет папку, плюс можно по хоткею прописать другой батник, который из этого прочтёт строку relpath= и откроет папку в другой панели. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Tue Jun 17, 2014 13:59 Post subject: |
|
|
MVV wrote: | В симлинк можно зайти и увидеть содержимое папки, но к самой папке перейти нельзя. |
Можно воспользоваться трюком: выставить ей полный запрет на переход, тогда Тотал будет её резолвить и переходить в целевой каталог. Это было сделано как обходной путь для стандартных вистовских ссылок, у некоторых из которых такие странные ограничения прав. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jun 17, 2014 14:29 Post subject: |
|
|
MVV wrote: | Ты много способов копирования структуры каталогов с сохранением симлинков знаешь? | А надо ли много?
MVV wrote: | В симлинк можно зайти и увидеть содержимое папки, но к самой папке перейти нельзя | Так же как и к обычной папке. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|