NTLinks + NTLinksMaker: создание и инфо о ссылках NTFS
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Не совсем понял, какое отношение к созданию ссылок может иметь отсутствие права на запись для объекта-источника... По-прежнему для объекта из winsxs ссылку создаёшь, или не важно? Поподробнее алгоритм можно, с конкретными путями?
Добавлено спустя 3 минуты:
Хотя, думаю, я понял, в чём дело. Создание жёсткой ссылки для объекта, доступного только на чтение, невозможно, т.к. жёсткая связь - это часть этого объекта, и для её создания нужна "правка" этого объекта.
Но в смешанном режиме на другой том для этого же объекта ссылка у меня создаётся - символьная.
Добавлено спустя 3 минуты:
Хотя, думаю, я понял, в чём дело. Создание жёсткой ссылки для объекта, доступного только на чтение, невозможно, т.к. жёсткая связь - это часть этого объекта, и для её создания нужна "правка" этого объекта.
Но в смешанном режиме на другой том для этого же объекта ссылка у меня создаётся - символьная.
Зайди в любую из папок Catalogs, FileMaps, ManifestCache, Manifests в C:\Windows\winsxs, выдели файлы и проверь.MVV писал(а):Но в смешанном режиме на другой том для этого же объекта ссылка у меня создаётся - символьная.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Утром я проверял для первой попавшейся папки из winsxs, сейчас проверил для файлов из подпапки Catalogs, на другой том в смешанном режиме создаются символьные ссылки.
Хм, забавно, независимо от того, запускаю ли я утилиту с админскими правами или нет, требуется нажатие кнопки Повтор - это какой-то баг. Но после нажатия кнопки Повтор ссылка создаётся.
Хм, забавно, независимо от того, запускаю ли я утилиту с админскими правами или нет, требуется нажатие кнопки Повтор - это какой-то баг. Но после нажатия кнопки Повтор ссылка создаётся.
Даже не пытался жать этот Повтор. С ним действительно создаётся.
Жду правки и запрошенной фичи.
Жду правки и запрошенной фичи.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Версия 1.6 (х32), тестировано на Double Commander 0.9.1
HLNK_Paths{All} возвращает то же, что и HLNK_Paths{0}, в то время как HLNK_Paths{1} также возвращает непустое значение:
Compressed size: [DC().GETFILECOMPRESSEDSIZE{}]
NTFS HardLinks count: [Plugin(NTLinks).HLNK_Count{}]
[Plugin(NTLinks).HLNK_Paths{0}]
[Plugin(NTLinks).HLNK_Paths{1}]
[Plugin(NTLinks).HLNK_Paths{2}]
[Plugin(NTLinks).HLNK_Paths{3}]
[Plugin(NTLinks).HLNK_Paths{4}]
[Plugin(NTLinks).HLNK_Paths{5}]
[Plugin(NTLinks).HLNK_Paths{6}]
[Plugin(NTLinks).HLNK_Paths{7}]
[Plugin(NTLinks).HLNK_Paths{8}]
[Plugin(NTLinks).HLNK_Paths{9}]

Compressed size: [DC().GETFILECOMPRESSEDSIZE{}]
NTFS HardLinks count: [Plugin(NTLinks).HLNK_Count{}]
[Plugin(NTLinks).HLNK_Paths{All}]

HLNK_Paths{All} возвращает то же, что и HLNK_Paths{0}, в то время как HLNK_Paths{1} также возвращает непустое значение:
Compressed size: [DC().GETFILECOMPRESSEDSIZE{}]
NTFS HardLinks count: [Plugin(NTLinks).HLNK_Count{}]
[Plugin(NTLinks).HLNK_Paths{0}]
[Plugin(NTLinks).HLNK_Paths{1}]
[Plugin(NTLinks).HLNK_Paths{2}]
[Plugin(NTLinks).HLNK_Paths{3}]
[Plugin(NTLinks).HLNK_Paths{4}]
[Plugin(NTLinks).HLNK_Paths{5}]
[Plugin(NTLinks).HLNK_Paths{6}]
[Plugin(NTLinks).HLNK_Paths{7}]
[Plugin(NTLinks).HLNK_Paths{8}]
[Plugin(NTLinks).HLNK_Paths{9}]

Compressed size: [DC().GETFILECOMPRESSEDSIZE{}]
NTFS HardLinks count: [Plugin(NTLinks).HLNK_Count{}]
[Plugin(NTLinks).HLNK_Paths{All}]

Вообще, "All" транслируется в 0-й индекс, "0" - в 1-й и т.д., и потом плагин возвращает для 0-го индекса все ссылки, для 1-го - первую ссылку и т.д., а как с ними работает DC, я не знаю, ставить его для этого и пытаться отлаживать особо не охота, да и некогда. А в TC что для этого же файла возвращается для All, 0, 1, 2, ...? И для наглядности советую вокруг параметра добавить какие-нибудь символы. Я в TC проверил на тестовом файле такой тултип:
В режиме по умолчанию и в All вижу две ссылки через запятую, 0 и 1 показывают эти ссылки отдельно. Это ожидаемое поведение.
Код: Выделить всё
-: <[=ntlinks.Жесткие копии]>\nAll: <[=ntlinks.Жесткие копии.Все]>\n0: <[=ntlinks.Жесткие копии.0]>\n1: <[=ntlinks.Жесткие копии.1]>\n2: <[=ntlinks.Жесткие копии.2]>С учётом этой реплики CaptainFlint (c которой я полностью согласен) в шапку темы внесены уточнения: теперь там указаны актуальные номера версий утилиты и плагина. Кстати, и в самой теме последняя ссылка для NTLinks Maker была на версию 1.4.0.400 (свежая версия NTLinks хотя бы в теме анонсировалась). Если автор решит обновить в шапке и содержательную часть — пусть сам посмотрит.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Я стараюсь в шапках не указывать абсолютно точные версии, чтобы не обновлять шапку только ради правки пары младших цифр номера версии, т.к. последние "релизы" всегда выкладываю на wincmd.ru/totalcmd.net. Иногда просто повышение статуса до "релиза" происходит не сразу. 
Про последнее обновление в теме забыл отписаться.
NTLinks Maker 1.4.1.416:
+ опции CopyAttributesToLinks, FollowLinkDirLevels
+ дочерний процесс не запускается, если права администратора уже есть
Про последнее обновление в теме забыл отписаться.
NTLinks Maker 1.4.1.416:
+ опции CopyAttributesToLinks, FollowLinkDirLevels
+ дочерний процесс не запускается, если права администратора уже есть
Последний раз редактировалось MVV Вс июл 28, 2019 14:00, всего редактировалось 1 раз.
Так а где добавка обсужаемой в ноябре фичи, чтобы был резон повышать?MVV писал(а):Иногда просто повышение статуса до "релиза" происходит не сразу.

Что за дочерний процесс?MVV писал(а):дочерний процесс не запускается, если права администратора уже есть
Это исправлено, но про другое вроде:
MVV писал(а):требуется нажатие кнопки Повтор - это какой-то баг.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
В релизный (стабильный) статус переведена текущая версия, а фича будет в какой-нибудь новой версии.Flasher писал(а):Так а где добавка обсужаемой в ноябре фичи, чтобы был резон повышать?
Так что в итоге? Опиши проблемную ситуацию, далеко искать...Flasher писал(а):Это исправлено, но про другое вроде:
Avada,
Там же про стабильные версии, про тестовые я там не пишу.
Как скоро?MVV писал(а):а фича будет в какой-нибудь новой версии.
Откуда мне знать, если ты на вопрос не отвечаешь?MVV писал(а):Так что в итоге?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Когда у утилиты не хватает прав и пользователь нажимает Повтор, запускается второй экзепляр утилиты с правами администратора и продолжает создание ссылок. Недавний фикс касался того, что второй процесс запускался, даже если первый и так имел права администратора.
По срокам не знаю пока. Успею на этой неделе тестовую версию выложить - можно будет потестировать. Не успею - не раньше второй половины августа, опять же точно не скажу когда.
По срокам не знаю пока. Успею на этой неделе тестовую версию выложить - можно будет потестировать. Не успею - не раньше второй половины августа, опять же точно не скажу когда.
Т.е. это другой был баг.
А искать недалеко — 2 последние страницы обсуждения. Коротко:
1. /s? "@%WL" "%T"
2. Выбрали файлы, где у источника нет разрешения на запись.
3. Запустили, подтвердили. Увидели диалог с необходимостью жать "Повтор".
Теперь этого бага нет. Было бы правильно указать на это в истории версий.
Надеюсь, на неделе успеешь выложить.
Она уже непроблемная. Я же написал "исправлено". Только ты, видимо, забыл, как исправил, либо баг исчез в процессе исправления описанного тобой.MVV писал(а):Опиши проблемную ситуацию, далеко искать...
А искать недалеко — 2 последние страницы обсуждения. Коротко:
1. /s? "@%WL" "%T"
2. Выбрали файлы, где у источника нет разрешения на запись.
3. Запустили, подтвердили. Увидели диалог с необходимостью жать "Повтор".
Теперь этого бага нет. Было бы правильно указать на это в истории версий.
Надеюсь, на неделе успеешь выложить.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Исправлено - и ладно) я её специально не исправлял вроде, сама поправилась. 
NTLinksMaker Beta 424
Собственно, перелопатил работу с масками имени/расширения и с базовым путём, чтобы всё было единообразно независимо от состояния опции /n.
Пример кнопки/команды, позволяющей сравнить поведение старой и новой версии в случае одного выделенного файла, если стереть часть конечных папок из базового пути:
NTLinksMaker Beta 424
Собственно, перелопатил работу с масками имени/расширения и с базовым путём, чтобы всё было единообразно независимо от состояния опции /n.
Пример кнопки/команды, позволяющей сравнить поведение старой и новой версии в случае одного выделенного файла, если стереть часть конечных папок из базового пути:
Код: Выделить всё
Команда: "%COMMANDER_PATH%\Addons\NTLinksMaker\NTLinksMaker.exe" /q
Параметры: /q- /r="%P" "@%WL" "%T\*"