NTLinks + NTLinksMaker: создание и инфо о ссылках NTFS

Обсуждение только плагинов и утилит для Total Commander.

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

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

Сообщение Flasher »

Непонятно, где лежит файл
Я же писал про корни.
и что в полях диалога должно быть введено.
Если бы было что-то введено, то об этом бы и шла речь.
Изображение

Про звёздочку понял. Тогда остаётся ключ принудительной отметки (без указания звёздочки).
Можно, конечно, разделить первое поле надвое (путь/имя), но на это ты вряд ли отважишься.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Имею файл D:\File.txt, создаю ссылку как C:\*, независимо от состояния опции сохранения пути относительно базы ссылка получается с расширением.

Создаю ссылку на C:\Windows\System32\control.exe как D:\test\*, тоже и с опцией и без получаю ссылку с расширением...

Создал папку и положил файл C:\tcmd\NTLinksMaker\NTLinksMaker.exe, как у тебя, и снова с расширением...

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

Сообщение Flasher »

Ты у меня спрашиваешь? Разработчик кто из нас, чтобы реагировать на демонстрацию? :roll:

Возможно, проблема в GetModuleFileNameW у kernell32.dll разных версий на системах x86/64. У shell32.dll, например, тоже такая проблемка с именами имеется.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Возможно, проблема в GetModuleFileNameW у kernell32.dll разных версий на системах x86/64.
Но эта функция никак не применяется к объектам, для которых создаются ссылки, только для получения относительных путей к конфигу и языковым файлам.

Кстати, посмотри целевой объект созданной ссылки - он с расширением или без?

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

Сообщение Flasher »

С расширением.
Точно.

И, как ты понимаешь, при указании расширения (*.ext или *Name.ext) никаких проблем.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Нашёл недостающее звено: тотал должен быть запущен с повышенными правами, чтобы ссылки создавались основным процессом, а не дополнительным. После подтверждения повышения дополнительный процесс создает ссылку с расширением.

И сразу понял, почему так: маска * копирует без расширений, как и сам тотал. Чтобы были расширения, маска должна быть *.*. Это описано в Readme, но я позабыл об этом.
Последний раз редактировалось MVV Пт ноя 09, 2018 17:16, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Пример основного и дополнительного можешь привести?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

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

Сообщение Flasher »

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

Сообщение MVV »

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

Сообщение Flasher »

Т.е. ты хочешь сказать, что у процесса в моих условиях с админским профилем и отключённым UAC может не хватать прав?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

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

Сообщение Flasher »

Но при этом:
а если нет - запускает повышенную копию и передаёт ей параметры. И в этих параметрах маска не передаётся
Так как хватает, если маска не передаётся?

Что с отметкой опции решил в итоге?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Прав у тебя хватает у основного процесса на создание симлинков. Поэтому второй не запускается, маска не теряется, ссылка создаётся без расширения в полном соответствии с маской.

А у меня для создания симлинков запрашивается повышение, запускается дочерний процесс, которому маска не передаётся. Я это исправлю.

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

Сообщение Flasher »

С правами ясно.
из одного файла не будет выделяться имя
Куда и как выделяться? Имя же править нужно.

Как насчёт установки символа [*!~^<>#@] между /r= и "%P"? Или : вместо = как вариант для установки флажка?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить