Создание ссылок с относительными путями в создаваемых папках
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Создание ссылок с относительными путями в создаваемых папках Author: ЧиполлиноLocation: Орёл PostPosted: Fri Oct 08, 2021 16:42
    —
Необходимо создать линки (с относительными путями) на выделенные файлы, во вновь создаваемые папки противоположной панели, имена которых будут соответствовать первым словам имен выделенных файлов.
Предварительная работа по переименованию файлов-источников будет проведена. (для уменьшения количества создаваемых папок-категорий).
Windows 10 x64.
Total Commander 10 x64.
Вопрос:
Будет ли работать скрипт, предложенный Flasher в данной теме, в Total Commander 10 x64 на Windows 10 x64?
https://forum.wincmd.ru/viewtopic.php?t=14246

#2:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Oct 08, 2021 19:31
    —
Чиполлино
А самому взять и попробовать работу скрипта что мешает? Почему это должен выяснять ещё кто-то? (Тем более, что массовое создание LNK-файлов, мягко говоря, не всем интересно, да и Windows 10 пользуются не все. У меня, например, её нет.)
Ссылка приведена в пристойный вид.

#3:  Author: ЧиполлиноLocation: Орёл PostPosted: Sat Oct 09, 2021 10:10
    —
Avada wrote:
Чиполлино
А самому взять и попробовать работу скрипта что мешает?

Avada я с большим уважением отношусь Flasher, и его разработкам.
Однако именно на 10-ке последней версии у меня произошло то, что казалось бы не возможно.
ЭТА КНОПКА ПРЕКРАСНО РАБОТАЛА на 7-ке и первых версиях 10-ки.
http://forum.wincmd.ru/viewpost.php?p=127177
Но на последней версии она начала крошить .dll, и прочие файлы системы. Причем работа проводилась на внешнем диске, а не на системном. Я восстановил ВИНДУ, повторил попытку - та же история.
Кнопка не выполняла задачу, и лезла на диск C.
После этого я стал пользоваться таким вариантом, для замены данной кнопки.
[=lotsofhashes.MD5]\[N]
Плагин LotsOfHashes
Вот по этой причине я и испугался тестить тот скрипт.
Десятка -э то непредсказуемая зараза. Но мне без неё никак.
Прошу понимания.

#4:  Author: Skif_off PostPosted: Sat Oct 09, 2021 15:06
    —
Чиполлино
Но ведь скрипт и кнопка, мягко говоря, совсем разные? И под линком чаще понимают симлинки, а не ярлыки...
В общем, в этом случае пробуйте смело. Если ярлыки не будут работать, попробуйте заменить
Code:
        If InStr(OS, "7") Or InStr(OS, "V") Then
          .TargetPath = "%WINDIR%\explorer.exe"
          .Arguments = RP
        Else
          .TargetPath = "%WINDIR%\system32\RunDll32.exe"
          .Arguments = "shell32.dll,ShellExec_RunDLL " & RP
        End If

на
Code:
        .TargetPath = "%WINDIR%\explorer.exe"
          .Arguments = RP


P.S. Не понимаю, почему бы прям в той теме и не спросить...
P.P.S.
Чиполлино wrote:
начала крошить .dll, и прочие файлы системы

Не знаю, что это зрачит, но можно попробовать заменить /c на /k и посмотреть, что пишет. (Раз раньше кнопка работала, то врял ли путь запуска не пуст.)
Или лучше для начала попробовать заменить "call robocopy" на "echo robocopy" и посмотреть, ожидаемые ли параметры получает robocopy.

#5:  Author: ЧиполлиноLocation: Орёл PostPosted: Sat Oct 09, 2021 16:14
    —
Skif_off wrote:
Чиполлино
Под линком чаще понимают симлинки, а не ярлыки...

А мне ярлыки не нужны. Нужны именно СИМ ЛИНКИ (не ХАРД ЛИНКИ). Вероятно продукт, о котором я упоминал выше, для создания ярлыков?.
- Ваш продукт для создания СИМ ЛИНКОВ ?.
- Дополнительные плагины, или что то еще, нужно устанавливать ?.
Спасибо заранее

#6:  Author: AvadaLocation: Россия, Саратов PostPosted: Sat Oct 09, 2021 20:19
    —
Чиполлино
Если нужны симлинки, зачем в первом посте вообще упоминался скрипт для создания ярлыков (LNK-файлов)? Это совершенно разные вещи, пора бы уже усвоить, не впервые объясняют. И никаких дополнительных плагинов для создания ссылок в TC не было и нет (плагинов такого класса вообще не существует). Утилиты типа NTLinksMaker плагинами не являются. Можно в конце концов научиться самостоятельно находить информацию на форуме (её по данному вопросу полно) и нормально излагать свои проблемы в общепринятых терминах, не мороча людям голову?

#7:  Author: ЧиполлиноLocation: Орёл PostPosted: Mon Oct 11, 2021 13:46
    —
Avada wrote:
Утилиты типа NTLinksMaker

Что я сделал не правильно?

После создания символических ссылок, на выделенные файлы папки - Spire\1\, в папку - Spire\2\, папка - Spire становится не доступной для перемещения на другой диск. Копирование - возможно.

#8:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Oct 11, 2021 14:36
    —
Чиполлино
Утилита создала то, что запрашивалось и было в данном случае возможно. Если указать в настройках TC приемлемые значения ключей IgnoreLinks (0) и CopyLinks (1 или 2, иначе копируется каталог, а не ссылка, читайте справку), при последующей попытке перемещения родительской папки Spire на другой диск операция выполняется, но нормальная вложенная папка 1 перемещается, а ссылка 2 — только копируется, её потом из источника надо отдельно удалять. На целевом диске, естественно, должна быть система NTFS. И я не понимаю саму суть ваших действий: зачем собирать папку и ссылку на неё вместе, а тем более — зачем потом их вместе же куда-то перемещать?

#9:  Author: ЧиполлиноLocation: Орёл PostPosted: Mon Oct 11, 2021 17:18
    —
Avada wrote:
Чиполлино
Зачем собирать папку и ссылку на неё вместе, а тем более — зачем потом их вместе же куда-то перемещать?

Я делаю их не вместе, а в разных папках. Исходник - в папке 1. Ссылка - в папке 2. Поясняю зачем.
Имя каталога - Spire в данной дискуссии, выбрано условно. Однако этот каталог имеет определенную структуру подкаталогов, которую нельзя менять, за исключением структуры папки 2, чьё имя то же условно в данном примере.
Мне необходимо минимум категорий, которые будут отображаться в браузере программы, в которой я буду это использовать. Папку 1 программа просто не увидит. Она будет видеть только подкаталоги папки 2. В этой паке будет около 30 подкаталогов - категорий.
Оригинальные файлы находятся в 1500 подкаталогах в паке 1, и название этих подкаталогов, начинается с имен производителей материала. Эта структура меня не устраивает. Представьте как искать нужный пресет в 1500-х папках, если их поместить в папку 2. Но и разрушать исходную структуру этого материала я не хочу. Однако первые слова имен файлов, содержащиеся в этой куче подкаталогов, имеют всего 30 категорий. (Bass, Guitars, String и т.п). Я провел предварительное переименование.
Поэтому я и создал тему. Если бы это было возможно, то ТК сам создал бы 30 подкаталогов, и поместил в них линки. А относительные пути для того, чтоб я мог поделиться этим с кем либо, или просто переместить, и указать проге новый путь её рабочей папке - Spire. Я отнюдь не дурак, Avada. Я дурак лишь в том, что делаю громадную работу, на которую уходят месяцы. А потом дарю это друзьям. По пьяни в основном. Embarassed Embarassed Embarassed


Last edited by Чиполлино on Mon Oct 11, 2021 18:04; edited 3 times in total

#10:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Oct 11, 2021 17:58
    —
Чиполлино
Вы делаете их, если верить скрину и пояснению, в единой общей папке, которую потом пытаетесь куда-то переместить. Допустим, так и задумано. Но как вы решаете с помощью ссылки проблему не устраивающей вас структуры исходной папки, я не понял, поскольку ссылка (псевдо-папка) 2 — это в структурном отношении точная копия папки 1 и ничем иным быть не может.

#11:  Author: ЧиполлиноLocation: Орёл PostPosted: Mon Oct 11, 2021 18:12
    —
Avada wrote:
Чиполлино
поскольку ссылка (псевдо-папка) 2 — это в структурном отношении точная копия папки 1 и ничем иным быть не может.

Пардон. Не понял.
Вы хотите сказать, что я не смогу создать относительные ссылки на выделенные файлы папки 1/БЛАБЛА/ в папку 2/Мяу/ ? и переместить каталог Spire куда угодно, сохранив связи? Ведь путь начинается от каталога Spire.
Что ж это за относительные пути и ссылки тогда? Не могу понять.
Как и не понятно, почему Я должен указывать кол-во вложений?
Утилита сама должна это просчитывать по моему.

#12:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Oct 11, 2021 19:24
    —
Чиполлино
Это я с вашими четырьмя файлами не сразу разобрался. Но в таком случае создать-то вы на них относительные ссылки можете, а вот потом скопировать/переместить на другой диск именно как ссылки — нет, на выходе получатся вместо ссылок сами файлы, что бы ни стояло в настройках TC. По крайней мере, я другого результата получить не смог. А вот перемещение в какой-то каталог того же диска — другое дело...
Что имеется в виду под "количеством вложений" и кто там что, по-вашему, должен считать, не понял. Или это вы про опцию для базового каталога?

#13:  Author: ЧиполлиноLocation: Орёл PostPosted: Mon Oct 11, 2021 19:34
    —
[quote="Avada"]
Quote:
я другого результата получить не смог. А вот перемещение в какой-то каталог того же диска — другое дело...

Я то же не смог. Ни в ТС, ни в LinkShellExtension. Что то не так, или я не правильно понимаю саму суть понятия - "Сим Линк с относительными путями".
Это то же результат. В конце концов, этим переносом, я стараюсь помочь другим. Это их проблемы. Переименуют букву диска к чертям, если приспичит.
Quote:
Или это вы про опцию для базового каталога?

я вообще не понял назначение окошка, где у меня, в посте, который выше, на скриншоте стоит "0"(кол-во уровней). С Вашего позволения, попробую задать вопросы в теме обсуждения самой утилиты NTLinksMaker.

#14:  Author: Skif_off PostPosted: Tue Oct 12, 2021 02:43
    —
По идее, можно попробовать что-то вроде
Code:
команда: *%ComSpec% /c for /f "delims=" %i in
параметры: ('type %WF') do mklink /d "%T%%i" "XXX"

только не понял, что должно быть в "ХХХ".

Допустим, есть папка "D:\Data\Project\Folder1", находимся в "D:\Data\Project" и в неактивной панели "D:\Mirror", нужно создать симлинк "D:\Mirror\Folder1", целью которого будет "..\Data\Project\Folder1"?

#15:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Oct 12, 2021 06:52
    —
Skif_off
Ему ссылки не на папки, а на файлы нужны (см. скрин).



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2  Next  :| |:
Page 1 of 2

Powered by phpBB © 2001, 2005 phpBB Group