NTLinks + NTLinksMaker: создание и инфо о ссылках NTFS
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Плагины Total Commander

#1: NTLinks + NTLinksMaker: создание и инфо о ссылках NTFS Author: MVVLocation: Ростов-Дон PostPosted: Thu Apr 01, 2010 20:28
    —
NTLinks - модуль для получения информации о точках переподключения, таких как точки соединения/монтирования и символические ссылки, а также о файловых жестких ссылках.

NTLinksMaker - утилита для создания всех типов NTFS-ссылок.

Информация о последней версии

Версия: 1.6.0.254 32/64
URL: NTLinks на wincmd.ru / NTLinks на totalcmd.net

Версия: 1.4.1.416 32/64
URL: NTLinksMaker на wincmd.ru / NTLinksMaker на totalcmd.net

Требования: Windows 2000 и выше, Total Commander Smile


Особенности NTLinks:

+ получение индексов файлов, количества жестких ссылок и путей к ним
+ получение пути целевого объекта ссылок и реального пути объектов
+ поддержка символических ссылок, появившихся в Windows Vista/7
+ чтение/запись пути к целевому объекту для символических ссылок и точек соединения
+ сверхбыстрое сравнение жестких ссылок (в пределах одного логического диска)
+ поддержка Юникода и длинных путей

Особенности NTLinksMaker:

+ создание точек соединения, жестких ссылок, а также символических ссылок
+ возможность дублирования нескольких уровней каталогов обычными каталогами
+ возможность сохранения иерархии каталогов (для объектов из разных каталогов)
+ запрос повышения для операций, требующих прав администратора
+ возможность работы без отображения диалоговых окон
+ поддержка Юникода и длинных путей



Возвращаемые модулем NTLinks поля:
+ число жестких ссылок
+ индекс файла в файловой системе (для поиска жестких дубликатов)
+ тип объекта (файл, каталог или тип точки переподключения)
+ целевой объект, на который указывает точка переподключения
+ доступность целевого объекта
+ реальный путь любого файла/каталога в системе (раскрываются все ссылки в пути)
+ реальный размер файла (в случае символической ссылки на файл)
+ пути к жестким ссылкам
+ сравнение по индексам (из диалога синхронизации)

Для целевого объекта и реального пути возможны два варианта отображения - обычный и символьный, в котором точки монтирования остаются в виде уникальных идентификаторов, а не раскрываются в пути, также относительные пути символических ссылок отображаются в исходном виде. Каждое поле возвращает строку в Unicode, если используется ТК 7.50 и старше, и ANSI для старых версий.


Last edited by MVV on Mon Nov 14, 2016 16:39; edited 13 times in total

#2:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Apr 01, 2010 20:51
    —
GGS wrote:
Имеем WinXP SP3; TC 7.55b1; NTLinks 1.0.0.56

Вот связка Unicode - Панель результатов поиска - NTLinks



Понимаю, что дело в Unicode, но кто виноват, кого "пинать"?
В обычной панели TC индексы NTLinks видны.


Начинается... И NTLinks тебе в Unicode перевести? Very Happy
Ладно, на днях сделаем.

Хотя, возможно ты и прав, если в обычной индексы видны, а в поиска - нет (причем, только для Unicode-имен), то судя по всему виноват ТК. Но в Юникод NTLinks все равно переведу.

Картинку не убирай свою, я запостю на офсайт багрепорт и дам ссылку на нее. Может, Гислер разберется.

Кстати, наблюдение - в обычной панели моя NTLinks показывает в графе Реальный путь имена в DOS-формате - видимо, в этом и дело - когда имя дают в DOS-формате, NTLinks находит файл, но если имя длинное - что видно в панели поиска - найти его не удается, так как оно содержит символы разных кодовых страниц.


Last edited by MVV on Fri Apr 16, 2010 23:10; edited 1 time in total

#3:  Author: GGS PostPosted: Thu Apr 01, 2010 20:51
    —
MVV
Обратите внимание, что в колонке "Реальный путь" имена оказались без Unicode.

P.S. Синхронно запостили Very Happy

#4:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Apr 01, 2010 20:56
    —
Скорее всего, ТК передает модулям, не поддерживающим Юникод, имена с символами из разных кодовых страниц в коротком формате - это позволяет им находить файлы, но видимо в панели поиска это либо забыто, либо неправильно работает.

Да, при отладке видно, что так оно и есть - потому и не работают никакие поля, требующие передачи API-функциям имени файла - то есть, никакие. Very Happy
(поле типа возвращает нечто неопределенное, а поле реального пути - просто переданный путь, т.к. иного получить по неверному имени невозможно)


Last edited by MVV on Thu Apr 01, 2010 21:20; edited 1 time in total

#5:  Author: GGS PostPosted: Thu Apr 01, 2010 21:20
    —
MVV
Информация к размышлению: обычная панель, но путь содержит пробелы


#6:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Apr 01, 2010 21:23
    —
А у меня работает с пробелами - путь "F:\TEMP\0 7\_t c\":
Code:
Имя   Индекс   Реальный путь   Тип TC   Тип NTLinks   DOS-имя
Čeština\   000A000000000A1B   F:\TEMP\0 7   Точка переподкл-я   Точка соединения   ETINA~1
Čeština.txt   000A000000000A1C   F:\Test 1\ETINA~1.TXT   Файл   Файл   ETINA~1.TXT
English.txt   000A000000000A1D   F:\Test 1\English.txt   Файл   Файл   ENGLISH.TXT
Espańol.txt   000A000000000A1E   F:\Test 1\ESPAOL~1.TXT   Файл   Файл   ESPAOL~1.TXT
Espańol long.txt   002B000000000C96   F:\Test 1\ESPAOL~2.TXT   Файл   Файл   ESPAOL~2.TXT
Français.txt   0054000000000A1F   F:\Test 1\FRANAI~1.TXT   Файл   Файл   FRANAI~1.TXT
Slovenský.txt   002D000000000C8E   F:\Test 1\SLOVEN~1.TXT   Файл   Файл   SLOVEN~1.TXT
Русский.txt   0024000000000C91   F:\Test 1\Русский.txt   Файл   Файл   4C13~1.TXT
Русский длинный.txt   0040000000000C93   F:\Test 1\Русский длинный.txt   Файл   Файл   E620~1.TXT
简体中文 (Simplified Chinese).txt   0030000000000C95   F:\Test 1\(SIMPL~1.TXT   Файл   Файл   (SIMPL~1.TXT


И в папке "F:\Test 1\" тоже. Very Happy

#7:  Author: GGS PostPosted: Thu Apr 01, 2010 21:50
    —
Странно это. Вот мои настройки из секции [CustomFields]
Code:
Widths4=92,25,-12,71,1024
Headers4=N\nИндекс объекта\nРеальный путь
Contents4=[=ntlinks.HLNK_Count]\n[=ntlinks.HLNK_Index]\n[=ntlinks.Obj_RealPath]
Options4=-1|1

и ещё
Code:
[ContentPlugins]
0=%Commander_Path%\Plugins\wdx\NTLinks\NTLinks.wdx
0_detect=
0_date=992040640
0_flags=0


Проверил ещё на Win7 с TC 7.50a - картина 1:1

MVV
Выложите куда-нибудь в архиве Ваш тестовый набор файлов с Unicode именами, попробую на них.

#8:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Apr 01, 2010 23:43
    —
У меня с твоим набором все равно показывает поля. Windows XP, ТК запущен под юзером.

А вот тестовые файлы:
Code:
MIME-Version: 1.0
Content-Type: application/octet-stream; name="Test 1.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Test 1.7z"

N3q8ryccAANolcRm0AAAAAAAAAAiAAAAAAAAAKfFm9UAAIF74PJ+AhDmwGsGDrfODvY7wF0+GISc
8zh6qlfutYPIw1xlaCN64TEz5DRK48Y0uu0cWkOUHZNNiZC3Ug+hD+tQrxPFroOOp+8QqexqX3nB
qgfNdX4n5U2EkElSGj3BUR19iK6v+H9nZgHK0m265XjDRncFGJr6eLqei2E0AiIwAtJmp2IN2pjx
nFImmBAe2cbhhjuemSYyMnj2GdYnvvRVW92w9PtdALcV+1i/M+2ADLYNQNlMH2iMAWwMh7Gm7kmG
2eZ1GXtBCNztn+AAFwYAAQmA0AAHCwEAASMDAQEFXQAQAAAMgaEKARExEfMAAA==


PS. Давай на ты, в одной стране живем. Да и в инете иное не принято. Wink

#9:  Author: GGS PostPosted: Fri Apr 02, 2010 00:39
    —
MVV wrote:
А вот тестовые файлы:

С ними в обычной панели индексы есть. Rolling Eyes

Вот моё:
Code:
MIME-Version: 1.0
Content-Type: application/octet-stream; name="Test 1.rar"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Test 1.rar"

UmFyIRoHAM+QcwAADQAAAAAAAACfmXQggjgAFAAAABQAAAACwLBs0QAAgTwdMBgAgAAAAFRlc3Qg
MVxFc3Bhbm9sLnR4dAABzAnxBP/+RQBzAHAAYQDxAG8AbAANAAoAFEl0III9ABwAAAAcAAAAAv6I
OTMAAIE8HTAdAIAAAABUZXN0IDFcU2xvdmVuc2NpbmEudHh0AAHXC2ENBf/+UwBsAG8AdgBlAG4A
YQENAWkAbgBhAA0ACgANuXQggjoAEgAAABIAAAACos8lDgAAgTwdMBoAgAAAAFRlc3QgMVxUdXJr
Y2UudHh0AAHMBvwA58AD//5UAPwAcgBrAOcAZQANAAoABip0III9AAsAAAALAAAAAoCiav8AAIE8
HTAdAIAAAABUZXN0IDFckOPh4aqoqS50eHQABN8FIIFggZDAAtDz8fHq6OkNCg0K09Z04IAmAAAA
AAAAAAAAAgAAAAAAAIE8FDAGABAgAABUZXN0IDHEPXsAQAcA

MVV wrote:
Давай на ты, в одной стране живем.

Привычка. Я воспитывался когда страна называлась иначе и интернета не было.

#10:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Apr 02, 2010 01:57
    —
Не знаю, у меня и для папки из твоего архива в 7.50 и в 7.55b1 в обычной панели индексы видны. Впрочем, это уже практически не имеет значения, раз будет Юникод-версия модуля.

#11:  Author: GGS PostPosted: Fri Apr 02, 2010 02:07
    —
MVV
Чудеса продолжаются. Оказывается пробел в пути ничего не значит, а важен способ получения мною тестовых файлов.
Если Вы распакуете мой "Test 1.rar" и посмотрите индексы файлов, то в обычной панели TC они будут видны.
Создайте и выполните в папке с моими файлами следующий BAT-файл:
Code:
For %%A in (*.txt) do fsutil hardlink create %%A_ %%A

так вот, у файлов *.txt_ с Unicode именами индексы не показываются и имена в DOS-формате не те, что надо. Во как!
Команда DIR /X в этой папке показывает отсутствие 8.3 имён у этих файлов.

#12:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Apr 02, 2010 03:08
    —
Ага, у меня были на то подозрения, что у тебя может быть отключена генерация имен в коротком формате. Что ж, выходит, fsutil не генерирует короткие имена... Тогда все очевидно. Но мой багрепорт, отправленный Гислеру, как раз про файлы, у которых короткие имена есть.

С минуты на минуту выложу Юникод-версию NTLinks и пойду наконец спать. =)

Всё, выложил=) допиши, пожалуйста, к названию темы " (Unicode)" (как в теме про Virtual Panel). За неимением первого поста буду хозяйничать во втором.

NTLinks 1.0.0.72:
+ поддержка Юникода
+ два новых поля RP_TargetW, Obj_RealPathW (возвращают Юникод-строки)
+ изменен предпочтительный базовый адрес модуля
* для несуществующих файлов отображался тип 'точка переподключения'

#13:  Author: GGS PostPosted: Fri Apr 02, 2010 09:44
    —
Генерация коротких имён у меня не выключена, а вот fsutil действительно чудит. Бум знать.
MVV wrote:
допиши, пожалуйста, к названию темы " (Unicode)" (как в теме про Virtual Panel).

Не получается из-за огранмчения длины строки, как урезать?
MVV wrote:
За неимением первого поста буду хозяйничать во втором.

Может админы могут изменить эту "историческую несправедливость", пусть даже удалением моего первого поста или иным образом.

За 1.0.0.72 огромное спасибо.

#14:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Apr 02, 2010 13:41
    —
Ну, если общие принципы тут такие же, как и на IPB, то надо либо удалить первый пост, либо найти на форуме мой более старый и добавить к теме.

Quote:
Не получается из-за огранмчения длины строки, как урезать?

Спасибо, отлично. Smile

Quote:
За 1.0.0.72 огромное спасибо.

Обращайтесь. Wink

#15:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Apr 09, 2010 09:52
    —
Частично проблему первого поста исправили в ТК 7.55pb2, но не для всех имен. Например, для имен, содержащих китайские символы, теперь плагинам посылается короткое имя, а для диакритики - все еще длинное (отписался на оф. форуме).

Кстати, возможно, тему стоит разделить на тему об NTLinks (посты 61422, 61464, 61470, 61478) с текущим названием и тему о проблемах работы не-юникодных WDX с юникодными именами в панели поиска.

#16:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Apr 09, 2010 10:32
    —
MVV wrote:
Кстати, возможно, тему стоит разделить на тему об NTLinks (посты 61422, 61464, 61470, 61478) с текущим названием и тему о проблемах работы не-юникодных WDX с юникодными именами в панели поиска.

Думаю, что не надо. Вопросы взаимосвязанные, после разделения мы только запутаем читающих.

#17:  Author: YURETS PostPosted: Tue May 04, 2010 12:19
    —
А как работает плагин ???
после установки я его не обнаружил во вкладке сеть.плагины

#18:  Author: RodnyLocation: Могилёв, Беларусь PostPosted: Tue May 04, 2010 12:26
    —
YURETS wrote:
после установки я его не обнаружил во вкладке сеть.плагины

Ещё бы...
Контентные плагины, и с чем их едят — TCKB 2.0

#19:  Author: MVVLocation: Ростов-Дон PostPosted: Tue May 04, 2010 18:13
    —
YURETS wrote:
после установки я его не обнаружил во вкладке сеть.плагины

Там отображаются только файлсистемные плагины, которые дают доступ к тому, что можно представить в виде виртуальной файловой системы.
Контентные (информационные) используются для получения информации об объектах. По указанной выше (и ниже) ссылке расписаны варианты использования информационных плагинов - NTLinks вполне можно использовать в дополнительных колонках, при поиске (например, по типу объектов или реальному пути) или во всплывающих подсказках (у меня отображается индекс файла, позволяющий определять жесткие ссылки, целевой объект, реальный путь). Думаю, возможность переименования с применением контентных полей NTLinks будет бесполезной (хотя, мало ли мнений не свете).

Rodny wrote:
Контентные плагины, и с чем их едят — TCKB 2.0

Кстати, я не заметил в статье такого варианта использования, как установку атрибутов, предоставляемых информационным плагином.

#20:  Author: RodnyLocation: Могилёв, Беларусь PostPosted: Tue May 04, 2010 18:44
    —
MVV wrote:
Кстати, я не заметил в статье такого варианта использования, как установку атрибутов, предоставляемых информационным плагином.

Видимо, во время написания статьи этой фичи ещё не было.

#21:  Author: MVVLocation: Ростов-Дон PostPosted: Thu May 13, 2010 17:35
    —
NTLinks 1.0.0.74:
* возвращался неверный реальный путь для символических ссылок, начинающихся со слэша (путь относительно корневой папки) после Юникод-конверсии

Кстати, в Windows 7 до сих пор в свойствах символической ссылки с путем относительно корня целевой объект показывается так, будто путь не относительно корня, а относительно текущей папки. Very Happy

#22:  Author: Paulus83 PostPosted: Wed Jun 16, 2010 18:55
    —
Подскажите, у всех корректно изменяется отображаемое этим плагином число жестких ссылок после удаления одной или нескольких из них? Т.е. при создании очередной ссылки на какой-либо файл это число увеличивается, а вот при её удалении - остается неизменным. Или это моя локальная проблем? Тогда может будут какие идеи по ее устранению?

#23:  Author: CaptainFlintLocation: Москва PostPosted: Wed Jun 16, 2010 19:41
    —
Paulus83
При удалении файл может оставаться физически на диске, например, в Корзине.

#24:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Jun 16, 2010 19:43
    —
Paulus83 wrote:
Подскажите, у всех корректно изменяется отображаемое этим плагином число жестких ссылок после удаления одной или нескольких из них? Т.е. при создании очередной ссылки на какой-либо файл это число увеличивается, а вот при её удалении - остается неизменным. Или это моя локальная проблем? Тогда может будут какие идеи по ее устранению?

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

Кстати, у меня работает нормально. Создал файл 1.bin - одна копия, сделал дубликат 2.bin - у каждого по 2 копии, сделал дубликат 3.bin - у каждого по 3 копии, удалил 2.bin - у 1.bin и 3.bin по 2 копии.

CaptainFlint wrote:
Paulus83
При удалении файл может оставаться физически на диске, например, в Корзине.

Точно! Я как-то и не подумал про корзину, по привычке удалял с шифтом. Very Happy

#25:  Author: KoljasikLocation: СПб PostPosted: Thu Jun 17, 2010 21:33
    —
Создаю жесткую ссылку -- в плагине NTFS Links автоматически изменяется число жестких ссылок на файл, а в этом необходимо обновть панель...
При удалении -- тожже самое, необходимо обновлять панель...

#26:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Jun 11, 2011 17:01
    —
Koljasik wrote:
Создаю жесткую ссылку -- в плагине NTFS Links автоматически изменяется число жестких ссылок на файл, а в этом необходимо обновть панель...
При удалении -- тожже самое, необходимо обновлять панель...

У меня всё нормально, создаю жесткую копию через NTFS Links, тотал сам обновляет панели, и число в колонке сразу увеличивается. А если не увеличивается, скорее всего тотал не опрашивает плагин.


Вышла новая версия модуля! Smile

NTLinks 1.5.0.124:
+ кэширование данных о последнем файле (работает быстрее при использовании нескольких колонок с полями модуля)
+ естественный режим для относительных символических ссылок возвращает полный путь
+ изменение/удаление атрибута целевого пути (из диалога изменения атрибутов) для точек монтирования/соединения и символических ссылок
+ быстрое сравнение файлов по индексам файла/тома (для сравнения по содержимому при синхронизации)
* максимальное число циклов раскрытия ссылок при определении реального пути сокращено до 32 (Windows не позволяет использовать более 31 точки переподключения в пути)
* более быстрый алгоритм для вычисления реального пути
* исправлены названия некоторых точек переподключения
* Юникод- и ANSI-поля совмещены (те же поля возвращают ANSI-строки для старых версий, поля RP_TargetW и Obj_RealPathW убраны)
* кэш очищается при обновлении панели или смене каталога в ТК

Модуль теперь позволяет преобразовывать пустые папки в точки соединения и обратно. Для изменения целевого пути символических ссылок необходимы права администратора (и повышение, если есть UAC).

#27:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun Jun 12, 2011 09:28
    —
MVV wrote:
+ быстрое сравнение файлов по индексам файла/тома (для сравнения по содержимому при синхронизации)

Что следует указывать в шаблоне?

#28:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jun 13, 2011 18:46
    —
Avada wrote:
MVV wrote:
+ быстрое сравнение файлов по индексам файла/тома (для сравнения по содержимому при синхронизации)

Что следует указывать в шаблоне?

Да что угодно) хоть *.*. Принципиален не шаблон, а вызов операции сравнения. Задаешь вызов сравнения для *.* вверху списка, сравнение будет запускаться, если размеры файлов равны ненулевые, для остальных модуль возвращает -3, чтобы тотал сам занимался ими. Но подчеркну, такое сравнение отождествляет только жесткие копии одного и того же файла, т.к. сравнивает идентификаторы тома и индексы файлов.

С версии 1.5.0.132 отображается специальный значок тождественного равенства (≡) при сравнении по индексам.


NTLinks 1.5.0.140:
+ иконка специального равенства для файлов с одинаковыми индексами (для сравнения по содержимому при синхронизации)
+ удаление префикса \??\ и для символьного целевого пути точек монтирования
* очистка кэша при обновлении панели или смене каталога в ТК
* неверный префикс у целевого пути абсолютной символической ссылки

#29:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jun 14, 2011 15:09
    —
Сегодня заметил, что винда нормально работает с символическими ссылками и точками соединения, начинающимися с идентификаторов тома (правда, Проводник вообще не вдупляет, что это за ссылки такие, и ничего в свойствах не показывает).

NTLinks 1.5.1.156 (изменения после 1.5.0.140):
+ путь с идентификатора тома можно указывать без префикса \??\ (для точек монтирования/соединения)
+ распознавание символических ссылок и точек соединения с идентификаторами тома
+ получение необходимой для записи символических ссылок привилегии
* отображение числа жестких ссылок для папок и символических ссылок

#30:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Sep 18, 2011 13:57
    —
NTLinks 1.5.2.160:
+ добавлена 64-битная версия модуля (работает только с 64-битной версией ТК)

Помимо добавления 64-битного модуля в дистрибутив изменений не было.

#31:  Author: LonerDLocation: Донецк PostPosted: Sun Dec 11, 2011 23:27
    —
MVV
Может, перекомпилируете 32-битную версию?
Оно то понятно, что ничего там нету, но антивирусы беспокоятся при виде файлика.

У меня Касперский всю осень этим файликом забавляется.
"Шеф, я нашёл вирус, всё я-молодец его удалил, можешь не переживать".
Через два дня:
"Ложная тревога, я тут скачал себе новые базы, перепроверил всё, файлик супер-пупер чистый, я его восстановил".
Ещё через два дня:
"А-а-а, караул, страшная вирусяка, долой вирусяку!!!"
Ещё через день:
"Пьяный был, перебдел. Счас рассольчику глотнул, допёр что ничего там нету".
И так примерно каждые два-три дня удалит-восстновит-снова удалит... Very Happy Специально не добавляю в исключения, интересно было чем дело кончится, но оно и не думает заканчиваться.
Другие антивирусы в отношении этого файла тоже предпочитают перебдеть и найти хоть что-нибудь, но подозрительное в файлике.

#32:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Dec 12, 2011 11:11
    —
Больная это затея - гнаться за больными антивирусами. Сегодня у них одно на уме, завтра - другое. И никогда не знаешь наперёд, что им завтра в твоём файле не понравится.

Вообще, у выложенного файла в результате всего 2/43, что в принципе очень даже неплохо (Каспер скромно молчит в углу, вякнуть осмелились только Симантек и еСейф, причём, названия вирусов улыбнули).

Но файл перезалью - давно лежит слегка обновлённая NTLinks 1.5.2.162 32/64, у которой на данный момент 0/43 (а завтра - увидим).

#33:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jan 31, 2012 21:03
    —
Добавил возможность получения путей к жестким ссылкам (только с Vista).

NTLinks 1.5.2.192 32/64

Можно получать все пути в виде одной строки через запятую или индивидуально по индексу (от 0 до 9), плагин позволяет получать первые 10 путей.

Также добавлена возможность посмотреть размер файла по символической ссылке.

#34:  Author: [Yustas.NeO] PostPosted: Mon Feb 06, 2012 13:51
    —
"файл2" - файл-симлинк на "файл1".
"файл1" - файл-симлинк на "файл".

Для объекта "файл2":
Поля "[=ntlinks.Целевой объект.Естественный]" и "[=ntlinks.Целевой объект.Символьный]" показывают путь к "файл1".
Поля "[=ntlinks.Реальный путь.Естественный]" и "[=ntlinks.Реальный путь.Символьный]" показывают почему-то путь к самому себе ("файл2").

Возможно ли сделать, чтобы (как в случае с junction и с симлинком на папку) поля "[=ntlinks.Реальный путь.Естественный]" и "[=ntlinks.Реальный путь.Символьный]" показывали путь к конечному файлу ("файл")?

#35:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Feb 06, 2012 18:03
    —
Хм, действительно для файлов глючит. Ошибку нашел, буду вспоминать, почему было написано именно так. Я там добавляю слэш при определении атрибутов очередной папки, т.к. это необходимо для точек монтирования (для них необходимо указывать завершающий слэш, т.к. иначе это будет путь к текущей папке на диске, а не к корневой).

Добавлено спустя 1 час 35 минут:

Обновил версию, исправил пару багов (включая этот).

NTLinks 1.5.3.200 32/64

#36:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Apr 26, 2012 17:06
    —
Исправил ещё пару багов.

NTLinks 1.5.3.214 (изменения после версии 1.5.3.200):
* улучшенное определение точек соединения для путей, начинающихся с идентификаторов тома
* ошибка конверсии в Юникод в не-Юникодных функциях (с версии 1.5.0.108)

NTLinks 1.5.3.214 32/64

#37:  Author: [Yustas.NeO] PostPosted: Sat May 05, 2012 13:06
    —
Поле "[=ntlinks.HLNK_Paths.All]" неправильно возвращает пути, содержащие диски, подключенные командой "subst".

На диске "C:" создана папка "C:\C1\C2\C3\", которая подключена как диск "F:" (subst F: C:\C1\C2\C3).
На диске "F:" создана папка "F:\F1\F2\F3\", которая подключена как диск "G:" (subst G: F:\F1\F2\F3)
На диске "G:" создан файл "G:\G1\G2\G3\4.txt".
Так вот поле "[=ntlinks.HLNK_Paths.All]" для него возвращает "G:\G1\C1\C2\C3\F1\F2\F3\G1\G2\G3\4.txt".

P.S. Для пути на диске "C:" возвращает "C:\C1\C2\C3\F1\F2\F3\G1\G2\G3\4.txt")

P.P.S. А для файлов в корне дисков "F:" и "G:" - поле вообще ничего не возвращает.

#38:  Author: MVVLocation: Ростов-Дон PostPosted: Sat May 05, 2012 21:04
    —
Действительно, интересное поведение. Только не представляю, для чего такие хитромудрые подключения нужны. Кстати, необязательно было так усложнять, достаточно создать файл F:\F1\2.txt, для него путь уже неверный.

Но я тут ничего сделать не смогу, эти данные мне возвращают системные функции FindFirstFileName/FindNextFileName, я не подвергаю их какой бы то ни было обработке.

А вообще, это не единственный глюк винды Smile попробуй создать символическую ссылку с путём вида \F1 (mklink /d C:\Test\Link1 \F1 из админской консоли), т.е. относительно корневой папки диска. Теперь открой свойства ссылки, винда покажет неправильный целевой путь (она покажет путь C:\Test\F1, как если бы слэша в начале пути ссылки не было, но при этом содержимое папки будет отображать правильное - папки C:\F1).

#39:  Author: mrmerak PostPosted: Sat Sep 01, 2012 19:46
    —
MVV
Создал ссылку на файл через "NTFS Links".
Как правильно настроить шаблон поиска, чтобы потом на него навесить раскраску?

#40:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Sep 01, 2012 21:58
    —
Что именно окрашивать хочешь? Насколько я знаю, NTFS Links пока умеет создавать только жесткие ссылки для файлов.

У жестких ссылок есть особенность - они абсолютно равноправны с файлом, для которого их создали, и даже сам этот файл тоже является жесткой ссылкой (вернее, элемент в каталоге, представляющий файл), и невозможно определить, которая из жестких ссылок "главнее" или создана ранее. Поэтому окрашивать тут можно разве что файлы, у которых есть более 1 жесткой копии, для чего NTLinks предоставляет соответствующее поле.

Остальные виды ссылок - точки соединения для папок, символические ссылки на файлы и папки - являются именно ссылками и однозначно указывают на объект, на который ссылаются.

#41:  Author: mrmerak PostPosted: Sun Sep 02, 2012 11:13
    —
MVV
спасибо.
а как можно создать символическую ссылку на файл?

#42:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Sep 02, 2012 13:28
    —
Это можно только в Vista/7, необходимы права администратора, можно с консоли (команда mklink создаёт и символические для файлов/папок, и точки соединения для папок). Но символические ссылки на файл - штука тупая, дата модификации у неё всегда равна дате создания ссылки и не обновляется при изменении файла, размер всегда показывает 0 (в NTLinks есть поле для показа размера файла по ссылке) и т.п.

#43:  Author: mrmerak PostPosted: Sun Sep 02, 2012 21:13
    —
MVV
ОК, спасибо, картина начинает прояснятся Smile

Я хочу добиться, чтоб было "видно" все-все... Пока сделал так, посмотри плз что еще можно добавить или как правильнее сделать.

Символические папки, средствами ТС (не знаю чем будет быстрее - встроенным или плагином?)


Символические файлы


Жесткие файлы


Я так понимаю, нужны еще жесткие папки, но в mklink у меня не получилось их создать (mklink /H dir D:\123)

#44:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Sep 03, 2012 10:05
    —
Думаю, встроенными средствами тотал проверит, ссылка ли это, несколько быстрее, т.к. он и так перечисляет файлы и получает информацию о них, в том числе и атрибут FILE_ATTRIBUTE_REPARSE_POINT.

Кстати, тотал по признаку "Символическая ссылка" показывает как символические ссылки на папки, так и точки соединения/монтирования (перевод не совсем корректен). При этом символические ссылки на файлы в эту категорию не попадают (я писал Гислеру об этом, но без результата).

А жесткие ссылки на папки создать невозможно. Эта возможность доступна только для файлов. Хотя на уровне файловой системы и нет разницы между файлом и каталогом.

#45:  Author: GGS PostPosted: Sun Sep 01, 2013 15:57
    —
Установил на один из разделов (MBR HDD) Windows 8.1 Preview и обнаружил в её папке Windows кучу разнородных файлов с одинаковыми «HLNK_Index» (см. картинку).
Смотрел из-под разных ОС (XP, W7 и W8.1), NTLinks 1.5.3.216, TC 8.01/8.50b1
Кто виноват и что делать?

#46:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Sep 01, 2013 18:29
    —
Вообще интересно стало. Даже если бы NTLinks возвращала неверные индексы, они никак бы не совпали с заданным значением... Это если только NTLinks для каждого файла возвращала строго этот индекс... Но для каждого нового файла состояние сбрасывается.

Попробуй в пользовательском наборе колонок отобразить колонку HLNK_Index: что в ней отображается для этих файлов? Т.к., насколько я понимаю, при поиске тотал получает поле для каждого файла и сравнивает с заданным.

#47:  Author: GGS PostPosted: Sun Sep 01, 2013 18:55
    —
MVV
Картинки: Папка, Результаты поиска.
P.S. На раскраске при "HLNK_Count>1" - этот цвет.

#48:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Sep 01, 2013 19:45
    —
Странно, все файлы в результатах поиска отображают одинаковое значение, взятое из первого файла...

Интересно, у меня в результатах поиска всё работает.

При поиске в других папках всё нормально? Только в папке 8 винды?

#49:  Author: GGS PostPosted: Sun Sep 01, 2013 20:22
    —
MVV
Сделал поиск "HLNK_Count>1" на разделах (от корня) ОС W7 и W8.1, результаты "Копировать все колонки (полные пути)" с сортировкой по HLNK_Count в файлах.
В W7 всё нормально.

#50:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Sep 01, 2013 20:53
    —
Это значение HLNK_Count равно 206 для этих файлов? Если оно верно, то файлы действительно являются жесткими копиями, и их 206... Размеры и содержимое файлов одинаковы?

#51:  Author: GGS PostPosted: Sun Sep 01, 2013 21:17
    —
MVV wrote:
Это значение HLNK_Count равно 206 для этих файлов?

Да 206.
Похоже, я зря панику поднял, это особенность ОС такая, содержимое тоже одинаково. Извините, буду далее 8.1 изучать. ReFS?

#52:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Sep 01, 2013 21:39
    —
Интересно то, что файлы совершенно разных типов имеют одинаковое содержимое. Оно определенно не может быть корректным для них всех сразу. При этом это не пустое содержимое... Что же в этих файлах? Smile

#53:  Author: GGS PostPosted: Sun Sep 01, 2013 21:49
    —
MVV wrote:
Что же в этих файлах?

Что-то исполняемое, вот образец.
IMHO, какие-то зачатки Resilient File System (ReFS) или подобное.

#54:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Sep 01, 2013 22:13
    —
Хм, 16-битное приложение под Windows...
Code:
Company Name   :  Microsoft Corporation
File Description   :  Windows Win16 Application Launcher
File Version   :  3.10
Internal Name   :  WOWEXEC
Legal Copyright   :  Copyright © Microsoft Corp. 1981-1996
Original Filename   :  WOWEXEC.EXE
Product Name   :  Microsoft® Windows(TM) Operating System
Product Version   :  3.10

#55:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Mar 31, 2014 00:50
    —
Давно я хотел написать свою утилитку для создания ссылок, всё руки не доходили. Ей уже можно пользоваться, скоро включу её в состав плагина.

Умеет создавать точки соединения и символические ссылки, поддерживает задание глубины копирования (как в NTFS Links), запрашивает повышение, если не получилось создать ссылку (если нажать Повтор), по F5/F6 переключает выделение в поле ввода пути, работает исключительно с юникодом (только %WL). Поддерживает тихий режим, все опции можно указать в командной строке. Пример кнопки: /b "@%WL" "%T".

NTLinksMaker beta 116

Основное пока, чего не хватает - возможности подавить сообщения об ошибках для всех последующих вопросов сразу. Также маски пока не обрабатываются (если есть * в имени, типа D:\dir\*, имена берутся целиком оригинальные, иначе - чисто указанное вместо *; если ссылки создаются для более чем одного объекта, будет ошибка).

#56:  Author: MVVLocation: Ростов-Дон PostPosted: Sun May 04, 2014 01:48
    —
Добавил кнопку пропуска всех ошибок в диалог. В классической и базовой/аэро темах кнопка немного смещается, это я заметил. Также добавил возможность указания значения параметра /l=-1. В архиве 32- и 64-битные версии.

NTLinksMaker beta 140

#57:  Author: mrmerak PostPosted: Sun May 04, 2014 11:47
    —
MVV
а че в cab ?
readme хоть бы какой-то не?

#58:  Author: MVVLocation: Ростов-Дон PostPosted: Sun May 04, 2014 13:04
    —
А чё не в CAB? Что ты имеешь против CAB? Вот любитель повозмущаться.

Readme ещё не написан, потому без него. Бета же.

#59:  Author: FlasherLocation: Москва PostPosted: Sun May 04, 2014 15:00
    —
MVV
К примеру, cab мог быть криво настроен в Тотале (с учётом всяких плагинов, мультиарков), в то время как zip нативен, и с ним проблем почти ни у кого нет.

#60:  Author: MVVLocation: Ростов-Дон PostPosted: Sun May 04, 2014 15:03
    —
Разве я не могу испортить ZIP тем же мультиарком? По-моему, при должном умении испортить можно всё.
А CAB - стандартный формат винды ещё со времён Win9x, использовался в том числе в дистрибутивах винды с 9x по XP включительно и в MSI-установщиках.

#61:  Author: FlasherLocation: Москва PostPosted: Sun May 04, 2014 15:06
    —
MVV
О проблемах с cab на форуме (и не только на этом) сообщалось не единожды, в то время как с zip на моей памяти ни у кого проблем не было. И zip как правило мало кто от ТС отцепляет.

#62:  Author: mrmerak PostPosted: Sun May 04, 2014 15:25
    —
MVV
это ГИКовство

а zip открывает виндовозный проводник

#63:  Author: MVVLocation: Ростов-Дон PostPosted: Sun May 04, 2014 17:27
    —
Я больше 10 лет у себя всё пакую в CAB, а не в еле сжимающий ZIP, мне привычнее, быстрее и удобнее запустить упаковщик в CAB (Alt+F6).

Убедительная просьба в следующий раз при высказывании претензии мотивировать её.

mrmerak wrote:
а zip открывает виндовозный проводник

Равно как и CAB, и задолго до того, как он стал открывать ZIP...

#64:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jun 16, 2014 10:33
    —
На данный момент текущий билд NTLinksMaker - 150-й. Особо некогда было им заниматься.

NTLinksMaker Beta 150

Кнопка игнорирования всех теперь не в дочернем диалоге рисуется, а в мессейджбоксе напрямую, выравнивается по левому краю с первой кнопкой в окне.

Из весёлых моментов: в мессейджбоксе стрелки обрабатываются по-своему, поэтому ими между стандартными кнопками и моей не перейдёшь, также в некоторых темах (н-р, классической) часть окна красится другим цветом, и окрас заканчивается там же, где и раньше, а кнопка ниже))

#65:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Oct 08, 2014 10:31
    —
Перезалил на яндекс, изменений было не очень много.

NTLinksMaker Beta 170

Сделал, чтобы клавиши влево/вправо при наличии выделения перемещали курсор в начало/конец выделения. Также теперь кнопка повтора позволяет повторить последнюю операцию и для рекурсивно обрабатываемых элементов (при ненулевом числе уровней создаваемых каталогов).

#66:  Author: FlasherLocation: Москва PostPosted: Sun Jan 11, 2015 22:08
    —
MVV
Как насчёт добавить в Maker ключ/опцию сохранения относительной структуры для файлов в режиме без подкаталогов (по возможности и результатов поиска, хотя там место поиска не ограничено текущей папкой)?

#67:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jan 11, 2015 23:25
    —
Это будет проблематично, т.к. понятия текущей папки у утилиты нет, а файл-список содержит полными имена с путями.

#68:  Author: FlasherLocation: Москва PostPosted: Sun Jan 11, 2015 23:54
    —
MVV wrote:
т.к. понятия текущей папки у утилиты нет
Зато есть у ТС - "%P". Либо брать рабочую папку, когда путь запуска очищен. Откусил этот путь спереди - вот тебе и относительный путь. Wink Я так в своих скриптах делал.

#69:  Author: FlasherLocation: Москва PostPosted: Thu Jan 15, 2015 22:02
    —
MVV
Ну, так что?

#70:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Jan 15, 2015 22:59
    —
Копировать функционал CopyTree желания нет, а компактных изящных решений, вписывающихся в дизайн, не вижу.

#71:  Author: FlasherLocation: Москва PostPosted: Thu Jan 15, 2015 23:01
    —
В теме CopyTree я тебе предлагал это сделать, но ты отказался.
А что не так с решением?

P.S.: Само наличие такой функции сразу на порядок поднимет статус полезности твоей утилиты, которая на данный момент просто копирует в общей степени функционал известных консольных команд и большого интереса в таком виде не вызывает.

#72:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Jan 15, 2015 23:38
    —
Quote:
А что не так с решением?

Сплошные костыли, а не решение.
А варианты: %P и рабочая папка доступны не всегда, в панели поиска его нет, и это надо обрабатывать как-то отдельно. Но дублировать CopyTree, уже сказал, не буду.

Quote:
копирует в общей степени функционал известных консольных команд и большого интереса в таком виде не вызывает

Я не гонюсь за интересом, я реализовал то, чем мне было бы удобно пользоваться (в отличие от консольных команд), и в чем есть то, чего мне не хватало в других утилитах - юникод, запрос прав администратора, возможность создания символических ссылок, при этом размерчик "наш".

#73:  Author: FlasherLocation: Москва PostPosted: Thu Jan 15, 2015 23:47
    —
MVV wrote:
Сплошные костыли, а не решение.
Не вижу ничего костыльного в добавлении параметра. Если указываешь ключ, то добавляются каталоги, если нет - то нет. Написать пару слов в описании ключа, это ли проблема? Или ты забыл, что это инструмент для ТС, и тут параметры решают?
MVV wrote:
то, чего мне не хватало в других утилитах - юникод
Юникода не хватало? А мне хватало.
MVV wrote:
возможность создания символических ссылок
Даже встроенная mklink изначально этим и занимается.

Last edited by Flasher on Thu Jan 15, 2015 23:53; edited 1 time in total

#74:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Jan 15, 2015 23:51
    —
Внимательнее читаем. Говорить о mklink - не самая удачная мысль, особенно когда надо создать ссылки для кучи объектов.
MVV wrote:
чем мне было бы удобно пользоваться (в отличие от консольных команд)

А та же NTFSLinks юникод заумела не так и давно, при этом сильно выросла в размере, f символические ссылки и запрос прав администратора умеет?.
MVV wrote:
чего мне не хватало в других утилитах - юникод, запрос прав администратора, возможность создания символических ссылок


Last edited by MVV on Thu Jan 15, 2015 23:56; edited 1 time in total

#75:  Author: FlasherLocation: Москва PostPosted: Thu Jan 15, 2015 23:54
    —
Внимательно читаем:
Flasher wrote:
Написать пару слов в описании ключа, это ли проблема? Или ты забыл, что это инструмент для ТС, и тут параметры решают?

MVV wrote:
А варианты: %P и рабочая папка доступны не всегда, в панели поиска его нет, и это надо обрабатывать как-то отдельно.
Бог с ним - с поиском, там это очень редко требуется. Достаточно для режима без подкаталогов.

MVV wrote:
Я не гонюсь за интересом, я реализовал то, чем мне было бы удобно пользоваться
Т.е. экономить себе время для воссоздания всей необходимой для дальнейших операций структуры - это неудобно? Confused

Last edited by Flasher on Fri Jan 16, 2015 00:01; edited 1 time in total

#76:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Jan 16, 2015 00:00
    —
А это вообще не аргумент. Пичкать программу всеми возможными опциями, которые делают кардинально разные вещи - не самое красивое решение.

#77:  Author: FlasherLocation: Москва PostPosted: Fri Jan 16, 2015 00:02
    —
Quote:
Говорить о mklink - не самая удачная мысль, особенно когда надо создать ссылки для кучи объектов.
Это почему? Есть какие-то проблемы с этим?

MVV wrote:
делают кардинально разные вещи
Вот этот тезис точно без аргументов. Что значит "кардинально" разные? Для чего и для кого? См. дописку в посте.

#78:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Jan 16, 2015 00:27
    —
Quote:
Это почему? Есть какие-то проблемы с этим?

А как ты предлагаешь её использовать? Из скрипта или батника? Не есть найс ни разу.

#79:  Author: FlasherLocation: Москва PostPosted: Fri Jan 16, 2015 00:30
    —
Нет, из кнопки. Примеров на форуме полно.

Как-то ты выборочно на вопросы отвечаешь.

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

Раз зашла речь об аргументах. У тебя в утилите обрабатывается список. Я в скрипте при всём желании не смогу совместить обработку этого списка, и мне придётся перебирать его построчно с повторным вызовом твоей утилиты. А с учётом рекурсии это "мама дорогая". Нерациональный подход при возможности сразу добавить нужный функционал сюда.

#80:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Jan 16, 2015 00:49
    —
Аж интересно стало, как из кнопки без скрипта или батника применить mklink к группе объектов. Но лазить искать желания нет, да и в ответе уверен. Cool

Выборочно, потому что спорить о вкусах не намерен, а предложений, которые прям захотелось бы реализовать, нет.

Quote:
Нерациональный подход при возможности сразу добавить нужный функционал сюда.

А подумай в другой плоскости: раз совсем не получается, может, эта утилита просто не применима для конкретной задачи?

#81:  Author: FlasherLocation: Москва PostPosted: Fri Jan 16, 2015 00:59
    —
MVV wrote:
да и в ответе уверен.
Наличие уверенности, при том, что ты с разбором подобных кнопок имел дело хотя бы в теме AskParam, очень удручает.
MVV wrote:
потому что спорить о вкусах не намерен
Вкусах? Каких вкусах? Confused Я про это ничего не писал.
MVV wrote:
может, эта утилита просто не применима для конкретной задачи?
Странно было бы запрашивать опцию, если бы уже была применима. Laughing

#82:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Jan 16, 2015 01:08
    —
Quote:
Наличие уверенности, при том, что ты с разбором подобных кнопок имел дело хотя бы в теме AskParam, очень удручает.

А ну-ка ссылку в студию на то, как можно обработать список файлов без батника или скрипта с помощью mklink. Кстати, указание команд напрямую в параметрах cmd (если ты об этом) приравнивается к батнику, имеет те же проблемы и косяки.

#83:  Author: FlasherLocation: Москва PostPosted: Fri Jan 16, 2015 01:11
    —
Я не писал про кнопки именно с mklink, я писал про кнопки, на примере которых нужная легко изготавливается. Хотя бы.
MVV wrote:
приравнивается к батнику
С каких это пор? Laughing
MVV wrote:
имеет те же проблемы и косяки
Вот я про них и спросил. Какие, например?

P.S.: В общем, я понял. Там где надо работать с целой структурой и большими объёмами (CopyTree), место тебе экономить не надо, а там, где надо экономить (NTLinksMaker), структура не нужна. Класс...

#84:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Jan 16, 2015 12:22
    —
Flasher wrote:
Я не писал про кнопки именно с mklink, я писал про кнопки, на примере которых нужная легко изготавливается. Хотя бы.

Что mklink, что fsutil, разница невелика. Второй вариант даже хуже, всегда требует прав администратора.
Quote:
С каких это пор?

Дык интерпретатор их обрабатывает абсолютно одинаково, независимо от того, как они подаются - в отдельном они файле или в командной строке (которая по сути есть батник в одну строку).
Quote:
Вот я про них и спросил. Какие, например?

В первую очередь, экранирование символов. Также нельзя запросить права администратора.
Flasher wrote:
P.S.:

Ну закрутил. CopyTree создана специально для копирования с учетом относительной вложенности, там и наглядность, и проверки начальных частей пути. Структуры есть там, где они нужны, и с сохранением разумного размера. Вообще, эта полемика уместнее в ПМ.

#85:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Jan 16, 2015 19:59
    —
Попробуй, должно работать что-то вроде этого:
Code:
NTLinksMaker.exe /r="%P" "@%WL" "%T"


NTLinksMaker Beta 192

На работу из обычного режима вроде не повлияло. Разве что добавилась возможность создавать несуществующие папки.
Естественно, из результатов поиска не работает. Думаю, стоит выдавать предупреждение, что файлы будут свалены в кучу.

#86:  Author: FlasherLocation: Москва PostPosted: Fri Jan 16, 2015 20:20
    —
MVV wrote:
В первую очередь, экранирование символов. Также нельзя запросить права администратора.
Помню, обсуждали. Но меня пока не коснулось.
MVV wrote:
Попробуй
Ура, ура, убедил, ура!!!
Работает, весьма благодарен! Прям бальзам на душу.

P.S.: "Ну закрутил." - А то. И не зря ж старался.

#87:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Jan 16, 2015 20:31
    —
MVV
А ридми всё же надо. Хотя и бета...

#88:  Author: FlasherLocation: Москва PostPosted: Fri Jan 16, 2015 20:39
    —
Avada
Достаточно вызвать утилиту без параметров. Wink
Правда нового ключа там пока нет.

#89:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Jan 16, 2015 20:47
    —
Flasher
И тем не менее. И об общих возможностях утилиты в ридми должно быть, и о локализации, и о том, что её достаточно вызвать без параметров. Wink

#90:  Author: FlasherLocation: Москва PostPosted: Fri Jan 16, 2015 20:54
    —
Avada
Ты, наверно, уже представил что-то наподобие ридми для NTFSLinks со всем ликбезом и оформлением. Не говорю уж про твои справки. Very Happy
Но я так доволен произошедшим, что в данный момент для меня наличие справки уже дело десятое. Но я, естественно, никогда не против. И локализация было бы точно кстати.

#91:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Jan 17, 2015 00:03
    —
Ну не успел, извините, Readme дописать, сначала надо отладить как следует функцию, а также окончательно определиться с порядком её вызова.

Avada,
Ой, я и забыл, что описание NTLinks Maker пока не совсем полное. Surprised
Readme.txt wrote:
4. NTLinks Maker

Описание.

Но раздел зарезервирован, как дойдут руки, наполню его содержимым.

Flasher wrote:
Правда нового ключа там пока нет.

Но я добавил комментарий с TODO, так что он там появится. Very Happy

Flasher wrote:
И локализация было бы точно кстати.

Как, у тебя она на английском? У меня на русском. Cool
В системах с русской локалью отображается русский интерфейс. А вообще, есть и поддержка файлов локализации, возможно, не выкладывал ещё их.

Flasher wrote:
И не зря ж старался.

Но это не значит, что и в следующий раз флейм на целую страницу принесет такой же результат. Cool
Повезло, что удачно вписалось-таки, изменений потребовалось минимум. Имя файла я и так выделяю в исходном пути, чтобы дописать к целевому, а тут просто добавился альтернативный алгоритм. Самое крупное изменение - добавить рекурсивное создание промежуточных каталогов, без которого уже никак не обойтись.

Надо подумать, отражать ли этот режим в интерфейсе и как.

#92:  Author: FlasherLocation: Москва PostPosted: Sat Jan 17, 2015 00:41
    —
MVV wrote:
Как, у тебя она на английском?
Описание - да.
MVV wrote:
Но это не значит, что и в следующий раз флейм на целую страницу принесет такой же результат. Cool
Ну, я ж знаю, что с тобой по-другому редко получается. Cool Всё силком приходится.
MVV wrote:
Самое крупное изменение - добавить рекурсивное создание промежуточных каталогов
Это-то понятно.

В результатах поиска, кстати, тоже решаемо, если указать, что надо убирать путь запуска и использовать ту функцию, что показывал. Но это уже на твоё усмотрение.

#93:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Jan 17, 2015 01:07
    —
Quote:
Описание - да.

А, ну это нормально. В руководстве опишу по-русски, а там - чисто напоминалка.

Quote:
В результатах поиска, кстати, тоже решаемо, если указать, что надо убирать путь запуска и использовать ту функцию, что показывал. Но это уже на твоё усмотрение.

Это какую? Мне пока пришло в голову только добавить галочку и поле ввода отсекаемой части пути, куда выводить значение параметра /r или, если оно не задано, путь к первому файлу...

#94:  Author: FlasherLocation: Москва PostPosted: Sat Jan 17, 2015 01:18
    —
MVV wrote:
ну это нормально.
Как сказать. Автора перевода подобного описания F4Menu не напомнишь?
MVV wrote:
Это какую?
Ссылка из первого поста обсуждения.

#95:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Jan 17, 2015 01:30
    —
Flasher wrote:
Как сказать. Автора перевода подобного описания F4Menu не напомнишь?

Там же описания не было на русском.
Flasher wrote:
Ссылка из первого поста обсуждения.

А, понял. Не всегда рабочая папка осмысленная. Например, когда ведешь поиск по всем дискам или меняешь путь поиска, рабочая папка может быть какой угодно. В CopyTree я анализирую первый файл в списке и на его основе строю список вариантов. Здесь списка не будет, но поле ввода вполне можно сделать.

#96:  Author: FlasherLocation: Москва PostPosted: Sat Jan 17, 2015 01:35
    —
MVV wrote:
Там же описания не было на русском.
И тут такого тоже нет.
MVV wrote:
Например, когда ведешь поиск по всем дискам или меняешь путь поиска
Да, знаю, поэтому сразу и написал об этом. Хотя, конечно, в 99,9% случаев мы ищем в активной папке.
MVV wrote:
но поле ввода вполне можно сделать
Проясни, как это будет выглядеть? Окно отрисуется с дополнительным полем снизу?

Flasher wrote:
решаемо, если указать, что надо убирать путь запуска и использовать ту функцию, что показывал
Вариант, оказывается, не прокатывает после выделения (даже одного элемента), рабочей папкой сразу становится получатель, и снятие выделения уже не помогает. Sad
Года 3-4 назад проходил сей момент, но уже из головы вылетело.

#97:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Jan 17, 2015 21:47
    —
Quote:
И тут такого тоже нет.

Ну будет же, в отличие от F4Menu. Cool

Flasher wrote:
Вариант, оказывается, не прокатывает после выделения (даже одного элемента), рабочей папкой сразу становится получатель, и снятие выделения уже не помогает. Sad

Хм, не знал о такой тонкости! Значит, точно надо использовать кусок пути к первому файлу в списке.
Flasher wrote:
Проясни, как это будет выглядеть? Окно отрисуется с дополнительным полем снизу?

В диалог, да, добавится галка с текстом вида "Определять расположение элементов относительно каталога:" (здесь стоит подумать) и полем под галкой, в котором предварительно будет прописан предлагаемый путь (т.е. содержимое /r или путь к первому файлу без имени), но можно будет стереть последние каталоги (например, играясь клавишами F5 и Backspace), чтобы укоротить отсекаемый путь. Только наверное не внизу, а под полем с вводом пути назначения, внизу, мне кажется, оно смотреться не будет.

#98:  Author: FlasherLocation: Москва PostPosted: Sat Jan 17, 2015 22:47
    —
MVV wrote:
Значит, точно надо использовать кусок пути к первому файлу в списке.
Можно ещё проходиться по списку и останавливаться на первой несовпавшей подстроке \блабла\ в пути, и всё что слева от неё и будет исходной папкой.
Конечно, ты спросишь "А что делать, если весь список касается только одной папки?", но тогда и искать в ней не было особого смысла.
MVV wrote:
здесь стоит подумать
Можно просто "Исходный каталог:".
MVV wrote:
добавится галка
А почему просто не проверять наличие ключа /r, и в этом случае дорисовывать поле с названием или растемнять их?
MVV wrote:
внизу, мне кажется, оно смотреться не будет
Возможно. Я рассуждал по принципу добавочности.

#99:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jan 18, 2015 00:07
    —
Quote:
А почему просто не проверять наличие ключа /r, и в этом случае дорисовывать поле с названием или растемнять их?

Растягивать диалог на лету - много телодвижений надо делать. И потом, функция может пригодиться и сама по себе.
Quote:
Можно просто "Исходный каталог:".

Я хочу совместить галку и указание на смысл поля ввода.

В общем, смотри, что получилось. Если /r не задаёт пути, берётся путь первого элемента в списке. Потом его можно отредактировать в диалоге и поставить/снять галку.

NTLinksMaker Beta 204

Заодно выложил файлы локализации и пример конфига для задания языка.

#100:  Author: FlasherLocation: Москва PostPosted: Sun Jan 18, 2015 00:42
    —
Ну, я так и представлял. Только, конечно, окно я бы подужал по ширине до размера текста второй опции.

И вот какое пожелание: если стоит ключ /s, то в случае несовпадения дисков автоматически убирать его. Ну, чтобы кнопки не плодить, особенно в /q-режиме.

Про файлы локализации - а для окна справки ключи добавишь?
Кнопка аля "Справка" в диалоге потом появится?

#101:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jan 18, 2015 01:01
    —
Quote:
Только, конечно, окно я бы подужал по ширине до размера текста второй опции.

Возможности определить размер текста контрола нет, поэтому не вариант. И потом, на другом языке так другие строки могут не уместиться.

Quote:
И вот какое пожелание: если стоит ключ /s, то в случае несовпадения дисков автоматически убирать его. Ну, чтобы кнопки не плодить, особенно в /q-режиме.

Не пойму смысла хотелки. Для символических ссылок никаких ограничений нет, для точек соединения - тоже. Они есть лишь для жестких ссылок... И не проще ли по кнопке батничком проверять и указывать или не указывать ключ?

Quote:
Про файлы локализации - а для окна справки ключи добавишь?

Ключи по-русски будут только в Readme. Не вижу смысла засорять этим файл локализации.

Quote:
Кнопка аля "Справка" в диалоге потом появится?

А что, без неё на Марсе жизни нет? Very Happy
Кому надо, почитает Readme, а кому не надо - и с кнопкой не прочитает.

#102:  Author: FlasherLocation: Москва PostPosted: Sun Jan 18, 2015 01:12
    —
MVV wrote:
Возможности определить размер текста контрола нет, поэтому не вариант.
Ок. А просто подужать пикслелей на 80?
MVV wrote:
А поточнее?
Пардон, сбился с мысли. Embarassed Всё в точности до наоборот. Если ключа нет в случае разных дисков, то подставлять ключ.
MVV wrote:
А что, без неё на Марсе жизни нет?
В NTFSLinks такая фича есть. Ты можешь вместо большой кнопки добавить маленькую рядом с крестиком в титлбаре. Будет почётно. Smile

#103:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jan 18, 2015 01:20
    —
Quote:
Ок. А просто подужать пикслелей на 80?

А смысл? Что, у кого-то настолько маленький экран? У меня даже при текущей ширине среднестатистический путь (82 символа) не умещается в поле.
Quote:
Всё в точности до наоборот. Если ключа нет в случае разных дисков, то подставлять ключ.

Не, это уже делай в скрипте. Просматривать весь список на предмет наличия там файлов, причём с другого диска - слишком специфическая задача. И потом, жесткая и символическая ссылки слишком сильно различаются по сути, чтобы так легко подменять одну другой.
Flasher wrote:
В NTFSLinks такая фича есть. Ты можешь вместо большой кнопки добавить маленькую рядом с крестиком в титлбаре. Будет почётно. Smile

Да, знаю, что есть. А у меня не будет. Smile

#104:  Author: FlasherLocation: Москва PostPosted: Sun Jan 18, 2015 01:24
    —
MVV wrote:
Просматривать весь список на предмет наличия там файлов,
Зачем??? Surprised Просто сравни имена дисков первого элемента и пути назначения. Можно ключик (без оконной опции - она там и не нужна) добавить, если что.

#105:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jan 18, 2015 01:35
    —
Ха! А если в списке только каталоги, какой смысл принудительно создавать символические ссылки (требующие повышенных привилегий), когда хватит и старых добрых точек соединения?

#106:  Author: FlasherLocation: Москва PostPosted: Sun Jan 18, 2015 01:38
    —
MVV
Да, я это понимаю, но тогда не будет объединяющего варианта, поэтому и запросил ключик. И далеко не все сидят под юзером.
Вот ты пишешь, про то, чтобы смотреть весь список. Но ведь ты этот список обрабатываешь, и для каждого файла выдаётся ошибка, а можно было бы вместо неё делать подмену на попытку создать символьную ссылку. Это было бы оптимальным решением.
А насчёт того, что будет для папок - reparse point или symlink, то мне всё равно.

#107:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jan 18, 2015 14:32
    —
Сравнить первые буквы целевого пути и первого файла в списке - несложная задача даже для банального батника.
А если ты сидишь под админом с отключённым UAC и тебе всё равно, что создаётся для папок, то просто всегда используй символические ссылки.

#108:  Author: FlasherLocation: Москва PostPosted: Sun Jan 18, 2015 22:46
    —
MVV wrote:
создаётся для папок, то просто всегда используй символические ссылки.
Так я хочу, чтобы утилита давала возможность делать жёсткие ссылки для файлов, а символические - в случае, если у получателя другой диск.
MVV wrote:
Сравнить первые буквы целевого пути и первого файла в списке - несложная задача даже для банального батника.
Я в курсе, но это будет не так красиво и шустро.
И ты проверь как себя ведёт NtfsLinks в таких ситуациях и сравни поведение.

#109:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 19, 2015 12:28
    —
Quote:
Так я хочу, чтобы утилита давала возможность делать жёсткие ссылки для файлов, а символические - в случае, если у получателя другой диск.

Сейчас список обрабатывается последовательно, если надо запросить права администратора, запускается второй экземпляр с указанием позиции в списке, и обработка списка продолжается с этой позиции с учётом новых параметров. В принципе, наверное можно добавить опцию "только при невозможности создания жесткой ссылки".
Quote:
И ты проверь как себя ведёт NtfsLinks в таких ситуациях и сравни поведение.

Символические же она ещё не создаёт. Так что максимум выдаст несколько иное предупреждение.

#110:  Author: FlasherLocation: Москва PostPosted: Mon Jan 19, 2015 12:57
    —
MVV wrote:
можно добавить опцию "только при невозможности создания жесткой ссылки".
Я как раз про неё. И если не хочешь, можешь только ключ сделать. Главное, чтобы было.

MVV wrote:
Символические же она ещё не создаёт.
Из справки:
Общий обзор wrote:
Программа позволяет создавать жёсткие и символические ссылки на NTFS-разделах.
В разделе "Описание программы" приводится пример с отметкой символических ссылок синим цветом. Но при этом:
Что такое ссылки NTFS wrote:
Symbolic link: ... Для создания требуются повышение привилегий, поэтому пока что NTFS Links не поддерживает создание этого типа ссылок.

#111:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 19, 2015 13:08
    —
Quote:
Из справки:

Символическими ссылками в том месте справки называются точки соединения для папок (junctions) и точки монтирования для томов. В то время ещё не было Windows Vista и непосредственно микрософтовых символических ссылок, поэтому использовалась юниксовая терминология.
Quote:
Но при этом:

Символические ссылки в их настоящем смысле NtfsLinks не создаёт, о чём и говорит твоя вторая цитата.


Last edited by MVV on Mon Jan 19, 2015 13:13; edited 1 time in total

#112:  Author: FlasherLocation: Москва PostPosted: Mon Jan 19, 2015 13:11
    —
А, ну да, так и есть. Они там все 3 и перечислены.
В случае другого диска у получателя никаких окон с ошибками с ней не появляется. Вся разница.

#113:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 19, 2015 13:15
    —
А я выделил 3 файла на диске C: и попросил NtfsLinks 1.30 сделать для них ссылки в папке на диске D:, и получил то же сообщение об ошибке, что и у меня (но при этом обрезанное).

#114:  Author: FlasherLocation: Москва PostPosted: Mon Jan 19, 2015 13:28
    —
Мда. У меня она, похоже, вообще перестала работать, хоть с родным, хоть с каким. Молчит и всё. Confused Ладно, оставим её. Вернёмся к нашим баранам.

#115:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 19, 2015 14:47
    —
Добавил параметр /s?, включающий создание символических ссылок в случаях, когда нельзя создать жесткие. Права администратора запрашиваются предварительно.
При этом опция в диалоге вместо да/нет приобретает форму да/может_быть (т.е. состояний всего 3, но в каждый отдельно взятый момент доступны только 2).

NTLinksMaker Beta 216

#116:  Author: FlasherLocation: Москва PostPosted: Mon Jan 19, 2015 15:03
    —
Хорошо! Т.е. старый ключ /s без ? теперь не работает что ли? Так задумано?
MVV wrote:
опция в диалоге вместо да/нет приобретает форму да/может_быть
В каком диалоге?

#117:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 19, 2015 15:56
    —
Теперь можно /s - создавать, /s? - создавать при ошибке, /s- - не создавать.
Quote:
В каком диалоге?

В том, который ты отключаешь опцией /q. Very Happy


Last edited by MVV on Mon Jan 19, 2015 16:02; edited 2 times in total

#118:  Author: FlasherLocation: Москва PostPosted: Mon Jan 19, 2015 16:01
    —
MVV wrote:
Теперь можно /s - создавать
Я ж пишу, что не отмечается опция.
MVV wrote:
В том, который ты отключаешь опцией /q.
Не буду же я с отключённым диалогом тестировать. В нём как раз и не вижу ни "да", ни "нет", ни "может быть".

#119:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 19, 2015 16:03
    —
Quote:
Я ж пишу, что не отмечается опция.

По умолчанию создание символических ссылок отключено и галка может быть установлена в да/нет. А если запускаешь с /s?, то галка может быть установлена в да/может_быть (третье состояние чекбокса).

Только теперь при /s? нельзя полностью отключить создание символических ссылок. Таки сделать второй чекбокс для новой опции, который будет заблокирован, когда первый отключен?

#120:  Author: FlasherLocation: Москва PostPosted: Mon Jan 19, 2015 16:12
    —
Ясно. Ты про подтекст.
MVV wrote:
По умолчанию создание символических ссылок отключено и галка может быть установлена в да/нет.
А какой тогда смысл в наличии ключа /s (якобы "создавать")?
MVV wrote:
Таки сделать второй чекбокс для новой опции, который будет заблокирован, когда первый отключен?
Зачем? Просто верни "да" для /s. А если делать, то переключение на 3 состояния для одного чекбокса в любой ситуации.

И какой смысл в минусах, если это равноценно отсутствию ключей?

#121:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 19, 2015 22:54
    —
Окей, шеф, уберу про минусы, будет недокументированная особенность. Very Happy

Про три состояния в теме про NtfsLinks обсуждали, что-то непонятное есть в таком чекбоксе. Второй чекбокс гораздо понятнее.

#122:  Author: FlasherLocation: Москва PostPosted: Mon Jan 19, 2015 23:09
    —
Второй будет лишним. Верни тогда только птицу для /s и всё.

#123:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 19, 2015 23:28
    —
Вот так, не? Не читающему справку понятнее будет:

NTLinksMaker Beta 222

#124:  Author: FlasherLocation: Москва PostPosted: Mon Jan 19, 2015 23:51
    —
Птицу вернул - гуд, но вот эта опция... Получается, что если использовать /s?, то в случае одного тома новая опция будет отмечена, хотя по логике не должна.
И я бы оформлял так:
Quote:
Символьные ссылки:
Создавать только для другого раздела
А то, не очень ясно про что вторая опция на таком расстоянии от первой.

#125:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 19, 2015 23:59
    —
А кто там знает, один ли том, особенно в случае большого списка. И потом, даже если буквы дисков совпадают, файлы могут оказаться на разных томах из-за папок-ссылок.

А создавать единственную группу из-за двух галок - не найс. И потом, в галке "Создавать" тоже есть неясность. Вместо ли обычных, в дополнение ли, всегда ли...

#126:  Author: FlasherLocation: Москва PostPosted: Tue Jan 20, 2015 00:07
    —
Я поэтому и был против опции, т.к. она в текущем виде "не пришей рукав".
MVV wrote:
И потом, в галке "Создавать" тоже есть неясность. Вместо ли обычных, в дополнение ли, всегда ли...
И чем эта неясность отличается от неясности в галке "Создавать символьные ссылки"? Very Happy

А что тебе мешает в случае наличия "?" просто дописывать текст второй опции к первой?

#127:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jan 20, 2015 00:18
    —
Quote:
Я поэтому и был против опции, т.к. она в текущем виде "не пришей рукав".

В текущем виде она располагается на одной строке с своей родительской, и при этом блокируется при отключении той, что каг бе наводит на мысль о взаимосвязи.

Quote:
И чем эта неясность отличается от неясности в галке "Создавать символьные ссылки"?

После фразы "Создать ссылки для ... в ..." надпись "Создавать символические ссылки" чётко указывает, что создаваться будут именно они. А в "Символические ссылки: Создавать" нет указания на то, что они будут вместо обычных. Такая галка скорее для дополнительной опции подойдёт, но не для основной.

Тройная галка непонятна тем, что непонятно, что именно будет создаваться при затемнённом состоянии. И со скачущим текстом своей мороки хватает, а ясности не сильно прибавляет. Надо ещё обратить внимание, что текст изменился.

#128:  Author: FlasherLocation: Москва PostPosted: Tue Jan 20, 2015 00:35
    —
MVV wrote:
В текущем виде она располагается на одной строке с своей родительской
Полно программ, где несвязанные опции на одной строке расположены.
MVV wrote:
при этом блокируется при отключении той, что каг бе наводит на мысль о взаимосвязи
Т.е. это ещё наткнуться специально на проверку нужно, чтобы это выяснить?
MVV wrote:
надпись "Создавать символические ссылки"
В диалоге написано именно символьные.
MVV wrote:
А в "Символические ссылки: Создавать" нет указания на то, что они будут вместо обычных.
А где указание на это в фразе "Создавать символьные ссылки"? Very Happy Те же яйца, только вид сбоку.

С тройной галкой ладно. А какая морока у "скачущего" текста?

И касаемо очевидностей. В диалоге нигде не внесена ясность, что без отметки опции будут вообще какие-то ссылки создаваться.
Поэтому я предлагаю сделать радиокнопки:
Code:
◎ Создавать символьные ссылки      ◉ Создавать жёсткие ссылки
  ⍌ только для других томов
либо
Code:
Тип ссылок:   ◉ Жёсткие ◎ Символьные
              ◎ Жёсткие/для других томов - символьные

#129:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jan 20, 2015 02:20
    —
Flasher wrote:
В диалоге написано именно символьные.

Что-то я не то написал, исправил в диалоге на символические.
Quote:
В диалоге нигде не внесена ясность, что без отметки опции будут вообще какие-то ссылки создаваться.

На то есть описание. И одна-две галки вполне популярно позволяют все варианты перебрать. Кто знаком с NtfsLinks, тем так вообще опция создания символических ссылок будет понятна (без неё - как раньше, с ней - символические).
Quote:
А где указание на это в фразе "Создавать символьные ссылки"?

Указание в ударении на слово символические. А в твоём варианте ударение было на слово Создавать.
Quote:
Поэтому я предлагаю сделать радиокнопки:

Не хочу перегружать диалог радиокнопками. Как вариант, можно комбобокс сделать, там и в одну строку всё прекрасно поместится, и ясность будет полная.

И вообще, кто-то просил только ключ добавить, без гуи, а теперь разводит полемику насчёт гуи. Cool

#130:  Author: FlasherLocation: Москва PostPosted: Tue Jan 20, 2015 02:34
    —
MVV wrote:
На то есть описание.
Точно так же можно ответить и на это:
MVV wrote:
Создавать" нет указания на то, что они будут вместо обычных.


MVV wrote:
Не хочу перегружать диалог радиокнопками.
А чем они хуже чекбоксов?
MVV wrote:
Как вариант, можно комбобокс сделать, там и в одну строку всё прекрасно поместится, и ясность будет полная.
А зачем в комбобокс помещать одну строку? Это же список. Или ты про то, что там радиокнопки сделать?
MVV wrote:
а теперь разводит полемику насчёт гуи
Ээ, нет. На секундочку - чекбокс я не запрашивал, но он появился. Вот мы и обсуждаем как сделать качественно, раз ты взялся за GUI.

#131:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jan 20, 2015 13:06
    —
Quote:
А зачем в комбобокс помещать одну строку? Это же список. Или ты про то, что там радиокнопки сделать?

Комбобокс - это одна строка, в которой можно спрятать несколько выпадающих строк:
Quote:
Создавать точки соединения и жесткие ссылки
Создавать точки соединения и жесткие ссылки (между разделами - символические)
Создавать символические ссылки

Но, по-моему, это уже сильно подробно.

#132:  Author: FlasherLocation: Москва PostPosted: Tue Jan 20, 2015 13:20
    —
MVV
Что такое комбобокс я знаю. Как знаю и то, что в него можно втащить радиокнопки. Я был бы не против их наличия. Всё-таки отметка обуславливает выбор. Так будет наглядней.

#133:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jan 20, 2015 13:26
    —
Не хочется на пол-окна делать опции выбора типа ссылок.

#134:  Author: FlasherLocation: Москва PostPosted: Tue Jan 20, 2015 14:06
    —
Почему ссылок? И почему на пол-окна? Сам же пишешь про оду строку. Хотя ещё надпись "Тип ссылок:" должна быть где-то сверху размещена.

#135:  Author: FlasherLocation: Москва PostPosted: Wed Jan 21, 2015 21:00
    —
MVV, ну так что с комбобоксом?

#136:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Jan 21, 2015 23:24
    —
Ничего. Не хочу, как и раньше.

#137:  Author: FlasherLocation: Москва PostPosted: Thu Jan 22, 2015 02:31
    —
Так ты не объяснил, в чём суть загромождения, если 2 пункта будут не видны? В 98% случаев туда и лезть не придётся.

#138:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Jan 22, 2015 20:06
    —
А, мне прочиталось, что ты про радиокнопки. Подумать надо.

#139:  Author: FlasherLocation: Москва PostPosted: Thu Jan 22, 2015 20:09
    —
Так я писал про радиокнопки внутри выпадающего списка, а не в роли отдельно расположенных элементов. На строке-то они вроде не будут съедать высоту.

#140:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Jan 22, 2015 22:01
    —
Внутри выпадающего списка радиокнопок быть не может. Там могут быть только элементы списка, которые выполняют роль радиокнопок, позволяя выбрать 1 опцию из нескольких возможных.

Добавлено спустя 1 час 48 минут:

Сделал выпадающий список.

NTLinksMaker Beta 236

#141:  Author: FlasherLocation: Москва PostPosted: Fri Jan 23, 2015 03:41
    —
Спасибо! Так явно лучше. Только вот опять ты дистанцировал их. Можно сделать подлиннее поле, чтобы влезла более понятная запись "Жёсткие ссылки, символические - при необходимости", и дистанция бы сократилась (меня она прежде всего смущала).
Зы: в lng в слове "жёстки.." у тебя в одном месте "ё", в другом - "е". Лучше уж в обоих - "ё". Wink

И ещё. Я в скриптах по работе со списками всегда отключаю ругань при отсутствии выделения и постановке на элементе [..]. Можешь сделать, чтобы инфо-окно там не появлялось?

 `Внутри выпадающего списка радиокнопок быть не может.`

#142:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Jan 23, 2015 11:35
    —
Quote:
Можно сделать подлиннее поле, чтобы влезла более понятная запись "Жёсткие ссылки, символические - при необходимости", и дистанция бы сократилась (меня она прежде всего смущала).

Мне не понравилось, как выглядит слишком широкий выпадающий список с почти повторяющими друг друга текстами. А пустота пусть лучше будет между текстом и списком, чем в конце списка. Я выделил суть этих текстов, опустив причины. Кстати, теперь не только для файлов с другого тома в режиме /s? создаются симлинки, а также для файлов и папок с сетевых путей.
Quote:
Зы:

Принято.

Quote:
И ещё. Я в скриптах по работе со списками всегда отключаю ругань при отсутствии выделения и постановке на элементе [..]. Можешь сделать, чтобы инфо-окно там не появлялось?

Это сам тотал ругается, когда в параметрах присутствует %L (и ему подобные), а выделения нет.

 Радиокнопки в выпадающем списке


Last edited by MVV on Fri Jan 23, 2015 13:33; edited 1 time in total

#143:  Author: FlasherLocation: Москва PostPosted: Fri Jan 23, 2015 12:47
    —
MVV wrote:
А пустота пусть лучше будет между текстом и списком, чем в конце списка.
А ты этого не избежал. Посмотри как с другими языками выглядит. И, конечно, лучше бы её не было ни там, ни там. Ты можешь хотя бы сделать, чтобы окно не пухло от пробелов. Я бы себе подтянул.
Code:
14="        Т&ипы создаваемых ссылок:"
Причём неважно где их вставлять - в начале, в конце или между символами.
MVV wrote:
Кстати, теперь не только для файлов с другого тома в режиме /s? создаются симлинки, а также для файлов и папок с сетевых путей.
Это вэри гуд.
MVV wrote:
Это сам тотал ругается, когда в параметрах присутствует %L (и ему подобные), а выделения нет.
Не, в тех случаях не Тотал. Тотал только для внутренних команд сам ругается. Ну, так уберёшь своё окошко? Делается элементарно - проверкой наличия возвращаемого пути файл-списка.

 Радиокнопки в выпадающем списке

#144:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Jan 23, 2015 13:34
    —
Куча пробелов при другом шрифте или масштабе будет смотреться как УГ. А так все метки выровнены аккуратно по левому краю, а поля - по правому.

Quote:
Не, в тех случаях не Тотал. Тотал только для внутренних команд сам ругается. Ну, так уберёшь своё окошко? Делается элементарно - проверкой наличия возвращаемого пути файл-списка.

Подробнее описывать проблему надо. Я думал, у тебя окошко тотала появляется. А тут оказывается, тотал при курсоре на ".." без выделения тупо запускает утилиту без параметров вообще, вот и окошко. Убирать его при запуске без параметров я не намерен.

Выложил новую бету, добавил параметр FontSize в конфиге.

NTLinksMaker Beta 240

 Радиокнопки в выпадающем списке

#145:  Author: FlasherLocation: Москва PostPosted: Fri Jan 23, 2015 15:01
    —
MVV wrote:
А так все метки выровнены аккуратно по левому краю, а поля - по правому.
Вот лучше бы запись перед выпадающим списком была выравнена по правому, тогда выглядело бы как следует.

FontSize ничего не решает кроме масштабирования окна. Дистанция остаётся. Да и ненужен он, лучше брать сам шрифт FontNameDialog и FontWeightWindow из конфига ТС, чтобы не отходить от темы.

MVV wrote:
Подробнее описывать проблему надо.
Ну, вообще-то ты выше описал момент с %L и т.п., поэтому понял верно, но ещё, оказывается, до сих пор не знал, что происходит в указанном случае.

MVV wrote:
Убирать его при запуске без параметров я не намерен.
Ок. Тогда сделай, чтобы в случае непустой комстроки окно не выползало. Часть параметров же можно в строку "Команда:" прописать.

 Радиокнопки в выпадающем списке

#146:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Jan 23, 2015 23:19
    —
Quote:
Вот лучше бы запись перед выпадающим списком была выравнена по правому, тогда выглядело бы как следует.

А мне не нравятся рваные левые границы опций.

Quote:
FontSize ничего не решает кроме масштабирования окна. Дистанция остаётся. Да и ненужен он, лучше брать сам шрифт FontNameDialog и FontWeightWindow из конфига ТС, чтобы не отходить от темы.

Это не связано с обсуждаемой темой, это попросил товарищ из Кореи, пожаловался, что сильно мелко 8-м шрифтом по их стандартам.
А привязываться к тоталу не планирую. Тем более, читать такие опции забодаешься - вычислить имя секции, учесть AllResolutions, редирекцию...
Quote:
Ок. Тогда сделай, чтобы в случае непустой комстроки окно не выползало. Часть параметров же можно в строку "Команда:" прописать.

Сделаю, чтобы в тихом режиме не появлялось. Пропишешь /q в строке команды, а в строке параметров отменишь с помощью /q-. Very Happy

 Радиокнопки в выпадающем списке


Добавлено спустя 27 минут:

Собственно, очередная бета не показывает окно справки в тихом режиме:

NTLinksMaker Beta 242

А режим можно включать ключом /q и выключать ключом /q-.

#147:  Author: FlasherLocation: Москва PostPosted: Sat Jan 24, 2015 02:58
    —
MVV wrote:
А мне не нравятся рваные левые границы опций.
Я имел в виду только одну опцию. Тогда, если нетрудно, как в AskParam, сделай -v<Pixels> (высоту не надо) пож-та.
MVV wrote:
Пропишешь /q в строке команды, а в строке параметров отменишь с помощью /q-.
Гуд, спасибо, на безрыбье вполне сгодится.

Тут вот ещё какое дело. Если я указываю несуществующую целевую папку, например, "%T%O", то утилита ругается, что системе не удаётся переместить первый файл списка, хотя при нажатии Повтор папка со ссылками создаётся, а при нажатии Пропустить первый файл туда не попадает. При постановке курсора на папке этого глюка не происходит. Можно поправить и убрать ругань?
Заодно бы привести к одной части речи названия кнопок. Вместо "Повтор" - "Повторить".

 Радиокнопки в выпадающем списке

Подумай (не прямо сейчас) на досуге над работой с рекурсией и фильтрацией/исключением по маскам, атрибутам (хотя бы - скрытый/системный), игноре пустых каталогов.
В xcopy можно создавать симлинки с этими опциями. Это больше нужно для тихого режима. В диалоге всё это не требуется.

#148:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Jan 24, 2015 23:35
    —
Quote:
Я имел в виду только одну опцию. Тогда, если нетрудно, как в AskParam, сделай -v<Pixels> (высоту не надо) пож-та.

В AskParam в зависимости от того, что отображалось в поле ввода, могла потребоваться разная ширина окна. А здесь в поле всегда отображается путь, и добавлять возможность укорачивать и без того не слишком широкое окно не вижу смысла. У тотала окно копирования - и то пошире будет.

Quote:
Заодно бы привести к одной части речи названия кнопок. Вместо "Повтор" - "Повторить".

Это системные кнопки, их текстом я не управляю, я только добавляю нижнюю кнопку.

Flasher wrote:
Подумай (не прямо сейчас) на досуге над работой с рекурсией и фильтрацией/исключением по маскам, атрибутам (хотя бы - скрытый/системный), игноре пустых каталогов.

Таким точно не буду заниматься, вариантов таких фильтраций можно придумать бесконечное число, на то есть скрипты.

Flasher wrote:
Тут вот ещё какое дело. Если я указываю несуществующую целевую папку, например, "%T%O", то утилита ругается, что системе не удаётся переместить первый файл списка, хотя при нажатии Повтор папка со ссылками создаётся, а при нажатии Пропустить первый файл туда не попадает. При постановке курсора на папке этого глюка не происходит. Можно поправить и убрать ругань?

А вот с этого места поподробнее. Что выделяешь, на какой диск переносишь, какие опции задаёшь. Иными словами, точный алгоритм воспроизведения. У меня все виды ссылок создаются в несуществующей папке без ахтунгов.

#149:  Author: FlasherLocation: Москва PostPosted: Sun Jan 25, 2015 04:29
    —
MVV wrote:
А здесь в поле всегда отображается путь, и добавлять возможность укорачивать и без того не слишком широкое окно не вижу смысла.
...
У тотала окно копирования - и то пошире будет.
Ладно, я выкрутился:

Ещё метаюсь между вариантами:
Russian.lng wrote:
Code:
9=Количество уровней в структуре выбранных каталогов для прямого создания ссылок:
9=Количество затрагиваемых уровней в выбранных каталогах для формирования ссылок:
9=Глубина вложенности в выбранных каталогах для формирования ссылок подкаталогов:
Хотя по логике третий должен быть таким, но ему пару символов для притыка не хватает:
Code:
9=Глубина вложенности в выбранных каталогах для создания ссылок на подкаталоги:

MVV wrote:
Таким точно не буду заниматься, вариантов таких фильтраций можно придумать бесконечное число, на то есть скрипты.
Я перечислил стандартные вещи. Никаких регулярок, никакого сложного отбора по тегам, свойствам и прочему. Игнор пустых каталогов - это разве что-то сложное?
И чем, скажем, глубина важнее чем отбор по маскам? У тебя вроде звёздочка есть, а маски не поддерживаются. "Нестыковочка", - скажет первопроходец.
MVV wrote:
на какой диск переносишь, какие опции задаёшь.
На любой другой диск. В опциях должен быть /s?. Источник должен располагаться хотя бы в одной подпапке корня диска (С:\1\Name.ext).

#150:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jan 25, 2015 13:09
    —
Quote:
Хотя по логике третий должен быть таким, но ему пару символов для притыка не хватает:

О-па, даже не хватило! Надо срочно удлиннять окно! Laughing
А что же не пробелами растягивал? Через символ бы смотрелось просто шЫкарно! Very Happy

Quote:
И чем, скажем, глубина важнее чем отбор по маскам? У тебя вроде звёздочка есть, а маски не поддерживаются.

Звёздочка - это просто указатель местоположения результирующего имени, никак не исходного имени, поэтому для фильтрации входных объектов не подходит. А глубина (если ты о параметре, задаваемом в окне) позволяет дублировать исходную структуру так, чтобы на любом её уровне в целевой папке можно было что-то изменить, не затрагивая исходную папку.

Quote:
На любой другой диск. В опциях должен быть /s?.

Ага, так получается какой-то косяк увидеть. Тестировал с C:\Boot\*.

#151:  Author: FlasherLocation: Москва PostPosted: Sun Jan 25, 2015 14:24
    —
MVV wrote:
О-па, даже не хватило! Надо срочно удлиннять окно!
Не путай, юморист. Не хватило не ширины окна, а 2 символов, поэтому в крайнем случае укорачивать, а не удлинять. Wink
MVV wrote:
А что же не пробелами растягивал?
Зачем эта глупость?
Ты лучше скажи, какой вариант из 3-х с твоей точки зрения более подходящий? Мне, в принципе, второй нравится, т.к. там есть указание на затрагиваемость, а не просто абстрактное кол-во непонятно каких и для чего уровней.
MVV wrote:
Звёздочка - это просто указатель местоположения результирующего имени, никак не исходного имени, поэтому для фильтрации входных объектов не подходит.
Я понимаю, что не исходного, но и исходное может быть отфильтровано на предмет "надо/не надо", не так ли?
MVV wrote:
позволяет дублировать исходную структуру так, чтобы на любом её уровне в целевой папке можно было что-то изменить, не затрагивая исходную папку.
А если речь идёт о жёстких ссылках?

+ Ты не ответил про пустые папки.

#152:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jan 25, 2015 15:00
    —
Quote:
Не хватило не ширины окна, а 2 символов, поэтому в крайнем случае укорачивать, а не удлинять.

А, ну после запятых добавь пробелы, стандартный способ выравнивания по ширине. Раз ты так любишь, чтобы всё было впритык.
Quote:
Ты лучше скажи, какой вариант из 3-х с твоей точки зрения более подходящий?

Зачем тебе моё мнение, если пользоваться этим будешь ты? Я эти строки всё равно не буду использовать. Кстати, вчитался в них, они неправильно передают суть. Эта настройка задаёт число уровней, для которых будут создаваться папки (это уже после этого числа уровней будут создаваться ссылки на папки).
Quote:
Я понимаю, что не исходного, но и исходное может быть отфильтровано на предмет "надо/не надо", не так ли?

Повторяю, фильтровать исходное я не буду.
Quote:
+ Ты не ответил про пустые папки.

Чем тебе мешают ссылки на пустые папки? Что-то уж слишком многого ты хочешь от инструмента создания ссылок.
Quote:
А если речь идёт о жёстких ссылках?

Вот в пределах заданного числа уровней файлы дублируются жёсткими и символическими ссылками (чтобы изменять их, само собой, надо сделать копию файла, а не ссылку на него). А дальше файлы не дублируются, т.к. просто создаются точки соединения на папки.


Ух, с жёсткими может быть не только ошибка переноса на другой диск, но и отказ в доступе (если права на запись нет даже у админа). И ещё один момент исправил, из-за которого после создания несуществующего пути проверки других ошибок пропускались, и сразу показывалось окошко с ошибкой. Но надо ещё потестировать.

NTLinksMaker Beta 246

#153:  Author: FlasherLocation: Москва PostPosted: Sun Jan 25, 2015 16:22
    —
MVV wrote:
А, ну после запятых добавь пробелы, стандартный способ выравнивания по ширине.
После каких запятых?
MVV wrote:
Зачем тебе моё мнение, если пользоваться этим будешь ты?
Затем, что не только я. И тебе как автору должно быть виднее, что более точно отражает реальное поведение.

MVV wrote:
Кстати, вчитался в них, они неправильно передают суть. Эта настройка задаёт число уровней, для которых будут создаваться папки (это уже после этого числа уровней будут создаваться ссылки на папки).
Вообще-то не после, а начиная. Пишем 1, точка создаётся для выделенной папки - 0\1\. И чем первые две неправильно передают, если они тождественны твоему варианту, но более развёрнуты?
Ещё так можно:
Code:
9=Начальная глубина в выбранных каталогах для формирования ссылок на подкаталоги:

MVV wrote:
Чем тебе мешают ссылки на пустые папки?
Ссылки на пустые папки мешают их невостребованностью в ряде ситуаций (например, при копировании на переносные устройства), т.к. никак не будут использованы, но при этом будут мозолить глаза и мешать навигации и другим действиям как мне лично, так и всему коллективу.
MVV wrote:
Что-то уж слишком многого ты хочешь от инструмента создания ссылок.
Много? Даже не представляю, если бы автор xxcopy или robocopy отвечал своей пастве в таком же ключе в отношении инструмента копирования, и на чём бы в итоге всё тормознулось.

#154:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jan 25, 2015 16:43
    —
Quote:
Вообще-то не после, а начиная.

Выделяю папку, указываю 1. Папка создаётся явно (1), а вложенная в неё папка (2) уже создаётся в виде ссылки. И если в моей формулировке речь о прямом создании папок, в твоих - о прямом создании ссылок. Разницу чувствуешь? Текст должен сообщать, что при задании числа 3 первые 3 уровня будут созданы в виде папок, а 4-й - в виде ссылок на папки соответствующего уровня. И дальше уровней уже не будет.

Что с багом-то?

#155:  Author: FlasherLocation: Москва PostPosted: Sun Jan 25, 2015 19:33
    —
MVV wrote:
Выделяю папку, указываю 1. Папка создаётся явно (1), а вложенная в неё папка (2) уже создаётся в виде ссылки.
А я как описал?
MVV wrote:
И если в моей формулировке речь о прямом создании папок, в твоих - о прямом создании ссылок.
Вообще-то у меня и те и те. См. последний вариант.
У тебя в ключе 9 вообще написано "создания", а чего не упоминается. Вот и сиди, что называется, ломай голову.
MVV wrote:
Текст должен сообщать, что при задании числа 3 первые 3 уровня будут созданы в виде папок, а 4-й - в виде ссылок на папки соответствующего уровня.
Вот последний вариант и сообщает - "Начальная глубина ...".
А почему ошибкой будет писать именно про ссылки на файлы в корневой половине пути? ИМХО, больше в этом практической составляющей, т.к. работать надо с файлами, а не папками. Нет?
MVV wrote:
Что с багом-то?
Раз ты баг выявил, то, полагаю, и в проверках не нуждается.

#156:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jan 25, 2015 20:52
    —
Quote:
А я как описал?

Тебе не понравилось моё после, я пояснил, почему после.
Quote:
У тебя в ключе 9 вообще написано "создания", а чего не упоминается. Вот и сиди, что называется, ломай голову.

У меня говорится об уровнях каталогов для прямого создания, т.е. речь идёт о создании каталогов в пределах указанного числа уровней.
Quote:
Раз ты баг выявил, то, полагаю, и в проверках не нуждается.

Мог бы и отписаться, заработало у тебя или нет. Обычно баг-репортеры так делают.

#157:  Author: FlasherLocation: Москва PostPosted: Sun Jan 25, 2015 21:43
    —
MVV wrote:
т.е. речь идёт о создании каталогов в пределах указанного числа уровней.
Это пояснение в устной форме для непосвящённых не годится. Поэтому я и указываю конкретику.
MVV wrote:
Обычно баг-репортеры так делают.
Делают, если есть такая потребность, как, например, в случае мерцания из-за TwinKey, а тут слишком очевидный и просто исправляемый ляп.

#158:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Jun 20, 2015 21:44
    —
Выложил наконец NTLinksMaker 1.0.5.262:

NTLinksMaker на wincmd.ru / NTLinksMaker на totalcmd.net

#159:  Author: FlasherLocation: Москва PostPosted: Mon Jun 22, 2015 15:31
    —
MVV
А ты в курсе, что в релизе FontSize сломался?

#160:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jun 22, 2015 15:33
    —
Да. Поддержка ключа FontSize удалена, размер шрифта определяется автоматически.

Last edited by MVV on Mon Jun 22, 2015 15:35; edited 2 times in total

#161:  Author: FlasherLocation: Москва PostPosted: Mon Jun 22, 2015 15:34
    —
Криво он определяется. Шрифт увеличился и текст как раньше не влезает.

#162:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jun 22, 2015 15:38
    —
Не влезает какой именно текст? Текст из входящих в состав файлов локализации должен влезать. Приводи скрины, если не влезает, и указывай масштаб шрифтов.

#163:  Author: FlasherLocation: Москва PostPosted: Mon Jun 22, 2015 15:42
    —
У меня был размер 8, а сейчас 11. А если брать базовую локализацию, то "ти" после "... необходимос" всё равно не видно.
И шрифт должен соответствовать шрифту диалоговых окон ТС, а не системы.
А если в системе поменять на 8, то он становится как 6. Confused
Масштаб - средний.

#164:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jun 22, 2015 16:23
    —
Утилита не настолько привязана к ТК, чтобы читать из него шрифт.
Сделай, пожалуйста, скрин с диалогом свойств панели задач и диалогом NTLinksMaker.

Да уж, когда в ТК меняю размер шрифта диалоговых окон, получаю полную хрень... Кнопки и прочие контролы остаются прежних размеров.

#165:  Author: FlasherLocation: Москва PostPosted: Mon Jun 22, 2015 16:25
    —
MVV wrote:
Утилита не настолько привязана к ТК, чтобы читать из него шрифт.
Это почему? Тогда без этого ничего не получится...

#166:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jun 22, 2015 16:51
    —
То, что при среднем масштабе шрифтов не всё умещается в отведенные длины, я кое-как могу поправить. Не умещается, в общем-то, только текст комбобокса. Хотя это косяк системы, что диалоговые единицы не соответствуют размеру шрифта по умолчанию (тем более, такое наблюдается только при среднем масштабе, но не при крупном).

А читать размер шрифта из конфига ТК не буду.

#167:  Author: FlasherLocation: Москва PostPosted: Mon Jun 22, 2015 16:54
    —
Фигня в том, что шрифты ТС не зависят от этого масштаба, а твоя утилита зависит. Вот отсюда и рассинхрон...
Не умещается не только текст комбобокса, а всё, что потенциально не влезает в окно из заданных строк в lng.
Зря ты убрал конфиг, можно было бы в AutoRun подвязывать настройки. Ты бы там ещё FontWeight добавил, и было бы чудненько.

#168:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jun 22, 2015 17:44
    —
На скрине не хватает окна NTLinksMaker...

У тотала просто своя настройка шрифтов, а не системная, вот и всё.

Не припомню кучи утилит с настройкой стапятиста параметров шрифтов... Это явно лишнее.

А не влезает, я проверял, только текст в комбобоксе (там, где про необходимость).

#169:  Author: FlasherLocation: Москва PostPosted: Mon Jun 22, 2015 17:48
    —
MVV wrote:
На скрине не хватает окна NTLinksMaker...
А то ты сам не знаешь, откуда берёшь размер шрифта. Wink
MVV wrote:
вот и всё
И это всё даёт то, чего не хочется.
MVV wrote:
стапятиста
2 - 100500? Confused
MVV wrote:
я проверял
Увеличь строки lng или сделай такими, которые подошли мне, и увидишь.

Last edited by Flasher on Mon Jun 22, 2015 17:59; edited 2 times in total

#170:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jun 22, 2015 17:52
    —
Quote:
Увеличь строки lng, которые мне подошли, и увидишь.

Не понял фразы. Что это за строки, которые тебе подошли, и как их увеличить.
А проверял я на среднем (125%) и крупном (150%) масштабе, все 4 языка (включая корейский и немецкий) смотрятся норм, только в русском на 125% в комбобоксе не умещается.
Скрин сделай, посмотрим, что ещё у тебя такого нестандартного помимо масштаба шрифтов.

#171:  Author: FlasherLocation: Москва PostPosted: Mon Jun 22, 2015 17:55
    —
MVV wrote:
Что это за строки, которые тебе подошли
Забыл?
Выше исправил формулировку.

И влезает/не влезает - это только полдела, сам системный размер шрифта меня не устраивает.

#172:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jun 22, 2015 23:02
    —
Flasher wrote:
Забыл?

Даже если и не забыл, в твоих интересах выражаться яснее, чтобы не надо было угадывать мысли. Твои строки - это твои строки, я к ним отношения не имею. Я в любой программе так могу насочинять строк и жаловаться, что они не влезают в отведенные им места. Стандартные строки влезают (кроме комбобокса, который в новой версии будет чуть шире).

Flasher wrote:
И влезает/не влезает - это только полдела, сам системный размер шрифта меня не устраивает.

Актуального скрина я так и не увидел (хотя уже трижды запрашивал), поэтому это всё пока пустые разговоры.

#173:  Author: FlasherLocation: Москва PostPosted: Mon Jun 22, 2015 23:36
    —
MVV wrote:
Твои строки - это твои строки, я к ним отношения не имею. Я в любой программе так могу насочинять строк и жаловаться, что они не влезают в отведенные им места.
И что? Я с чего начал? С того, что было нормально, а стало по-другому, т.е. хуже. При чём здесь чьи-то строки? Ты сам искал пояснений, я и пояснил. К чему претензии?
MVV wrote:
Актуального скрина я так и не увидел (хотя уже трижды запрашивал)
Открой указанное системное окно и поменяй шрифт для указанного элемента, и увидишь, что в твоей утилите он меняется аналогично. Картинка твоей утилиты что-то изменит, или ты принципиально не хочешь верить мне на слово?

Мне, по большому счёту, всё равно. Я могу пользоваться и предыдущей версией, если никаких существенных изменений уже точно не планируется.
Только вот остальным пользователям с размером шрифта оконных сообщений больше 10 я не завидую...

#174:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jun 23, 2015 11:11
    —
Quote:
Только вот остальным пользователям с размером шрифта оконных сообщений больше 10 я не завидую...

Размер шрифта оконных сообщений не будет сильно отличаться от размера шрифта диалоговых окон, т.к. это будет неудобно самому пользователю. И раз размер такой, значит, пользователю так удобно.

Quote:
Картинка твоей утилиты что-то изменит, или ты принципиально не хочешь верить мне на слово?

Пока это ты принципиально не хочешь показывать скриншот (его делать - секунда дела, но нет же, надо упереться). Если тебе это не надо, зачем мне страдать ерундой и редактировать локализацию?

Да, размер шрифта запрашивается у системы как размер шрифта окон сообщений (поле lfMessageFont запроса SPI_GETNONCLIENTMETRICS), но я не вижу в этом проблемы. Размер диалога система автоматически подстраивает под размер шрифта, и если не выдумывать ненужных строк, умещающихся впритык, всё будет нормально.

Не вижу никакого смысла продолжать полемику, конструктивности нам тут явно не добиться ввиду отсутствия серьезных аргументов и ярого нежелания их предъявлять.

#175:  Author: FlasherLocation: Москва PostPosted: Tue Jun 23, 2015 14:39
    —
MVV wrote:
И раз размер такой, значит, пользователю так удобно.
Удобно где? В сообщениях проводника. А мы про использование утилиты в ТС в качестве диалога. Значит, удобно не будет ни там ни там.
И зачем ты меня просил привести окно диалога свойств панели задач я до сих пор понять не могу, когда к сообщениям это отношения никакого не имеет.
MVV wrote:
зачем мне страдать ерундой и редактировать локализацию?
По той простой причине, чтобы убедиться в этом самостоятельно, если у тебя вообще есть желание подобное исправлять. Я, по крайней мере, так всегда делаю вне зависимости от каких-то там скриншотов. И продлить строку на пару десятков символов куда быстрее, чем создать, залить и выложить скриншот.
MVV wrote:
Размер диалога система автоматически подстраивает под размер шрифта
Это не диалог, а окно сообщения. Сам же подтвердил.
MVV wrote:
если не выдумывать ненужных строк, умещающихся впритык, всё будет нормально
Значит, не особо то тебе мой скриншот и нужен, если в данном случае на нужды других тебе плевать. И это всяко расходится с утверждением о подстраивании.
MVV wrote:
ввиду отсутствия серьезных аргументов и ярого нежелания их предъявлять
Я как раз таки их предъявил, и ты их проблемой не считаешь. О чём тут ещё говорить? Я даже не подозреваю, что такое серьезный аргумент в твоём случае. Ствол 50 калибра? Very Happy

#176:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Jun 23, 2015 16:43
    —
MVV
Flasher
Далее обсуждать этот конкретный вопрос, если будет на то желание, прошу через ЛС.

#177:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Jul 30, 2015 13:29
    —
Забил на бесполезное определение шрифтов, добавил-таки параметры FontName и FontSize.

NTLinks Maker Beta 272

#178:  Author: Gynaecologist PostPosted: Tue Sep 29, 2015 00:02
    —
Скжите, а как прикрутить NTLinkMaker к MultiArc ?

#179:  Author: Mellomann PostPosted: Tue Sep 29, 2015 01:07
    —
Gynaecologist
А зечем, если на панель цепляется?

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Plugins\exe\NTLinksMaker\NTLinksMaker.exe"
/r="%P" "@%WL" "%T"
%COMMANDER_PATH%\Plugins\exe\NTLinksMaker\NTLinksMaker.exe
NTLinksMaker64
%COMMANDER_PATH%\Plugins\exe\NTLinksMaker\
0
-1

#180:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Sep 29, 2015 01:21
    —
Зачем? Very Happy
Неужели вызывать через мультиарк удобнее, чем напрямую? У меня сколько лет создание ссылок висит на Alt+F6 и прекрасно себя чувствует.

#181:  Author: Gynaecologist PostPosted: Tue Sep 29, 2015 11:59
    —
Mellomann wrote:
Gynaecologist
А зечем, если на панель цепляется?


Quote:
Неужели вызывать через мультиарк удобнее, чем напрямую?


Ну вот хочется! =)

#182:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Sep 29, 2015 12:28
    —
Gynaecologist
Не всё, что хочется (при отсутствии иной аргументации) должно делаться.

#183:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Sep 29, 2015 13:57
    —
Gynaecologist wrote:
Ну вот хочется! =)

Если так сильно хочется, берёшь, читаешь справку по MultiArc, смотришь примеры других аддонов (пример) и пишешь команду для упаковки с передачей NTLinksMaker списка выделенных файлов через %LQA. Но помимо усложнения вызова утилиты ты вдобавок получишь ещё и проблему с юникодными именами.

Ах да, напрямую оно не заработает, т.к. NTLinksMaker поддерживает только юникодный файл списка, но можно написать батник с вызовом конвертера, а что, цель-то - не добиться хорошего результата, а помаяться дурью. Very Happy

В итоге получишь что-то вроде этого. Very Happy

#184:  Author: Mellomann PostPosted: Tue Sep 29, 2015 20:09
    —
MVV wrote:
В итоге получишь что-то вроде этого. Very Happy
Если оно заработает - то это уже в наркологию...

Gynaecologist
Всё-таки смысла нет. "Упаковать архив" - это тоже вызов либо хоткея, либо из меню/бара. Если назначить свой хоткей на вызов утилиты - разницы будет ровно ноль. Есть ли смысл? Ах да... я ж уже сказал, что его нет...

#185:  Author: FlasherLocation: Москва PostPosted: Wed Sep 30, 2015 11:46
    —
Mellomann
Вообще, если рассуждать с этой позиции, само использование MultiArc-a для упаковки бессмысленно при наличии скриптов и кнопок.
Mellomann wrote:
Если оно заработает
Разве что в чьём-то воображении.

#186:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Sep 30, 2015 13:06
    —
Мне всегда удобнее было упаковывать внешними инструментами, а не завешивать этими операциями тотал. Smile

Но что-то мы отошли от темы.

#187:  Author: FlasherLocation: Москва PostPosted: Wed Sep 30, 2015 13:43
    —
MVV wrote:
Мне всегда удобнее было упаковывать внешними инструментами, а не завешивать этими операциями тотал.
Мне тоже. Только не думаю, что это касается Mellomann, если верить его выложенным конфигам.

Кстати, хотел написать сразу, но не стал. В последней версии ты хоть и вернул ключ, но вот нижний комбобокс зря изменил. Пришлось остаться на 1.05.262.

#188:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Sep 30, 2015 16:28
    —
А что в комбобоксе изменилось-то? Говори яснее.

#189:  Author: FlasherLocation: Москва PostPosted: Wed Sep 30, 2015 16:31
    —
Длина поля.

#190:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Sep 30, 2015 16:31
    —
Ты про длину его, что ли? На то были вполне весомные причины.

#191:  Author: FlasherLocation: Москва PostPosted: Wed Sep 30, 2015 16:34
    —
Какие?

#192:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Sep 30, 2015 16:36
    —
Отображение содержимого комбобокса на разных языках.

#193:  Author: FlasherLocation: Москва PostPosted: Wed Sep 30, 2015 16:40
    —
Боюсь, эта задача фиксированным значением не решаема.
А в моём случае старый текст не поместился, а придумать альтернативу, чтобы было так же впритык, не вышло.

#194:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Sep 30, 2015 17:35
    —
Снеси бессмысленное "(по умолчанию)", и всё поместится. Вообще, я уже говорил, что выдумывание собственных локализаций - не повод корежить интерфейс.

#195:  Author: FlasherLocation: Москва PostPosted: Wed Sep 30, 2015 17:39
    —
Оно не бессмысленное, оно соответствует действительности. "Поместится" и "поместится впритык" - не одно и то же.
Зачем мне что-то сносить, если никакого преимущества в новой версии по сравнению с указанной, где эстетический момент решаем, нет?

#196:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Sep 30, 2015 19:51
    —
Применительно к комбобоксу выбора типов ссылок добавка "(по умолчанию)" именно бессмысленна, ибо какой пункт выбран, те ссылки и создаются, и описания всех режимов исчерпывающие. Если написано "только символические ссылки", то только они и будут создаваться, умолчаний тут нет.

Да мне без разницы, сиди на старой версии, если тебе так больше нравится. Cool
А у меня в планах добавление поддержки длинных путей...

#197:  Author: FlasherLocation: Москва PostPosted: Wed Sep 30, 2015 20:00
    —
Смысл в эстетике, я уже повторяюсь, собственно. Умолчание - это то, что уже выбрано, поэтому есть.
Планы - это хорошо. И выложить хотя бы в облако поправленную старую версию труда, думаю, не составит. Wink

#198:  Author: Gynaecologist PostPosted: Thu Oct 01, 2015 18:01
    —
MVV wrote:
В итоге получишь что-то вроде этого. :D


Как говориться на вкус и цвет фломастеры разные... я ссылки делаю не часто, поэтому мне не в лом раз в год тыкнуть на "Pack Files" и выбрать там нужный архиватор (так, например, работает плагин Wipe), а тулбар не хочу пересыщать редкоиспользуемыми значками.

В общем, через MultiArc программу всё равно не заставить работать по двум причинам:
-MultiArc скрывает окно вызываемого архиватора, и диалогового окна NTLinksMaker не появляется, а по этому дальнейших действий не выполнить. Настройки, позволяющей не скрывать окно нет.
-При выборе нескольких файлов, MultiArc вызывает архиватор каждый раз на новое имя, а это означает что например, создать сто ссылок за один проход не получится: NTLinksMaker будет запущен сто раз.

Короче жаль, но если будет программа в виде WCX-плагина, думаю, не только я буду благодарен.

#199:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Oct 01, 2015 18:56
    —
Аддон-то покажи свой, без него тут и обсуждать нечего. Smile

Чтобы архиватор вызывался не на каждый файл, а один раз на всех, как я уже упоминал, нужно использовать параметр %L, который однако генерит список в ANSI, посему в NTLinks Maker не поддерживается.

А для кнопок в тотале есть не только панель инструментов: можно сделать на основной панели кучу выпадающих дочерних, можно добавить в главное меню, в меню Запуск, в меню избранного...

#200:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Oct 01, 2015 19:27
    —
Gynaecologist
Замечание за нарушение правил форума. Избыточное цитирование убрано.

#201:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Oct 04, 2015 20:33
    —
Интересующихся прошу потестировать новую версию с поддержкой длинных (до 1024 символов) путей:

NTLinks Maker 1.1.0.300

#202:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Oct 05, 2015 18:21
    —
Заметил, что после добавления префикса поддержки длинных путей поломались точки соединения, починил.

NTLinks Maker 1.1.0.304

#203:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Oct 26, 2015 13:39
    —
Добавил поддержку длинных путей и в NTLinks:

NTLinks 1.6.0.242

Вроде всё работает, но, конечно, требует более тщательного тестирования.

#204:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Jan 07, 2016 13:39
    —
Исправил баг при чтении относительных путей без завершающего нулевого символа (оказалось, стандартная mklink этим грешит).

NTLinks 1.6.0.244 32/64
* чтение относительных путей без завершающего нулевого сивмола

#205:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Nov 14, 2016 16:41
    —
После добавления поддержки длинных путей Maker перестал работать с UNC-именами, исправил.

NTLinks Maker 1.1.1.322
* поддержка UNC-путей источника и назначения (тонкости в работе с длинными путями)

#206:  Author: FlasherLocation: Москва PostPosted: Mon Nov 14, 2016 17:19
    —
Смысл в lng, если ты перевод в exe-шник встроил?

#207:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Nov 14, 2016 17:31
    —
Внешние файлы со встроенными локализациями - это как минимум всегда актуальные образцы для новых переводов. Кроме того, на нерусской винде русскую локализацию можно включить только внешним файлом. Если в твоём случае оба выстрела мимо, то тебе внешние файлы не нужны.

#208:  Author: FlasherLocation: Москва PostPosted: Mon Nov 14, 2016 17:46
    —
Если я exe-шник переименую, то заимствуется внутренний перевод, а не "актуальный".

#209:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Nov 14, 2016 18:27
    —
Если ты переименовываешь экзешник, тебе надо переименовывать и инишник, иначе, конечно, будет использоваться внутренний перевод (русский в русской системе, иначе английский).

#210:  Author: FlasherLocation: Москва PostPosted: Mon Nov 14, 2016 18:44
    —
Ясно. А можно местами поменять 1 и 2 строчку в комбобоксе (по убыванию длины записей) и отступ на пиксель побольше сделать?

#211:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Nov 14, 2016 20:23
    —
Отступ чего?

А пункты комбобокса расставлены не по красоте, а по функционалу - чем дальше, тем больше симлинков.

#212:  Author: FlasherLocation: Москва PostPosted: Mon Nov 14, 2016 20:35
    —
Текста от бордюра.

По функционалу может быть иной подход. Сперва идут оба варианта, а потом по одному. Так, ИМХО, логичней и, как выше отмечено, эстетичней.

#213:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 15, 2016 01:38
    —
Всё-таки предпочитаю первым вариантом оставить тот, который не требует прав администратора. Вообще, эстетичность, основанная на подгонке под конкретный язык локализации - это что-то ненормальное.

Размер полей по краям окна вполне себе стандартный для диалоговых окон.

#214:  Author: FlasherLocation: Москва PostPosted: Tue Nov 15, 2016 02:28
    —
Права администратора тут откуда вылезли? Shocked

Стандартный для чего? Выше в 3-х полях по 2 пискеля, а в нижнем один. Надо уровнять.

#215:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 15, 2016 11:25
    —
Для создания символических ссылок тем, кто не отключает UAC и не запускает тотал с повышением, нужны права администратора, а создавать точки соединения и жесткие ссылки со времён Windows 2000 можно с правами пользователя.

Возможно, не совсем точно понимаю, о чём именно ты, покажи на скриншоте, в каких местах ты пиксели считаешь.

#216:  Author: FlasherLocation: Москва PostPosted: Tue Nov 15, 2016 15:11
    —
А, ты про это. Я думал про порядок.

Flasher wrote:
Выше в 3-х полях по 2 пискеля, а в нижнем один.
>>

#217:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 15, 2016 16:09
    —
Понятно, о чем ты. Я никак не могу повлиять на эти пиксели, поле ввода и комбобокс - это стандартные элементы диалогового окна, их рисует система. Ни разу и не обращал внимания на такие тонкости.

#218:  Author: FlasherLocation: Москва PostPosted: Tue Nov 15, 2016 16:15
    —
См. в настройках ТС Содержимое панелей > Метод сортировки:. Там 2.
Ещё так можно:
Code:
16=" Жёсткие - в том же томе / символьные - в другом"
, но получается на пиксель больше.

#219:  Author: sa PostPosted: Tue Nov 15, 2016 17:30
    —
Flasher wrote:
Там 2.

Если вместо Естественная сортировка ввести Жестественная сортировка, наверное, тоже 1 будет…

#220:  Author: FlasherLocation: Москва PostPosted: Tue Nov 15, 2016 17:33
    —
С чего это ты взял? Текст увеличивается вправо, а не влево.

#221:  Author: sa PostPosted: Tue Nov 15, 2016 17:40
    —
Flasher wrote:
Текст увеличивается вправо, а не влево.

Я только предположил, что Ж увеличивается в обе стороны. Smile

#222:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 16, 2016 00:30
    —
Flasher wrote:
См. в настройках ТС Содержимое панелей > Метод сортировки:. Там 2.

Вообще не вижу разницы.

#223:  Author: FlasherLocation: Москва PostPosted: Wed Nov 16, 2016 04:20
    —
Скриншот пустой.

#224:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 16, 2016 11:14
    —
А у меня не пустой, прекрасно отображается, в том числе в приватном окне.
Собственно, могу описать, что на нём: фрагменты комбобокса NTLinks Maker с выбором Символические... и комбобокса настройки сортировки тотала с выбором Строго... - абсолютно одинаковый отступ слева

#225:  Author: sa PostPosted: Wed Nov 16, 2016 11:25
    —
sa wrote:
Я только предположил,

Подтвердилось.

#226:  Author: FlasherLocation: Москва PostPosted: Wed Nov 16, 2016 13:51
    —
Всё дело в шрифтах. Написал
Code:
FontName=Microsoft Sans Serif
, и всё стало наоборот. Верхние отступы - маленькие, нижний - нормальный.

sa wrote:
Подтвердилось.
Нет:

#227:  Author: sa PostPosted: Wed Nov 16, 2016 15:25
    —
Flasher
Моё наблюдение относилось к диалогу настроек ТС Содержимое панелей > Метод сортировки: при шрифте диалоговых окон Arial.

#228:  Author: FlasherLocation: Москва PostPosted: Wed Nov 16, 2016 15:49
    —
sa
А мои к тезису "Ж увеличивается в обе стороны". Впрочем, уже причина разницы в показаниях мной указана, обсуждать далее нет смысла.


Last edited by Flasher on Wed Nov 16, 2016 22:33; edited 1 time in total

#229:  Author: sa PostPosted: Wed Nov 16, 2016 15:57
    —
Flasher wrote:
А мои к тезису "Ж увеличивается в обе стороны"

Моё к нему же.

#230:  Author: FlasherLocation: Москва PostPosted: Wed Nov 16, 2016 16:02
    —
Ну, так я выше показал, что в случае дефолтного шрифта для NTLinksMaker это не так.

#231:  Author: sa PostPosted: Wed Nov 16, 2016 16:05
    —
А я показал, что в случае шрифта Arial для диалога настроек ТС, это так.

#232:  Author: FlasherLocation: Москва PostPosted: Wed Nov 16, 2016 16:10
    —
Flasher wrote:
причина разницы в показаниях мной указана, обсуждать далее нет смысла

#233:  Author: BeardFury78 PostPosted: Sat Dec 10, 2016 22:32
    —
Подскажите, пожалуйста, возможно ли с помощью этой утилиты создавать символьные ссылки к файлам из панели результатов поиска с сохранением структуры каталогов по типу CopyTree?

#234:  Author: FlasherLocation: Москва PostPosted: Sat Dec 10, 2016 22:55
    —
Нет. В результатах не работает %P, т.к. поиск может осуществляться на разных дисках.

#235:  Author: BeardFury78 PostPosted: Sat Dec 10, 2016 22:57
    —
Flasher
И не работает, если поиск ведется на одном диске и на одном каталоге?

#236:  Author: FlasherLocation: Москва PostPosted: Sat Dec 10, 2016 23:07
    —
BeardFury78
Да, это не имеет значения.

В данном режиме подставляется родительский каталог первого выбранного элемента. Путь в окне можно отредактировать, но это годится только для элементов, имеющих общий указанный каталог.

#237:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Dec 10, 2016 23:14
    —
Если вставить базовый путь вручную в поле в самом диалоговом окне, то относительно этого пути иерархия должна сохраняться. При использовании ключа /r="%P" можно просто удалить лишние уровни из поля. Так что в принципе из панели результатов поиска работает.

Last edited by MVV on Sat Dec 10, 2016 23:19; edited 5 times in total

#238:  Author: BeardFury78 PostPosted: Sat Dec 10, 2016 23:15
    —
Flasher
Хорошо, насколько я понял, в панеле результатов поиска не работает, а так в принципе эта утилита может создавать структуры каталогов с символьными ссылками внутри, если работать не с папками, а с файлами? А что насчет режима ctrl+B? Можно ли в этом режиме загрузить выделение из буфера и создавать структуры каталогов с символьными ссылками на выделенные объекты?

#239:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Dec 10, 2016 23:22
    —
Выше я написал, что можно использовать и из результатов поиска. Из режима Ctrl+B тоже должно работать, при этом /r="%P" будет задавать базовый путь, равный пути, в котором нажата Ctrl+B.

Загрузка выделения из буфера - это функция тотала, поэтому я за неё не отвечаю. Smile

#240:  Author: BeardFury78 PostPosted: Sat Dec 10, 2016 23:24
    —
MVV
Хорошо. Подскажите, как правильно задать параметры. Сейчас параметры вот такие:
Quote:
/q- /b /r="%P" "@%WL" "%T"

Что нужно здесь отредактировать?

#241:  Author: FlasherLocation: Москва PostPosted: Sat Dec 10, 2016 23:24
    —
BeardFury78
Я выше написал, какое условие нужно для выполнения в результатах поиска. С Ctrl+B таких проблем нет, там %P возвращается.

#242:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Dec 10, 2016 23:37
    —
Да всё так и есть. Но когда откроется окно NTLinks Maker, надо вручную отредактировать базовый путь во втором поле.

#243:  Author: FlasherLocation: Москва PostPosted: Sun Dec 11, 2016 01:12
    —
Я и написал:
Flasher wrote:
Путь в окне можно отредактировать


BeardFury78 wrote:
Подскажите, как правильно задать параметры.
Code:
/s /r="%P" "@%WL" "%T"
Далее уже правится базовый путь при необходимости.

#244:  Author: BeardFury78 PostPosted: Sun Dec 11, 2016 01:17
    —
Удалось успешно создать структуру каталогов с символьными ссылками. Благодарю Flasher и MVV за подсказки и еще раз MVV за создание этой утилиты!

#245:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Dec 18, 2016 00:16
    —
Рад, что она полезна. Smile


Добавил возможность использовать полноценные маски имен файлов.


NTLinks Maker Beta 1.2.0.330


Обработка частей маски имени/расширения до * работает так же, как в тотале, а части маски после * добавляются в конец имени/расширения, в то время как тотал эту часть игнорирует.
По умолчанию теперь подставляется стандартная маска *.*. Старая маска с голой * теперь работает иначе!

#246:  Author: FlasherLocation: Москва PostPosted: Sun Dec 18, 2016 01:02
    —
Опа. А как же? Smile
MVV wrote:
Таким точно не буду заниматься, вариантов таких фильтраций можно придумать бесконечное число, на то есть скрипты.
...
Повторяю, фильтровать исходное я не буду.
Чего вдруг передумал?
Может, теперь есть смысл надеятся и на опцию игнора пустых папок? Smile

#247:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Dec 18, 2016 01:11
    —
Это же не фильтр, а модификатор имён, точно как в поле пути назначения тотала.

#248:  Author: FlasherLocation: Москва PostPosted: Sun Dec 18, 2016 01:26
    —
Хм. Понятно. Сомнительная и малозначительная функция, особенно, если учесть, сколько проблем возникнет при совпадениях в началах имён. Фильтр тут куда больше бы подошёл и пригодился.

У Тотала же помимо этого есть и редактируемый комбобокс для выбора типа, т.ч...

#249:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Dec 18, 2016 19:24
    —
Отфильтровать файлы можно и прямо в панели, перед тем как вызывать NTLinks Maker... И шаблоны будут работать, и маски.

#250:  Author: FlasherLocation: Москва PostPosted: Sun Dec 18, 2016 19:50
    —
Это годится только для выбираемых файлов, но не файлов в структурах выбираемых папок.

#251:  Author: newsky PostPosted: Wed Dec 21, 2016 17:28
    —
Давно и успешно пользуюсь плагином (TC 8.52, XP), а тут понадобилось удалить созданную ссылку на папку в которой находится 1 файл (размер около 10ГБ), ссылка то удалилась, но и удалился файл внутри папки на исходном диске. То есть, сама папка осталась на месте, а файл внутри нее удалился. Исходная папка на диске F, ссылка создаётся на диске D. Пробую создать тестовую папку, в которой несколько небольших по размеру файлов, затем удаляю и всё хорошо, файлы на месте, ссылка удаляется. Что я делаю не так, подскажите пожалуйста.

#252:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Dec 21, 2016 17:36
    —
А точно первое удаление было из тотала? Тотал поддерживает ссылки и, если видит, что это папка-ссылка, удаляет только ссылку, иначе рекурсивно удаляет содержимое.

#253:  Author: newsky PostPosted: Wed Dec 21, 2016 17:41
    —
MVV, Точно, точно, точно! Ещё со времён плагина NtfsLinks создаю и удаляю только из TC
В параметрах (если это важно) прописано: /q- /b /r="%P" "@%WL" "%T"

#254:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Dec 21, 2016 19:08
    —
Странно, конечно, не должно было такого произойти по идее. А какая конкретно ссылка была - точка соединения или символическая ссылка?

#255:  Author: newsky PostPosted: Wed Dec 21, 2016 21:56
    —
"Точка соединения", символическую отказывается создавать, мотивируя:


#256:  Author: FlasherLocation: Москва PostPosted: Wed Dec 21, 2016 21:59
    —
MVV wrote:
А какая конкретно ссылка была - точка соединения или символическая ссылка?
>>
newsky wrote:
(TC 8.52, XP)

#257:  Author: StaniclawLocation: Ташкент PostPosted: Wed Dec 21, 2016 22:05
    —
newsky
А в ''Тотале'' режим удаления посредством ''Проводника'' случайно не включён?

#258:  Author: newsky PostPosted: Wed Dec 21, 2016 22:20
    —
Staniclaw Упс... © День Независимости
Спасибо! Совсем из головы вылетело это проверить, делал все удаленно, на старой машине, на которую редко захожу, вот и не учел это. Еще раз спасибо, прошу прощение, за то, что отвлёк из-за ерунды.

#259:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Dec 22, 2016 00:07
    —
Не такая уж это и ерунда... Маленькая опция - большие неожиданности (хуже, если неприятности)! Очень важно всегда помнить о таких вещах.

#260:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jan 10, 2017 02:27
    —
Весело у Microsoft, Windows Explorer не понимает символьных ссылок, которые создаёт Windows API-функция CreateSymbolicLink, в свойствах ссылки все поля пустые.

Пришлось и символьные ссылки вручную создавать (точки соединения всегда вручную создавались, т.к. специальных API-функций для них нет). Также пофиксил баг при использовании маски *.

NTLinks Maker Build 340
+ создание символьных ссылок в понятном для Explorer виде

#261:  Author: FlasherLocation: Москва PostPosted: Thu Jan 19, 2017 12:37
    —
Интересно, кто заметку на утилиту совместно с аналогом на wiki добавил. Rolling Eyes

#262:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Jan 19, 2017 12:58
    —
Flasher
Да кто угодно мог, на то она и Вики. Утилиты общедоступны — пользуйся и ссылайся. Smile

#263:  Author: FlasherLocation: Москва PostPosted: Thu Jan 19, 2017 13:29
    —
Avada
А вдруг кто-то местный отзовётся? Wink
Общедоступность - ещё не популярность.

#264:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Jan 19, 2017 14:34
    —
Я добавил, когда наткнулся на эту страницу и увидел/исправил ошибку в описании релевантных плагинов тотала (там Virtual Panel каким-то боком приплели).

#265:  Author: FlasherLocation: Москва PostPosted: Thu Jan 19, 2017 14:36
    —
В-о-о-т. Как чуял, что кто-то из своих (в данном случае - совсем из своих). Smile

#266:  Author: Skif_off PostPosted: Thu Jan 19, 2017 23:50
    —
Кто-нибудь пробовал символьные ссылки на WinXP с этой штукой?
(Уже есть версия 1.07, достаточно в ссылках заменить 1.06 на 1.07.)

#267:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Jan 20, 2017 01:22
    —
Натыкался на эту страничку буквально пару дней назад, наличие драйвера заинтересовало, но давно уже везде 7-ка. XP сохранилась как вторая система, но 3 года не загружал (с января 2014, судя по таймштампу файла подкачки). Можно, конечно, на виртуалке поэкспериментировать, если делать нечего будет...

Собственно, симлинки как таковые я и на 7-ке не использую, отчасти из-за необходимости прав админа для их создания, отчасти потому что в подавляющем большинстве случаев с головой хватает точек соединения, которые на XP доступны из коробки. Разве что на файлы в исключительных ситуациях, но это крайне неудобно из-за того, что они не отражают атрибуты, таймштампы и размеры целевых файлов.

#268: Re: NTLinks + NTLinksMaker: создание и инфо о ссылках NTFS Author: Matrix PostPosted: Sun Jan 22, 2017 14:11
    —
Здравствуйте.
Помогите с моей проблемой плиз.
Как с помощью NTLinksMaker создавать множество символических ссылок если исходные имена файлов одинаковые?
В результате программа спотыкается на второй ссылке и не позволяет переименовать конечную ссылку в автоматическом режиме.
в результате такой скрин получается yadi.sk/i/o5-w-E4p3AHJnx
Можно только прервать, повторить или пропустить. А нужно переименовать конечный файл в вид "имя файла (1)", "имя файла (2)" "имя файла (3)".....

Либо bat-ник какой замутить можно было бы чтобы приводить
исходник "\1234\ссылка" к виду символическая ссылка "1234", то есть имя конечной символической ссылки брать из имени предыдущего (вышестоящего) каталога.

#269:  Author: FlasherLocation: Москва PostPosted: Sun Jan 22, 2017 15:10
    —
Matrix
У меня тоже раньше были мысли по этому поводу. Но потом думал - а зачем мне два и более одноимённых файла в папке, не понять куда в итоге ведущих? Поэтому лучше такие игнорировать ключом /b или сохранять структуру.

А автопереименование в cmd можно и с mklink сделать. Гуи мешать с консолью - не дело.


Last edited by Flasher on Sun Jan 22, 2017 15:41; edited 1 time in total

#270:  Author: Matrix PostPosted: Sun Jan 22, 2017 15:37
    —
Flasher
Папки имеют название одинаковое а содержание разное. таким образом посредством поиска можно было бы сразу создать 4000-6000 символических ссылок на сетевой ресурс. А так это приходится делать по одному.
Команды mklinsk создавали hardlink а symlink не получался - система не заходила.

Я вообще начал с того, чтобы подправить диалоговое окно как на скриншоте, чтобы можно было переименовывать конечные ссылки вручную или автоматически как все операции в тотале. Думаю что это полезная функция.

#271:  Author: FlasherLocation: Москва PostPosted: Sun Jan 22, 2017 15:47
    —
Matrix wrote:
А так это приходится делать по одному.
Я же пишу, что нужно сохранять структуру, чтобы всё не попало в одну папку и можно было различать одноимёнки.
Matrix wrote:
Команды mklinsk создавали hardlink а symlink не получался - система не заходила.
Какая система?
Matrix wrote:
Думаю что это полезная функция.
Я уже пояснил, почему полезность её под вопросом - нет понимания к чему обращаешься, нужно делать лишние движения, смотреть свойства и т.п.

#272:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jan 22, 2017 23:07
    —
Судя по скриншоту, ссылки нужны именно в одной папке, но при этом их нужно не просто абы как со счётчиком называть, а переименовывать в имя надпапки... В конечном счёте это проще сделать скриптом, чтобы сразу и создание ссылки, и переименование.

Команда mklink спокойно создаёт символические ссылки, ей главное - права администратора.

Создавать ссылки на папки с именами надпапок можно следующим батником:
Code:
@echo off
if -%2==- echo Parameters: "%%WL" "%T" & pause & goto :EOF

for /f "usebackq delims=" %%f in (`type %1`) do call :do_work "%%f" %2 "%%f\.."
pause
goto :EOF

:do_work
mklink /d "%~2\%~n3" %1

После перетаскивания батника на панель инструментов надо вставить звёздочку в самом начале пути, чтобы тотал запрашивал права администратора, а также прописать "%WL" "%T" в поле параметров. Затем можно выделять объекты в результатах поиска и нажимать кнопку.

#273:  Author: Matrix PostPosted: Mon Jan 23, 2017 00:22
    —
MVV
То что нужно! Спасибо огромное!

Только у меня win 10, поэтому пришлось в батнике перед mklink поставить "cmd /c" чтобы заработало.

Скорость создания 200 ссылок за раз просто мгновенная.

#274:  Author: sa PostPosted: Mon Jan 23, 2017 00:35
    —
MVV wrote:
но это крайне неудобно из-за того, что они не отражают атрибуты, таймштампы и размеры целевых файлов.

В этой связи, может, стоит создавать (опционально, например) символические ссылки с датой модификации, как у самих файлов?

#275:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 23, 2017 00:48
    —
Matrix wrote:
Только у меня win 10, поэтому пришлось в батнике перед mklink поставить "cmd /c" чтобы заработало.

Очень странная причуда 10-ки. Всё, что внутри батника, и так выполняется через cmd... Хотя, может, сам батник не в cmd открывается? Чур эту 10-ку...
Так или иначе, главное, что в конечном счёте работает как надо! Very Happy

sa wrote:
В этой связи, может, стоит создавать (опционально, например) символические ссылки с датой модификации, как у самих файлов?

Всё равно сбивать с толку будет - размер нулевой останется, да и дата обновляться не будет при изменении файла. У жёстких ссылок обновляется при открытии файла по этой ссылке, и то бывают накладки при синхронизации (если меняешь файл по одной ссылке и синхронизируешь папку с другой без сравнения по содержимому, у второй ссылке таймштамп и размер остаются старые).
Кстати, ещё попробуй поменять таймштамп ссылке - он меняется у файла (хотя, думаю, поможет открытие ссылки с опцией FILE_FLAG_OPEN_REPARSE_POINT). Smile

#276:  Author: sa PostPosted: Mon Jan 23, 2017 01:12
    —
MVV wrote:
попробуй

Пробовал, ещё раньше. Но ведь как раз в этом случае даты становятся одинаковыми у файла и у ссылки, почему бы не делать их сразу одинаковыми, при создании ссылки?

#277:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 23, 2017 11:26
    —
В том-то и фишка, что при изменении даты у ссылки дата у ссылки как раз и не меняется (каламбур эдакий), а меняется она у файла по ссылке, у ссылки при этом дата остаётся прежней. Smile

Так что, пожалуй, чтобы меньше проблем с этим возникало, может быть более осмысленным задавать ссылкам "нулевые" даты (1970 год и всё такое), чтобы сразу "что за бред, а, ну да, дата ни о чём".

#278:  Author: FlasherLocation: Москва PostPosted: Mon Jan 23, 2017 11:31
    —
MVV wrote:
чтобы меньше проблем с этим возникало
Каких проблем и с чем "с этим"?

#279:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 23, 2017 11:41
    —
С тем, что даты у символических ссылок с датами оригинальных файлов никак не связаны - посмотри выше диалог.

#280:  Author: FlasherLocation: Москва PostPosted: Mon Jan 23, 2017 11:42
    —
Я видел диалог. Мне неясно, о каких проблемах речь. Разные даты - это не проблемы.

#281:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 23, 2017 13:05
    —
Я уже писал, о каких проблемах речь, повторюсь. Наличие символических ссылок усложняет синхронизацию, т.к. с виду по ссылке невозможно определить, изменился ли файл, потому как дата модификации у ссылки не меняется.

Это субъективная проблема. Соответственно, и обсуждать её есть смысл только тем, для кого она является проблемой. Wink

#282:  Author: FlasherLocation: Москва PostPosted: Mon Jan 23, 2017 13:29
    —
Понятно. Дату-то при синхронизации лучше игнорировать. Я в основном так и делаю.

#283:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 23, 2017 13:31
    —
Даты (правильные) очень сильно ускоряют процесс синхронизации (нет необходимости сравнивать по содержимому), поэтому с ними гораздо удобнее.

#284:  Author: sa PostPosted: Mon Jan 23, 2017 23:20
    —
MVV wrote:
даты у символических ссылок с датами оригинальных файлов никак не связаны

Тем досадней, когда, например, при архивировании файлов с использованием их ссылок, файлы в архиве получают не свои даты, а ссылок.

#285:  Author: Nick PostPosted: Sat Mar 25, 2017 21:49
    —
Закачайте куда-нибудь последнюю версию NTLinksMaker, т.к. в этом сообщении ссылка не рабочая.

#286:  Author: FlasherLocation: Москва PostPosted: Sat Mar 25, 2017 22:25
    —
Nick wrote:
Закачайте куда-нибудь последнюю версию NTLinksMaker
На wincmd.ru она и есть.

#287:  Author: Nick PostPosted: Thu Mar 30, 2017 12:27
    —
Flasher wrote:
На wincmd.ru она и есть.
Ok. Я почему-то думал, что там новые версии не выкладываются. По крайней мере, вроде бы, бета-версий там нет. Только релизы.

#288:  Author: FlasherLocation: Москва PostPosted: Thu Mar 30, 2017 20:11
    —
Nick
Это решают сами авторы, тем более что зачастую беты - это исправленные релизы.

#289:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Mar 30, 2017 21:26
    —
Flasher wrote:
зачастую беты - это исправленные релизы

И зачастую релизы - это зарелизенные беты. Very Happy

Если в очередной бете багов не находится и исправлять ничего не приходится, вскоре она получает гордое звание релиза.

#290:  Author: Victor_Dobrov PostPosted: Thu Aug 17, 2017 01:46
    —
MVV просьба "починить" NTLinks Maker 1.2.0.340 - утилита не работает под wine (Arch Linux) — выдаёт: Для создания символьных ссылок необходимо повышение (права администратора). При запуске wine под root тоже самое. (пользователь Linux состоит в группе Администраторы)
При этом NtfsLinks создаёт символьные линки без проблем (запуск от обычного пользователя). Ещё шрифт в основном диалоговом окне искажён, смотрите скриншот:

#291:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Aug 17, 2017 11:01
    —
Сообщение о необходимости повышения NTLinks Maker отображает лишь при ошибке получения привилегии SE_CREATE_SYMBOLIC_LINK_NAME - и, боюсь, это скорее проблема Wine, если эта привилегия там недоступна... И то, какие права есть у пользователя Linux, вряд ли имеет значение, важно то, что эмулятор Wine предоставляет программе.
Также замечу, что NtfsLinks создавать символьные ссылки не умеет в принципе (она создаёт точки соединения для папок и жесткие ссылки для файлов, а символьные ссылки - это иная сущность). Советую проверить, создает ли символьные ссылки (именно символьные) системная утилита mklink - если она не сможет, то Wine однозначно их не поддерживает:
Code:
mklink /D C:\Link C:\Target


А насчёт шрифта даже мыслей нет никаких... Используется стандартный способ создания диалогового окна, стандартный шрифт MS Shell Dlg, который ещё с Windows XP поголовно используется в системных приложениях Windows. И экспериментировать мне негде в принципе, не обладаю линуксом с Wine... Могу лишь предположить, что всё-таки проблема со шрифтом, но тогда непонятно, как другие программы работают...

#292:  Author: icet036589 PostPosted: Sat Jan 06, 2018 17:31
    —
MVV

Используется
Windows 7 x64
Total Comander 9.12 RC3 (2017-11-09) x64

ИД
Структура "КаталогИсточник" на который пробую создать ссылку.
|
|_Каталог_01\
| |_Каталог_11\
| |_Каталог_12\
| | |_Каталог_21\
| | |_Файл_4.txt
| |_Файл_3.txt
|_Файл_1.txt
|_Файл_2.txt

"КаталогИсточник" размещён по адресу - \\Server\E\TEST\TOTAL\01\ИСТ\
"КаталогСсылок" где предполагается разместить ссылки - \\Server\E\TEST\TOTAL\01\ССЛ\

Кнопка
Команда "%COMMANDER_PATH%\NTLinksMaker64.exe
Параметр /q- /b /s? /r="%P" "@%WL" "%T"

Пробую создать ссылки.
https://prnt.sc/hwtf4o

Результат
Кликаю два раза на каталог(ссылку) - не открывается (не реагирует).
Кликаю два раза на файл(ссылку) - сообщение об ошибке "Невозможно открыть файл".

http://prntscr.com/hwtmpz

Вопросы.
1. Можно ли создать ссылки для данного каталога ("КаталогИсточник")?

#293:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jan 09, 2018 11:21
    —
Вообще, в UNC-папках (сетевых) не все ссылки могут быть созданы, т.к. для некоторых из них нужно прямое обращение к логическому тому.

#294:  Author: ЧиполлиноLocation: Орёл PostPosted: Thu Jan 11, 2018 10:32
    —
Добрый день. Утилитами, которые обсуждаются в данной теме я пока не пользовался, а использовал Link Shell Extension. Но меня не устраивает один момент. Создаем символьные ссылки на выделенные файлы, находящиеся в папке, и в результате созданные Линки имеют нулевой размер. Но если создать символьную ссылку а саму папку, то размер вложений созданного линка, точно такой же как у папки-источника. А мне необходимо создать линк на папку, с большим уровнем вложений, и при этом получить нулевой размер линка, и что бы структура папки сохранилась. Не в ручную же делать, выделяя содержимоое каждого подкаталога. Может я что то не понимаю, и не тот тип ссылки создаю? - Так подскажите плизз. Или дайте ссылку на кнопку, бантик, или еще что то, выполняющее эту процедуру в одно нажатие.

#295:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Jan 11, 2018 10:48
    —
Хм, меня обычно только разочаровывал факт, что по симлинку не виден размер оригинального файла...

С помощью NTLinks Maker можно сделать, чтобы при дублировании папки все подпапки дублировались как папки, а файлы в них - как символьные ссылки, нужно просто задать значение количества уровней для дублирования, равное -1, и указать, что создавать нужно только символьные ссылки. Само собой, при изменении содержимого исходной папки в таком дубликате изменений видно не будет.

#296:  Author: AmeKs PostPosted: Sat Jan 13, 2018 01:04
    —
MVV
Поясните, пожалуйста, как практически работает параметр "/r". readme читал, но так и не понял. Что с галкой, что без галки, разницы не вижу.

#297:  Author: FlasherLocation: Москва PostPosted: Sat Jan 13, 2018 01:12
    —
AmeKs
Ключ добавлялся по моей просьбе. Там же и написано для каких режимов он нужен. Смысл в /r="%P".

#298:  Author: AmeKs PostPosted: Sat Jan 13, 2018 02:27
    —
Quote:
ключ/опцию сохранения относительной структуры для файлов в режиме без подкаталогов
Спасибо за наводку, что-то наконец стало проясняться. Т.е. копируется структура каталогов, внутрь которых помещаются ссылки на файлы; при этом в режиме Ctrl+B настройка уровня вложенности (в диалоге) не играет никакой роли.
Quote:
Данная опция позволяет создавать ссылки для объектов с сохранением их взаимного расположения. Для каждого объекта определяется и воссоздается структура каталогов относительно указанного базового каталога.

Просто написанное в readme лично меня сбивает с толку. "Объект" у меня ассоциируется в том числе с папкой, а "взаимное расположение" с относительным путём. Smile В общем, я решил, что эта функция аналогична задаваемой в настройках утилиты "Link Shell Extension":
Code:
Тип символической ссылки - Относительная
. А когда я никакой относительной ссылки не смог получить, понял, что что-то не так. Rolling Eyes

#299:  Author: FlasherLocation: Москва PostPosted: Sat Jan 13, 2018 02:52
    —
AmeKs wrote:
при этом в режиме Ctrl+B настройка уровня вложенности (в диалоге) не играет никакой роли.
Предусмотрено удаление имён вложенных папок справа базового пути с целью их добавки при формировании структуры.
AmeKs wrote:
"Объект" у меня ассоциируется в том числе с папкой, а "взаимное расположение" с относительным путём.
Если базовый путь "%P" несменен или меняется удалением имён справа, то описание справедливо и для папок.
В результатах поиска вместо "%P" базовой папкой выступает родитель первого объекта.


Last edited by Flasher on Sat Jan 13, 2018 04:27; edited 2 times in total

#300:  Author: AmeKs PostPosted: Sat Jan 13, 2018 03:12
    —
Flasher wrote:
Если базовый путь "%P" и несменен, то описание справедливо и для папок.
10 раз перечитал написанное, но так и не понял что к чему. Shocked Вы пишете, что описание может быть справедливо для папок, а я с точки зрения банальной логики вижу, что ссылки для папок (по аналогии с файлами) при помощи "/r" не создаются. То ли я слишком тугой для познания таких тонкостей, то ли опять неправильно всё воспринимаю...

#301:  Author: FlasherLocation: Москва PostPosted: Sat Jan 13, 2018 03:15
    —
AmeKs
Я кое-что уточнял. Вы читали? Судя по цитате, нет.
P.S.: Дважды описался. Не слева, а справа.

#302:  Author: AmeKs PostPosted: Sat Jan 13, 2018 03:54
    —
Flasher wrote:
P.S.: Дважды описался. Не слева, а справа.
Ага. А я уже полез экспериментировать и не догоняю, почему у меня вообще ничего не происходит при попытке таких манипуляций. Mr. Green В общем, буду думать. Но если честно, хотелось бы видеть более удобоваримое описание в readme для таких нубов как я.

#303:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Jan 13, 2018 19:22
    —
Основной смысл опции /r - передача базовой папки для воссоздания иерархии каталогов, с ней ссылки для выбранных файлов/папок будут не свалены в одну кучу в одну целевую папку, а помещены в такие же подкаталоги, в которых они находятся в папке, в которой юзер нажал Ctrl+B (если в качестве значения опции передаётся %P - текущий путь в панели).

#304:  Author: Dimsok PostPosted: Tue Jan 23, 2018 01:38
    —
Можно добавить возможность создания символьных ссылок на XP с драйвером? Так, как это делает программа ln.

#305:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jan 23, 2018 09:03
    —
Вроде можно, т.к. их создание и так реализовано внутренне...

А чем точки соединения не устраивают? Я и на 7-ке только ими и пользуюсь, т.к. создаю только ссылки на локальные папки, и повышения не требуется для их создания... Да и поддерживаются они в XP нативно.

Добавлено спустя 3 часа 40 минут:

Попробуй эту версию, добавил проверку наличия драйвера от Masatoshi Kimura:

NTLinks Maker Build 348

#306:  Author: Dimsok PostPosted: Wed Jan 24, 2018 01:09
    —
Quote:
А чем точки соединения не устраивают?

Иногда ради одного файла не хочется всю папку. Да и если на XP удалить точку из проводника, источник тоже уйдёт. Я через проводник с файлами не работаю, но всё равно тк спокойней.

Quote:
Попробуй эту версию

Спасибо, проверю.

Добавлено спустя 20 минут:

Работает.
А почему бы ещё не добавить возможность создания точек монтирования? В My Computer становишься на нужный диск и кликаешь.

Добавлено спустя 8 минут:

Ага, нашёл глюк. С теми же параметрами эта версия создаёт лишь одну ссылку из всех выделенных.

#307:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Jan 24, 2018 08:51
    —
Dimsok wrote:
А почему бы ещё не добавить возможность создания точек монтирования? В My Computer становишься на нужный диск и кликаешь.

А тут проблема скорее в виртуальности путей в папке \\Компьютер, сам по себе NTLinksMaker без проблем создаёт точки монтирования, если передать только букву диска, но тотал из этой папк передаёт несуществующие пути вида \\Компьютер\X:.

Dimsok wrote:
Ага, нашёл глюк. С теми же параметрами эта версия создаёт лишь одну ссылку из всех выделенных.

Подтверждаю, спасибо.

Добавлено спустя 1 час 4 минуты:

Поправил.

NTLinks Maker Build 350

#308:  Author: Dimsok PostPosted: Fri Jan 26, 2018 02:46
    —
Quote:
Поправил.


Теперь при создании символьных ссылок "A required privelege is not held by the client"

#309:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Jan 26, 2018 08:28
    —
Блин, забыл про XP:)

NTLinks Maker Build 352

#310:  Author: Kot_Matraskin PostPosted: Sat Aug 25, 2018 16:22
    —
...

Last edited by Kot_Matraskin on Sun Aug 26, 2018 21:18; edited 1 time in total

#311:  Author: FlasherLocation: Москва PostPosted: Sun Aug 26, 2018 13:07
    —
Kot_Matraskin wrote:
Утилита Ntfs Links создаёт только junctions
А какое отношение эта утилита имеет к сабжу?
Впрочем, NTLinks Maker для папок создаёт именно символические связи/соединения Junction, а не символические ссылки SIMLINKD. В mklink, к примеру, для этого есть ключи /D и /J. Здесь этих опций и впрямь не хватает.

P.S.: Зря пост удалили.

MVV
Сделай поддержку UTF8 без ВОМ для NTLinks.lng, а то зябры на Тип Объекта выдаёт.

#312:  Author: Kot_Matraskin PostPosted: Sun Aug 26, 2018 21:13
    —
Flasher wrote:
P.S.: Зря пост удалили.

Да, перепутал я с другой программой, бывает… )
Ну а в этой всё отлично, почти. Раздражает только, что перед созданием символической ссылки программа каждый выдаёт окно с предупреждением о повышении привилегий, вынуждая делать лишние телодвижения мышкой. Зачем нужно это дополнительное предупреждение? Если у пользователя включён UAC, то у него и так всплывает системное окно для подтверждания действий. А если UAC отключён, то значит он сам прекрасно понимает что делает.

А что касается SIMLINKD, создаваемых утилитой, то это и есть символическая ссылка на папку, та же самая, какую создаёт mklink с ключом /D. Так что все опции присутствуют.

#313:  Author: FlasherLocation: Москва PostPosted: Sun Aug 26, 2018 21:26
    —
Kot_Matraskin
Что делать для повышения прав на форуме говорилось многократно. Читайте описание поля "Команда:" в справке.
С отключённым UAC никаких предупреждений всплывать не должно.
Kot_Matraskin wrote:
А что касается SIMLINKD, создаваемых утилитой
Повторяю, нет. Создаётся как раз таки Junction аля mklink /j, а вовсе не SIMLINKD аля mklink /d. Выполняем dir и видим разницу.
Ниже выяснилось, что так происходит с ключом /s?.

P.S.: За оверквотинг ждите взбучки.


Last edited by Flasher on Sun Aug 26, 2018 22:24; edited 1 time in total

#314:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Aug 26, 2018 21:58
    —
Flasher wrote:
Впрочем, NTLinks Maker для папок создаёт именно символические связи/соединения Junction, а не символические ссылки SIMLINKD. В mklink, к примеру, для этого есть ключи /D и /J. Здесь этих опций и впрямь не хватает.

Если выбираешь вариант "только символьные ссылки", то создаются именно символьные ссылки (SYMLINKD).
Flasher wrote:
Сделай поддержку UTF8 без ВОМ для NTLinks.lng, а то зябры на Тип Объекта выдаёт.

У тебя не русская кодировка в системе по умолчанию? В любом случае, LNG-файлы - это чисто фишка тотала, а не плагинов, и наверное там должна поддерживаться UTF-16 без маркера.

Kot_Matraskin wrote:
Раздражает только, что перед созданием символической ссылки программа каждый выдаёт окно с предупреждением о повышении привилегий, вынуждая делать лишние телодвижения мышкой. Зачем нужно это дополнительное предупреждение? Если у пользователя включён UAC, то у него и так всплывает системное окно для подтверждания действий. А если UAC отключён, то значит он сам прекрасно понимает что делает.

Да, отключать это подтверждение нельзя, но молча дергать UAC - тоже не самое лучшее решение, т.к. не все могут знать, что для создания символьных ссылок нужны права администратора. Но можно сразу запускать утилиту с правами администратора (Flasher намекал на это), тогда этого окна не будет.

Flasher wrote:
Да, похоже я использовать версию постарше. Но /J опции всё равно нет.

С ключом /J утилита mklink создаёт точки соединения, с опцией /D - символьные ссылки, и оба варианта в NTLinks Maker были изначально (см. историю), просто символьные ссылки создаются только с опцией "Только символьные ссылки".

#315:  Author: FlasherLocation: Москва PostPosted: Sun Aug 26, 2018 22:05
    —
MVV wrote:
просто символьные ссылки создаются только с опцией "Только символьные ссылки".
Аx, вот в чём дело. А почему с /s? нет (даже при разных дисках)?
MVV wrote:
У тебя не русская кодировка в системе по умолчанию?
Русская кодировка? Это что? Локаль (язык системы) русская.
MVV wrote:
В любом случае, LNG-файлы - это чисто фишка тотала, а не плагинов
Так это плагин выводит вариативный текст. Обычные же поля на русском выводятся правильно.

#316:  Author: Kot_Matraskin PostPosted: Mon Aug 27, 2018 08:53
    —
MVV wrote:

Да, отключать это подтверждение нельзя, но молча дергать UAC - тоже не самое лучшее решение, т.к. не все могут знать, что для создания символьных ссылок нужны права администратора. Но можно сразу запускать утилиту с правами администратора (Flasher намекал на это), тогда этого окна не будет.

Ваш запрос дублирует запрос UAC. Т.е. вместо одного подтверждения приходится дважды щёлкать на кнопки.
А запускать утилиту изначально с правами администратора - это вообще нерациональное решение, т.к. приходится всегда подтверждать права на старте, даже если эти права не понадобятся. Допустим ты решил создать НЕ символическую ссылку, а другую. Либо просто закрыл окно, ничего не выбрав. В общем так не делается. Запуск от имени администратора приемлем в тех случаях, когда предполагается какая-то длительная работа в приложении, т.е. совершается много действий, требующих прав. Здесь же идёт речь лишь об одной операции, да и то неизвестно какой именно. Поэтому права должны запрашиваться непосредственно в момент совершения операции.

И наконец, полномочия пользователя определяются настройками учётной записи в которой он работает. В соответствии с которыми, система сама запрашивает необходимые подтверждения там, где это требуется. Поэтому эта ваша долнительная "опека" тут совершенно не к месту. Если вы, как говорите, хотите поставить пользователя в известность о необходимости повышения прав, то достаточно сделать предупреждающую надпись в диалоговом окне. Ну либо сделать однократное подтверждение при первом запуске. Но зачем выдавать его постоянно то? Мы вроде не настолько тупые.

Тем более мы с вами прекрасно понимаем, что символические ссылки не могут представлять никакой опасности, они не дают никаких прав на ссылаемые объекты, и по сути мало отличаются от тех же junction или даже ярлыков. А требование прав - это просто рудимент, оставшийся с прошлых времён, когда симв.ссылки не корректно обрабатывались некоторыми приложениями. Так зачем ещё и усугублять этот рудимент - мне вообще непонятно.

#317:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Aug 27, 2018 08:59
    —
Quote:
Аx, вот в чём дело. А почему с /s? нет (даже при разных дисках)?

Нет смысла делать символьные ссылки там, где можно прекрасно обойтись старыми добрыми точками соединения. Точки соединения поддерживаются со времён Windows 2000, не требуют прав администратора для их создания, их можно создавать между любыми дисками NTFS (хотя на источнике может быть и FAT). Символьные же ссылки официально поддерживаются только с Windows Vista (хотя для Windows XP есть драйвер, позволяющий их читать) и админские права требуют, хотя диапазон их источников шире (любые устройства с буквой диска и сетевые пути).
Quote:
Русская кодировка? Это что? Локаль (язык системы) русская.

Есть язык интерфейса системы и язык по умолчанию для не-юникодных приложений, если второй русский, то однобайтная кодировка по умолчанию - win-1251. Очень странно, если в такой ситуации здесь кириллица не видна, а в остальных не-юникодных программах видна.
Quote:
Так это плагин выводит вариативный текст. Обычные же поля на русском выводятся правильно.

Плагины с локализацией выводят только английский текст, совпадающий со значениями ключей в LNG-файле, а заменяет его на локализованный из LNG-файла сам тотал. Попробуй удалить LNG-файл и посмотреть, что будет.

Kot_Matraskin wrote:
Ваш запрос дублирует запрос UAC. Т.е. вместо одного подтверждения приходится дважды щёлкать на кнопки.

Проблема в том, что без этого подтверждения может быть непонятно, для чего запрашиваются права (в запросе UAC видна только невыразительная командная строка). Хорошо, добавлю опцию в конфиг для подавления этого запроса.
Kot_Matraskin wrote:
Тем более мы с вами прекрасно понимаем, что символические ссылки не могут представлять никакой опасности, они не дают никаких прав на ссылаемые объекты, и по сути мало отличаются от тех же junction или даже ярлыков. А требование прав - это просто рудимент, оставшийся с прошлых времён, когда симв.ссылки не корректно обрабатывались некоторыми приложениями.

Всё же требование прав именно для их создания ничем не обосновано, т.к. давно существуют точки соединения, которые прав для их создания не требуют, и которые, по-моему, приняли основной удар неподдерживаемости на себя (в Windows XP даже проводник их не понимал). Создаются они таким же образом, что и точки соединения - путём обращения к драйверу, разница лишь в типе структуры-описателя.

#318:  Author: Kot_Matraskin PostPosted: Mon Aug 27, 2018 09:25
    —
MVV wrote:
Нет смысла делать символьные ссылки там, где можно прекрасно обойтись старыми добрыми точками соединения.

А я вот не соглашусь с этим. Точки соединения станут источником гемора, когда ты захочешь подключить своё жёсткий диск в качестве внешнего диска к другой системе. Буква диска будет уже другая, и все эти точки станут невалидными. Поэтому предпочтительно использовать именно символьные ссылки в root-relative формате: \Users\user\MyDir
Тогда можно как угодно подключать свой диск, и всё будет на своих местах.

#319:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Aug 27, 2018 09:27
    —
Разочарую: относительные символьные ссылки утилита создавать не умеет... Пока, во всяком случае. А абсолютные ничем не лучше точек соединения там, где допустимы и те и другие. Разве что наличием вкладки в свойствах папки в проводнике (в которой, кстати, есть баг с отображением целевого пути в случае относительной ссылки).

#320:  Author: FlasherLocation: Москва PostPosted: Mon Aug 27, 2018 10:41
    —
Quote:
Нет смысла делать символьные ссылки там, где можно прекрасно обойтись старыми добрыми точками соединения.
Не очень понимаю данной логики. Чем конкретно ситуация с /s должна отличаться от /s? при разных дисках? Что мешало и для /s сделать точки соединения, коли для папок нет подразумеваемого противопоставления жёстким ссылкам?
И в части относительности я соглашусь с Kot_Matraskin, правда она куда чаще требуется для файлов нежели папок. Такая поддержка (когда можно посмотреть за папки с пом. ..\..\.. или наоборот вперёд с отсечением первой части пути) для портабл-сборок точно не помешает.

Quote:
Очень странно, если в такой ситуации здесь кириллица не видна, а в остальных не-юникодных программах видна.
Ничего странного. Я же написал, где именно не видна. Напомню, где мы это обсуждали. А здесь ты создавал темы на оффсайте: 1, 2. Память совсем подводит? Smile Заголовки табуляторов выводятся как полагается, пути (Целевой объект, Реальный путь) с кириллицей выводятся как полагается, Объект доступен (Да/Нет) выводится как надо, кракозябрами выводится именно Тип объекта.

#321:  Author: Kot_Matraskin PostPosted: Mon Aug 27, 2018 12:48
    —
Я нашёл способ, как избавиться от запроса привилегий на символические ссылки раз и навсегда. Нужно добавить эту привилегию в локальные политики пользователя.

Дейстия такие: добавляем эту привилегию в службу групповых политик, и прописываем свою учётную запись для этой привилегии в локальных политиках.

1. Находим ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\gpsvc
2. Щёлкаем на неё правой кнопкой -> Разрешения -> Дополнительно -> Владелец: Изменить -> меняем владельца на себя (по умолчанию там владелец Система)
3. Выставляем себе разрешение "Полный доступ"
4. В данной ветке реестра находим ключ RequiredPrivileges, и к имеющимся в нём списку добавляем SeCreateSymbolicLinkPrivilege
Владельца ветки можно вернуть как было.

5. Открываем Локальную политику безопасности (secpol.msc).
6. Там переходим в Локальные политики -> Назначение прав пользователя -> Создать символические ссылки -> Добавить пользователя-> добавляем себя в список.
7. Перелогиним свою учётную запись, чтобы изменения вступили в силу.
И кайфуем! Теперь можно легко создавать симлинки хоть через NTLinksMaker, хоть через mklink, и никто вас больше не потревожит.


Last edited by Kot_Matraskin on Mon Aug 27, 2018 16:40; edited 2 times in total

#322:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Aug 27, 2018 13:33
    —
Kot_Matraskin
Прочитайте правила форума насчёт оверквотинга. На предыдущей странице лишнее цитирование удалено.

#323:  Author: Kot_Matraskin PostPosted: Mon Aug 27, 2018 14:30
    —
Avada wrote:
Kot_Matraskin
Прочитайте правила форума насчёт оверквотинга. На предыдущей странице лишнее цитирование удалено.

Вы по поводу цитирования вот этого поста? http://forum.wincmd.ru/viewpost.php?p=127757
Вообще-то мой ответ касался первых трёх абзацев этого поста, которые я и процитировал. А вы оставили лишь первый абзац. Видимо смысл не совсем уловили.

#324:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Aug 27, 2018 15:32
    —
Kot_Matraskin
Вы и сейчас нарушаете правила касательно оверквотинга. Свой ник в цитате абсолютно не нужен. B если в предыдущем посте даже сорок абзацев, можно обойтись без их цитирования вообще, если ясно, кому и про что отвечают.

#325:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Aug 27, 2018 15:53
    —
Flasher wrote:
Не очень понимаю данной логики. Чем конкретно ситуация с /s должна отличаться от /s? при разных дисках? Что мешало и для /s сделать точки соединения, коли для папок нет подразумеваемого противопоставления жёстким ссылкам?

Так тебе наоборот хочется микса символьных ссылок на файлы и точек соединения для папок? Ну, технически-то проблем нет... Два комбобокса в интерфейсе, отдельно для папок и файлов?

Flasher wrote:
И в части относительности я соглашусь с Kot_Matraskin, правда она куда чаще требуется для файлов нежели папок.

Да я в этом тоже с ним соглашусь, но поддержки нет. Smile

Kot_Matraskin wrote:
Я нашёл способ, как избавиться от запроса привилегий на символические ссылки раз и навсегда. Нужно добавить эту привилегию в локальные политики пользователя.

Спасибо за информацию, это может быть полезным!

#326:  Author: FlasherLocation: Москва PostPosted: Mon Aug 27, 2018 16:05
    —
MVV wrote:
Два комбобокса в интерфейсе, отдельно для папок и файлов?
Угу. И ключик.
MVV wrote:
но поддержки нет.
Твоей или системы? Smile

Что по юникоду?

#327:  Author: CaptainFlintLocation: Москва PostPosted: Mon Aug 27, 2018 16:46
    —
Kot_Matraskin wrote:
Я нашёл способ, как избавиться от запроса привилегий на символические ссылки раз и навсегда.

К сожалению, это работает только для не-админских аккаунтов (по крайней мере, в Win7). Админские неповышенные аккаунты по-прежнему будут требовать повышения, даже если их явно указать в этом списке. Такая вот придурь. Sad

#328:  Author: Kot_Matraskin PostPosted: Mon Aug 27, 2018 17:01
    —
CaptainFlint wrote:
К сожалению, это работает только для не-админских аккаунтов (по крайней мере, в Win7). Админские неповышенные аккаунты по-прежнему будут требовать повышения, даже если их явно указать в этом списке. Такая вот придурь. Sad

На Win10 всё ок. Проверял как-раз на аккаунте с админскими правами. Может для семёрки дополнительно что-то нужно... Хотя по логике бы наоборот на старых версиях посвободней должно быть.

#329:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Aug 27, 2018 17:35
    —
Flasher wrote:
Ничего странного. Я же написал, где именно не видна. Напомню, где мы это обсуждали. А здесь ты создавал темы на оффсайте: 1, 2. Память совсем подводит? Smile Заголовки табуляторов выводятся как полагается, пути (Целевой объект, Реальный путь) с кириллицей выводятся как полагается, Объект доступен (Да/Нет) выводится как надо, кракозябрами выводится именно Тип объекта.

Конечно подводит, за 6 лет ни разу об этом не вспоминал. Very Happy
Но что ты от плагина хочешь, если проблема в тотале, и её так никто не решил? Могу лишь повторить свой древний совет - перевести LNG-файл в UTF-16 LE без маркера, официальную юникодную кодировку INI-файлов.

Flasher wrote:
Твоей или системы?

Моей, конечно, я же прямо об этом написал.

#330:  Author: CaptainFlintLocation: Москва PostPosted: Mon Aug 27, 2018 17:42
    —
MVV wrote:
Даже с SetEnv __COMPAT_LAYER RunAsInvoker в Autorun.cfg?

Не вижу, почему это значение должно что-то поменять в поведении, ибо RunAsInvoker — это и есть поведение по умолчанию. Но на всякий случай проверил (в консоли, не в autorun), и ничего не поменялось, "you do not have sufficient privilege".

#331:  Author: FlasherLocation: Москва PostPosted: Mon Aug 27, 2018 17:46
    —
MVV wrote:
Конечно подводит, за 6 лет ни разу об этом не вспоминал.
Т.е. и про статью на TCKB (100500 раз обсуждаемую) не помнишь? 6 лет для нормальной памяти — это вообще семечки. Сам же некогда писал, что такое меню без заголовка будешь использовать.
MVV wrote:
Но что ты от плагина хочешь, если проблема в тотале, и её так никто не решил?
С чего ты взял, что Тотале? В других плагинах это решено. Значит, и в твоём можно.
+ Ты так и не объяснил, почему кириллица в путях и Да/Нет у Объект доступен выводится, а у Тип объекта нет.
MVV wrote:
Могу лишь повторить свой древний совет - перевести LNG-файл в UTF-16 LE без маркера
Читай ниже, что я тебе ответил. Нельзя переводить в любую другую кодировку кроме UTF-8 без ВОМ, иначе в полях будут ������ вместо нормального текста.

Last edited by Flasher on Mon Aug 27, 2018 18:03; edited 1 time in total

#332:  Author: Kot_Matraskin PostPosted: Mon Aug 27, 2018 17:57
    —
CaptainFlint
А не пробовал задать в этом списке просто Пользователи? Чтоб Администраторы там вообще не фигурировали

#333:  Author: CaptainFlintLocation: Москва PostPosted: Mon Aug 27, 2018 18:24
    —
Kot_Matraskin
Только Пользователи? А смысл? Текущий-то аккаунт в группе Администраторы. Попробовал на всякий случай добавить его ещё и в группу Пользователи, указал её же в политике — результат тот же. Наличие/отсутствие группы Администраторы в этой политике на поведение не влияет, тоже проверил.

#334:  Author: Kot_Matraskin PostPosted: Mon Aug 27, 2018 21:04
    —
MVV
Обнаружился баг в NTLinks на символьных ссылках с целевым объектом в виде ..\бла-бла-бла
Реальный путь к объекту у вас рассчитывается не относительно физического расположения данной ссылки на диске, а относительно текущего пути, который привёл вас к этой ссылке. А он может быть каким угодно, если были переходы по ссылкам. Поэтому данная ссылка у вас приводит совсем не туда, куда нужно, показывая неправильный абсолютный путь. Причём в разные места, в зависимости от источника )

#335:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Aug 27, 2018 23:14
    —
CaptainFlint wrote:
Не вижу, почему это значение должно что-то поменять в поведении, ибо RunAsInvoker — это и есть поведение по умолчанию. Но на всякий случай проверил (в консоли, не в autorun), и ничего не поменялось, "you do not have sufficient privilege".

Вообще, по умолчанию в системе HighestAvailable, но это я не в тему предложил, это помогает подавлять UAC при запуске программ в случае, если повышение для работы программы не требуется.

Kot_Matraskin wrote:
Обнаружился баг в NTLinks на символьных ссылках с целевым объектом в виде ..\бла-бла-бла

По-моему, кто-то что-то путает. В NTLinks относительные пути строятся явно относительно папки, содержащей объект. Прошу привести подробный алгоритм воспроизведения ошибки.

Flasher wrote:
Т.е. и про статью на TCKB (100500 раз обсуждаемую) не помнишь?

Видимо, обсуждаемую не всеми, раз не все о ней помнят. Wink

Flasher wrote:
Читай ниже, что я тебе ответил. Нельзя переводить в любую другую кодировку кроме UTF-8 без ВОМ, иначе в полях будут ������ вместо нормального текста.

Я не предлагал перекодировать MNU, я предлагал только перекодировать LNG-файл плагина. Попробовал UTF-8 в MNU/LNG тотала, получил обратный эффект: в колонках плагина всё правильно, а в колонке с tc.file type вижу белиберду (как если UTF-8 файл открыть в win-1251). При этом смена кодировки LNG-файла плагина никак не портит отображение кириллицы в полях плагина.

Добавлено спустя 21 минуту:

Хм, а щас пропадать стала русификация плагина, когда включаю MNU/LNG в тотале в UTF-8... Не кракозябры, а просто английские ключи в полях и значениях... Полтергейст.

#336:  Author: FlasherLocation: Москва PostPosted: Tue Aug 28, 2018 00:27
    —
MVV wrote:
Видимо, обсуждаемую не всеми, раз не все о ней помнят.
Главное, что тобой обсуждалось не раз. Wink
MVV wrote:
Я не предлагал перекодировать MNU, я предлагал только перекодировать LNG-файл плагина.
Я понимаю. И как раз это приводит к тому, о чём пишу.

MVV wrote:
Попробовал UTF-8 в MNU/LNG тотала, получил обратный эффект: в колонках плагина всё правильно
И тип объекта правильно показывает?
MVV wrote:
а в колонке с tc.file type вижу белиберду
А ты по второму пункту всё в точности выполнил?

#337:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Aug 28, 2018 08:29
    —
Flasher wrote:
А ты по второму пункту всё в точности выполнил?

Нет, ты ни разу об этом не сказал, а в идеале вообще следует приводить точный алгоритм воспроизведения проблемы. А какое отношение юзеркоманды имеют к проблеме кракозябр в колонках контентных плагинов?
Кстати, у тебя два первых пункта)

Пробую на 10-ке, при переключении на MNU/LNG с UTF-8 тоже в колонках видны просто английские идентификаторы...

Добавлено спустя 15 минут:

А попробовал добавить колонку с типом объекта (tc.file type), так тотал вообще добавил вместо неё колонку tc.hidden! Shocked В контентных полях полная каша!
Но когда на английском добавил колонку tc.file type и переключился на язык с UTF-8, вижу в колонке tc.file type текст Декодированный.

#338:  Author: Kot_Matraskin PostPosted: Tue Aug 28, 2018 11:09
    —
MVV wrote:
По-моему, кто-то что-то путает. В NTLinks относительные пути строятся явно относительно папки, содержащей объект. Прошу привести подробный алгоритм воспроизведения ошибки.

Вот пример. Имеем такую древовидную структуру файлов:
Code:

C:\MainDir\
      DirA\
        DirB\
          MainDir_link = ..\..
      DirB_link = DirA\DirB

Заходим в папку C:\MainDir\DirB_link, наводим на ссылку MainDir_link и смотрим, какие свойства для неё выдаёт ваша утилита:
Целевой объект символьный: ..\..
Целевой объект естественный: С:
Реальный объект символьный: C:\
Реальный объект естественный: C:\
Объект доступен: Нет

Совсем не то.
А при переходе по данной ссылке попадаем куда положено - в папку MainDir.


Last edited by Kot_Matraskin on Tue Aug 28, 2018 11:37; edited 2 times in total

#339:  Author: FlasherLocation: Москва PostPosted: Tue Aug 28, 2018 11:11
    —
MVV wrote:
А какое отношение юзеркоманды имеют к проблеме кракозябр в колонках контентных плагинов?
Кстати, у тебя два первых пункта)
Я также могу спросить — а какое отношение проблемы tc-плагина имеют к проблеме твоего? Там даны точные рекомендации для полной локализации. И первый пункт к делу отношения не имеет, т.к. юникод в гл. меню — это отдельная история, хоть и корневая.

MVV wrote:
при переключении на MNU/LNG с UTF-8 тоже в колонках видны просто английские идентификаторы...
Значит, ты что-то упустил.
MVV wrote:
В контентных полях полная каша!
Ну, не полная, а частичная. Ты же на оффорум с этим обращался. Нет?
Впрочем, предлагаю вернутся к ntlinks и проблемной колонке Тип объекта.
Flasher wrote:
Ты так и не объяснил, почему кириллица в путях и Да/Нет у Объект доступен выводится, а у Тип объекта нет.

#340:  Author: Kot_Matraskin PostPosted: Tue Aug 28, 2018 11:44
    —
Вопрос к знатокам. Можно ли как-то в TC настроить, чтобы на панели отображался не только символьный путь к текущей папке, но и реальный путь её расположения на диске?

#341:  Author: FlasherLocation: Москва PostPosted: Tue Aug 28, 2018 11:50
    —
Kot_Matraskin
У плагина оба свойства имеются. Не судьба проверить?

#342:  Author: Kot_Matraskin PostPosted: Tue Aug 28, 2018 12:25
    —
Flasher
И как их вывести на панель? Повторюсь, речь идёт о пути к текущей открытой папке

#343:  Author: FlasherLocation: Москва PostPosted: Tue Aug 28, 2018 12:37
    —
Kot_Matraskin
Т.е. как? Вы не знаете, как работать с контентными плагинами? Это справочный материал: 1, 2.

Вывод на панель в отношении текущей папки может подразумевать только быстрый просмотр при постановке курсора на [..] (имеющиеся wlx-плагины в плане информативности ограничены и для поставленной задачи не подходят), иначе к открытой папке доп. информацию из ТС стандартным способом не получить. Папка должна быть элементом списка в родителе.
 Если нестандартным, то, например, так:

#344:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Aug 28, 2018 19:00
    —
Flasher wrote:
Ты так и не объяснил, почему кириллица в путях и Да/Нет у Объект доступен выводится, а у Тип объекта нет.

А тут всё очень просто - я понятия не имею. Very Happy

Kot_Matraskin wrote:

Заходим в папку C:\MainDir\DirB_link, наводим на ссылку MainDir_link и смотрим, какие свойства для неё выдаёт ваша утилита:

Во, вижу, и правда проблема. Весьма странно, что даже относительный путь не отображается...
Кстати, у Проводника тоже, хотя у него это далеко не единственная проблема с отображением относительных целевых путей в окне свойств символьных ссылок. Laughing

Добавлено:

Надо сказать, логика в данной ситуации непростая получается, её даже осознать непросто. Есть относительная ссылка, но резолвится она совершенно неожиданным образом, т.к. в цепочке каталогов от корня встречается ссылка, из-за которой очередной ".." уже берётся из совершенно другого каталога. Без полного разрешения пути тут никак не обойтись. Оставлю для относительных ссылок лишь отображение относительного пути, полный путь будет разрешаться полем Реальный путь (которое в этой ситуации сбоит, т.к. ему даётся неверный целевой путь ссылки).


Last edited by MVV on Tue Aug 28, 2018 19:26; edited 3 times in total

#345:  Author: FlasherLocation: Москва PostPosted: Tue Aug 28, 2018 19:09
    —
MVV wrote:
А тут всё очень просто - я понятия не имею.
Ну, ты условия полностью воспроизвёл для такого поведения? Неужели отладку в плагине произвести не можешь? Раз проблема есть, то способы вывода этих данных разнятся. Да и в любом случае ты можешь конвертировать вывод этого поля в понятную ТС кодировку.

#346:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Aug 28, 2018 19:17
    —
Flasher wrote:
Неужели отладку в плагине произвести не можешь? Раз проблема есть, то способы вывода этих данных разнятся. Да и в любом случае ты можешь конвертировать вывод этого поля в понятную ТС кодировку.

Я уже говорил, что плагин не занимается переводом, плагин возвращает англоязычные КЛЮЧИ из LNG-файла (т.е., например, строку SymlinkD), а тотал их сам переводит в ЗНАЧЕНИЯ (в строку "Симв.ссылка папки" в случае ключа SymlinkD).

#347:  Author: FlasherLocation: Москва PostPosted: Tue Aug 28, 2018 19:47
    —
Но ведь это плагин определяет, какое из пречисленных в lng полей выводить для одного свойства. Может, там какая закавыка?

#348:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Aug 28, 2018 22:42
    —
Проблема определенно не в плагине, т.к. во всех остальных случаях он работает. А это далеко не единственная проблема тотала, связанная с использованием UTF-8 в LNG-файле.

Добавлено спустя 32 минуты:

Доделал относительные ссылки, разделил типы ссылок на файлы/каталоги (новые опции /sf, /sd, старая опция /s переключает обе), добавил проверки на сетевые пути, также добавил опцию ConfirmSymlinkElevation. Потестируйте, пожалуйста.

NTLinks Maker 1.3.0.370

+ создание относительных символьных ссылок
* типы создаваемых ссылок можно задать отдельно для файлов и папок
* проверка создания точек соединения для сетевых путей

#349:  Author: FlasherLocation: Москва PostPosted: Wed Aug 29, 2018 00:52
    —
Где смотреть, что ссылки относительные?

#350:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Aug 29, 2018 01:02
    —
Можно в cmd по команде dir.

#351:  Author: FlasherLocation: Москва PostPosted: Wed Aug 29, 2018 01:33
    —
Пробовал через dir /al, но, видимо, сперва не так проверял. Сейчас вижу, что всё в порядке. [=ntlinks.Целевой объект.Символьный] ещё.

Только мне не нравится, что в случае отсутствия относительности не создаются ссылки с абсолютными путями и вываливается ругань.
Нужно поменять на "Абсолютные символьные ссылки при необходимости" или "Относительные символьные ссылки по возможности".

#352:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Aug 29, 2018 08:04
    —
Я специально сделал отдельный режим, который создаёт только относительные, чтобы не было казусов. Если вдруг понадобились именно относительные - вряд ли устроят случайно затесавшиеся абсолютные, т.к. обычно это нужно для портабельности.

#353:  Author: FlasherLocation: Москва PostPosted: Wed Aug 29, 2018 10:30
    —
О каких казусах речь?
Относительность может быть только на одном диске и нужна в основном в рамках папки какой-то программы типа ТС. Иногда и не в части портабельности, а на случай смены буквы стационарника. А символьные ссылки чаще создаются на других дисках и где угодно. Случайно затесавшимися тут вообще не пахнет.

#354:  Author: Kot_Matraskin PostPosted: Wed Aug 29, 2018 15:27
    —
Попробовал новую версию. Относительные ссылки всегда создаются относительно папки расположения ссылки, игнорируя путь, введённый в поле "Определять относительные пути...".

Кроме того, окно перегружено лишними параметрами, которые ни на что не вляют в данной ситуации и создают путаницу. Их следовало бы деактивировать.
Например, когда открывается окно для создания ссылки на файл, то поля "Количество уровней..." и "Тип ссылок на каталоги" - лишние.
Когда создаётся ссылка на каталог и "Количество уровней"=0, то "Тип ссылок на файлы"-лишнее.
Когда в типах ссылок заданы "Жёсткие ссылки", "Точки соединения" или "Только символьные ссылки", то флажок с "Определять относительные пути..." должен сниматься, а поле ввода - деактивироваться.
Ну и так далее.

#355:  Author: FlasherLocation: Москва PostPosted: Wed Aug 29, 2018 15:43
    —
Kot_Matraskin
Вы путаете. Относительные пути с ключом /r касаются создания структуры папок для режима без подкаталогов, о чём не раз писалось в топике. К нововведению относительных путей у символьных ссылок они никакого отношения не имеют.
Если ключ /r не задан, то поле при снятом флаге будет деактивировано.
Пункт относительных путей для символьных ссылок выбирается в каждом из последующих комбобоксов. Сниматься и деактивироваться здесь просто нечему.

Далее. Окно формируется сразу, программа не анализирует список выбранного. Поэтому на тот момент программе не ведомо, сколько файлов и/или папок выбрано. Тут всё закономерно.
Хотя тут по сути достаточно проверять на наличие \ в конце первой и предпоследней строки ( .seekg(3, ios_base::end); ) списка. Может, это ощутимо и не замедлит вывод.
Kot_Matraskin wrote:
относительно папки расположения ссылки
Не ссылки, а реального объекта.

#356:  Author: Kot_Matraskin PostPosted: Wed Aug 29, 2018 17:23
    —
Flasher wrote:
Вы путаете. Относительные пути с ключом /r касаются создания структуры папок для режима без подкаталогов, о чём не раз писалось в топике. К нововведению относительных путей у символьных ссылок они никакого отношения не имеют
Раньше относительные ссылки на исходный каталог не поддерживались, потому и писалось.
А сейчас ситуация другая. Не имеет практического смысла создавать ссылку на каталог относительно одного пути, а вложенное содержимое - относительно другого пути.
Quote:
Далее. Окно формируется сразу, программа не анализирует список выбранного. Поэтому на тот момент программе не ведомо...

Браво, капитан очевидность. Давайте всё-таки дождёмся ответа от автора.

#357:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Aug 29, 2018 17:33
    —
Flasher wrote:
Относительность может быть только на одном диске и нужна в основном в рамках папки какой-то программы типа ТС. Иногда и не в части портабельности, а на случай смены буквы стационарника. А символьные ссылки чаще создаются на других дисках и где угодно.

Да, под портабельностью я подразумевал независимость от буквы диска. И тут будет неприятно, если девять ссылок относительные, а десятая - нет. Между дисками вообще неважно, какой тип ссылок, там относительность не работает. Другое дело, что тебе наверное хочется включить и забыть, чтобы одно положение работало как для путей в рамках одного тома, так и между томами. Но в таком случае для определения режима программе придётся предварительно проанализировать список, чтобы понять, можно ли сделать относительными все пути.

Kot_Matraskin wrote:
Когда создаётся ссылка на каталог и "Количество уровней"=0, то "Тип ссылок на файлы"-лишнее.

Параметр количества уровней позволяет "разворачивать" каталоги, заменяя одну ссылку каталогом с кучей ссылок на внутренние объекты, среди которых вполне могут быть и файлы. А блокировать выбор типа ссылки при конкретно нулевом значении числа уровней - не сильное облегчение, и опять же, нужен анализ списка.

Kot_Matraskin wrote:
Кроме того, окно перегружено лишними параметрами, которые ни на что не вляют в данной ситуации и создают путаницу.

Не сказал бы, что параметров слишком много, чтобы было трудно найти нужный. Как было сказано выше, поле ввода базового пути не имеет отношения к относительным ссылкам (и было бы странно, если бы имела, т.к. возможен лишь один канонический относительный путь между расположением ссылки и расположением целевого объекта). Среди остальных параметров заведомо наверняка возможно блокировать разве что поля уровней и типа ссылок на каталоги в случае создания ссылок исключительно на файлы, однако для этого придётся предварительно проанализировать список, и мне кажется, ценность блокировки пары полей не стоит таких усилий.

Kot_Matraskin wrote:
Раньше относительные ссылки на исходный каталог не поддерживались, потому и писалось.

В свете того, что раньше относительные ссылки не поддерживались, непонятно, как можно было отнести старую опцию базового пути к новой функции. Wink


Last edited by MVV on Wed Aug 29, 2018 17:48; edited 3 times in total

#358:  Author: FlasherLocation: Москва PostPosted: Wed Aug 29, 2018 17:34
    —
Kot_Matraskin wrote:
Не имеет практического смысла создавать ссылку на каталог относительно одного пути, а вложенное содержимое - относительно другого пути.
Какая ещё может быть ссылка на каталог в режиме без подкаталогов? Confused

Kot_Matraskin wrote:
Браво, капитан очевидность.
Если бы вам было всё очевидно, то вы бы не спрашивали о вещах, которые очевидны отнюдь не только знатокам.
И, кстати говоря, то, о чём я пишу, совсем не очевидно, т. к. вы понятия не имеете, в какой, например, момент программа обрабатывает список в режиме результатов поиска.
Kot_Matraskin wrote:
Давайте всё-таки дождёмся ответа от автора.
Ну, что? Дождались? >>>
MVV wrote:
однако для этого придётся предварительно проанализировать список, и мне кажется, ценность блокировки пары полей не стоит таких усилий.
Я, поверьте, автора куда лучше вас знаю и могу без труда догадаться, что он может ответить.


MVV wrote:
И тут будет неприятно, если девять ссылок относительные, а десятая - нет.
Не понял, откуда взяться десятой? В момент создания ссылок на другом диске все десять будут иметь абсолютный путь. Я не хочу для этого создавать отдельную кнопку, тем более для тихого режима.
MVV wrote:
Но в таком случае для определения режима программе придётся предварительно проанализировать список, чтобы понять, можно ли сделать относительными все пути.
А зачем предварительно-то? Ты же каждую ссылку обрабатываешь для формирования относительного пути. Там и проверяй букву.

Last edited by Flasher on Wed Aug 29, 2018 18:00; edited 1 time in total

#359:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Aug 29, 2018 18:00
    —
Flasher wrote:
Не понял, откуда взяться десятой? В момент создания ссылок на другом диске все десять будут иметь абсолютный путь. Я не хочу для этого создавать отдельную кнопку, тем более для тихого режима.

Например, из окна поиска. Smile

Quote:
А зачем предварительно-то? Ты же каждую ссылку обрабатываешь для формирования относительного пути. Там и проверяй букву.

Сейчас относительный путь вычисляется непосредственно перед созданием очередной ссылки, когда уже построены пути к ссылке и целевому объекту. А принять решение, создавать все относительные или все абсолютные, хотелось бы перед началом процесса создания ссылок. А ещё не очень хочется добавлять уже пятый элемент в выпадающие списки типов...

#360:  Author: FlasherLocation: Москва PostPosted: Wed Aug 29, 2018 18:08
    —
MVV wrote:
Например, из окна поиска.
Ну, ты же понимаешь, что этот режим значительно более редок в использовании. Хочешь, игнорь его с учётом остальных. Я не против.
MVV wrote:
А принять решение, создавать все относительные или все абсолютные, хотелось бы перед началом процесса создания ссылок.
А какая разница, в какой момент? Тебе же в окне ничего менять не надо. Плюс ты писал, что читаешь первую строку списка в режиме результатов поиска.
MVV wrote:
А ещё не очень хочется добавлять уже пятый элемент в выпадающие списки типов...
Поэтому я и предлагал заменить пункт.

#361:  Author: Kot_Matraskin PostPosted: Wed Aug 29, 2018 18:32
    —
MVV wrote:
...и опять же, нужен анализ списка.

MVV wrote:
...однако для этого придётся предварительно проанализировать список, и мне кажется, ценность блокировки пары полей не стоит таких усилий.

Удивительно такое слышать от программиста. "Проанализировать список" (из нескольких пунктов) - усилия просто неимоверные... Rolling Eyes

MVV wrote:
Не сказал бы, что параметров слишком много, чтобы было трудно найти нужный

Ну у каждого может быть своё видение. Я вот, как пользователь такой проги, ощущаю путаницу и неудобство. Когда перед глазами мельтешат лишние активные контролы (пусть даже их немного), то всегда взгляд цепляется за них, и в голове возникают мысли, а не забыл ли я что-то поменять в них.

MVV wrote:
Как было сказано выше, поле ввода базового пути не имеет отношения к относительным ссылкам (и было бы странно, если бы имела, т.к. возможен лишь один канонический относительный путь между расположением ссылки и расположением целевого объекта).

Не очень понял вас. В этом поле сказано именно про относительные пути. Как оно может не иметь отношения?

Если задан уровень дублирования =1, то создаются относительные ссылки первого уровня (относительно указанного пути). Если=2, то ссылки второго уровня и т.д. Почему при уровне=0 не создаётся ссылка нулевого уровня относительно указанного пути?

#362:  Author: FlasherLocation: Москва PostPosted: Wed Aug 29, 2018 18:39
    —
Kot_Matraskin wrote:
"Проанализировать список" (из нескольких пунктов) - усилия просто неимоверные...
Ключевая тут не сложность, а:
Quote:
Хотя тут по сути достаточно проверять на наличие \ в конце первой и предпоследней строки ( .seekg(3, ios_base::end); ) списка. Может, это ощутимо и не замедлит вывод окна.

Kot_Matraskin wrote:
Не очень понял вас. В этом поле сказано именно про относительные пути. Как оно может не иметь отношения?
И меня вы не поняли, зато поспешили обозвать кэпом. Ещё раз:
Flasher wrote:
Относительные пути с ключом /r касаются создания структуры папок для режима без подкаталогов, о чём не раз писалось в топике. К нововведению относительных путей у символьных ссылок они никакого отношения не имеют.
В предыдущих версиях эта опция была и добавлялась давно по моей просьбе, когда мыслей об относительных ссылках ещё в помине не было.

Last edited by Flasher on Wed Aug 29, 2018 18:46; edited 1 time in total

#363:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Aug 29, 2018 18:45
    —
Flasher wrote:
Поэтому я и предлагал заменить пункт.

Заменять не хочется. Подумаю, что можно сделать.

Kot_Matraskin wrote:
Удивительно такое слышать от программиста. "Проанализировать список" (из нескольких пунктов) - усилия просто неимоверные...

Я могу выделить тысячу файлов и нажать кнопку, и анализировать понадобится их все. И помимо усилий программы есть ещё мои усилия на добавление этого функционала, который повысит удобство пользования на полпроцента.

Quote:
Не очень понял вас. В этом поле сказано именно про относительные пути. Как оно может не иметь отношения?

То есть, не смущает, что это поле есть не один год, а относительные ссылки появились лишь вчера? Это поле про взаимные относительные пути нескольких выделенных объектов, для которых создаются ссылки, оно позволяет сохранять иерархию каталогов, в которых они находятся, и в справке об этом написано.

Quote:
Если задан уровень дублирования =1, то создаются относительные ссылки первого (относительно указанного пути). Если=2, то ссылки второго уровня и т.д. Почему при уровне=0 не создаётся ссылка нулевого уровня относительно указанного пути?

Что есть ссылка нулевого уровня? И что есть ссылка первого уровня? Это о чем вообще? Опция имеет конкретный смысл, который, опять же, описан в справке, и к относительным путям она тоже отношения не имеет.

#364:  Author: FlasherLocation: Москва PostPosted: Wed Aug 29, 2018 18:57
    —
MVV wrote:
Заменять не хочется. Подумаю, что можно сделать.
А тут вроде как третьего не дано. Либо добавлять либо заменять. Smile
MVV wrote:
и анализировать понадобится их все
Зачем? >>>
Flasher wrote:
достаточно проверять на наличие \ в конце первой и предпоследней строки ( .seekg(3, ios_base::end); ) списка.

#365:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Aug 29, 2018 19:57
    —
Flasher wrote:
Зачем? >>>
Flasher wrote:
достаточно проверять на наличие \ в конце первой и предпоследней строки ( .seekg(3, ios_base::end); ) списка.

Поясни популярно, как анализ на наличие слэшей в первой и предпоследней строках поможет понять, все ли пути растут из правильного места. Чтобы проверить, что все ссылки можно сделать относительными, надо проверить буквы диска всех элементов списка, и то наперёд неизвестно, какую папку назначения пользователь выберет в окне. Я бы при невозможности сделать все пути относительными добавил запрос разрешения сделать их абсолютными и опцию в конфиге для подавления этого диалога, по аналогии с запросом повышения.
И что есть оффсет 3 с конца? Rolling Eyes

#366:  Author: FlasherLocation: Москва PostPosted: Wed Aug 29, 2018 20:03
    —
Я имел в виду в отношении затенения одного из комбобоксов при выборе только папок или файлов.
А смещение в конец файла (встать перед последним символом, кареткой и переводом строки) дал для примера, чтобы не читать весь список.

#367:  Author: Kot_Matraskin PostPosted: Wed Aug 29, 2018 21:12
    —
MVV wrote:
Я могу выделить тысячу файлов и нажать кнопку, и анализировать понадобится их все

А, ну значит выражаться надо яснее. Вы ж не уточняли, что за список имеете ввиду. В контексте разговора речь шла про элементы в комбо-боксе, я про их список и подумал.

Quote:
Это поле про взаимные относительные пути нескольких выделенных объектов, для которых создаются ссылки, оно позволяет сохранять иерархию каталогов, в которых они находятся, и в справке об этом написано.
Справка - это файл readme? Я не увидел, где там сказано про "выделенных объектов"? А коль этого не сказано, то естественно я воспринимаю это как все те объекты, для которых создаются ссылки (а значит это всё увязано с параметром Уровень).

Так что не стоит обвинять меня в том, что я чего-то не понимаю, если вы недостаточно внятно объяснили суть работы вашей программы.
А перелопачивать тонны здешних постов за много лет, чтобы докопаться до "истины" - нет уж, увольте.

#368:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Aug 30, 2018 08:39
    —
Kot_Matraskin wrote:
Справка - это файл readme? Я не увидел, где там сказано про "выделенных объектов"? А коль этого не сказано, то естественно я воспринимаю это как все те объекты, для которых создаются ссылки (а значит это всё увязано с параметром Уровень).

По-моему, внимательный читатель понял бы. В справке описан синтаксис, также есть примеры использования программы со списком объектов, для которых надо создать ссылки, плюс специально приведён пример синтаксиса для интеграции с тоталом, где используется параметр %WL, который передаёт программе список выделенных объектов:
Readme wrote:
После списка параметров указывается путь к исходному файлу или каталогу (или же путь к файлу-списку в кодировке UTF-16 с префиксом @) и путь к каталогу назначения.

...

Создать символические ссылки для объектов из файла-списка D:\list.txt в папке C:\TEST (в тихом режиме, нужны права администратора):
NTLinksMaker.exe /q /s "@D:\list.txt" "C:\TEST\"

...

В поле параметров рекомендуется указывать следующее: /q- /b /r="%P" "@%WL" "%T".

Но, пожалуй, я добавлю в Readme пару строк для тех, кто совсем не в теме.

#369:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Aug 31, 2018 09:44
    —
Исправил в NTLinks отображение цели в случае относительной ссылки (теперь показывается относительная ссылка без вычисления) и вычисление реального пути (теперь совпадает с тем, куда ведёт система, если один из родителей папки является ссылкой).

NTLinks 1.6.0.252

#370:  Author: FlasherLocation: Москва PostPosted: Sat Sep 01, 2018 13:36
    —
MVV wrote:
отображение цели в случае относительной ссылки
А зачем там \\?\ спереди при разных дисках?

Что по мэйкеру?

#371:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Sep 01, 2018 22:30
    —
Спасибо, вижу, с удалением префиксов в симлинках проблема.

С мейкером пока ничего нового.

#372:  Author: FlasherLocation: Москва PostPosted: Sat Sep 01, 2018 23:03
    —
MVV wrote:
С мейкером пока ничего нового.
MVV wrote:
Подумаю, что можно сделать.
Совсем ничего не надумал?

#373:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Sep 02, 2018 00:39
    —
Некогда было думатьSmile

Исправил префиксы симлинков в NTLinks, заодно нашёл старую ошибку, из-за которой при настройке двух колонок с разными целевыми путями (символьным и естественным) во второй UNC-префикс криво удалялся.

NTLinks 1.6.0.254

#374:  Author: CaptainFlintLocation: Москва PostPosted: Fri Sep 07, 2018 17:36
    —
Нарвался тут на странность. Взял NTLinks Maker 1.2.0.340, в свойствах 64-битного исполняемого файла указал обязательный запуск от админа. Создал пользовательскую команду с параметрами:
Code:
/q- /s /b /r="%P" "@%WL" "%T"

Повесил на Alt+Shift+F6. Запустил для единичного файла, вывелся диалог, нажал ОК. Диалог закрылся, ссылка создалась, но окно Тотала осталось заблокированным, весь ввод игнорируется, в Alt+Tab окно отсутствует. Пришлось отдельную копию запускать, и там через плагин procfs принудительно флажок Enabled обратно выправлять.

Если снять опцию принудительного админского запуска, а пользоваться встроенным механизмом повышения прав, то проблема не проявляется.

Тотал 9.21a x64, Windows 7 x64 Enterprise.

#375:  Author: FlasherLocation: Москва PostPosted: Fri Sep 07, 2018 17:47
    —
CaptainFlint wrote:
Взял NTLinks Maker 1.2.0.340
Вроде бы у нас сообщество не приучено проводить тесты на прежних версиях. Question
Хотя в истории версий данный фикс в отношении /b и не значится.

#376:  Author: CaptainFlintLocation: Москва PostPosted: Fri Sep 07, 2018 18:03
    —
Более новой не вижу ни в теме, ни на wincmd.ru.
Речь о Maker'е, не о NTLinks.

#377:  Author: FlasherLocation: Москва PostPosted: Fri Sep 07, 2018 18:19
    —
1.2.0.348
1.2.0.350
1.2.0.352
1.3.0.370

#378:  Author: CaptainFlintLocation: Москва PostPosted: Fri Sep 07, 2018 18:34
    —
OK, прочёсывать всю тему в голову не пришло. Признаю свою ошибку, но к автору всё же претензия: актуальная версия должна лежать на виду, а не быть запрятанной в дебрях двух десятков страниц.

Увы, проблема, похоже, оказалась спорадической. Ни на 370, ни на 340 воспроизвести повторно не удалось. Sad

#379:  Author: FlasherLocation: Москва PostPosted: Fri Sep 07, 2018 18:43
    —
CaptainFlint wrote:
но к автору всё же претензия
Убери месячное ограничение на правку первого поста, тогда претензия станет актуальной.
 Хотя что я про первый пост...

#380:  Author: CaptainFlintLocation: Москва PostPosted: Fri Sep 07, 2018 18:55
    —
Отметка о редактировании в 2016-м году у поста, написанного в 2010-м году, как бы намекает, что ограничение для него давным-давно выключено.

#381:  Author: FlasherLocation: Москва PostPosted: Fri Sep 07, 2018 19:04
    —
Точно. Самое первое обращение. Я думал, что это тоже всё на месяц максимум.

#382:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Sep 09, 2018 15:49
    —
Последние версии я ещё не опубликовал на wincmd.ru, т.к. сначала выкладываю их для тестирования.

Интересная проблема у вас, не знаю даже, чем она может быть обусловлена: я просто указываю у диалогового окна родительским окно тотала, все блокировки/разблокировки выполняет система. Так или иначе, радует, что на последней версии она не воспроизводится, хотя не пойму, почему она может воспроизводиться на конкретной версии. Smile

#383:  Author: CaptainFlintLocation: Москва PostPosted: Sun Sep 09, 2018 15:54
    —
MVV
На последней после этого тоже воспроизвелась пару раз. Нестабильное проявление, не могу отловить условий. Sad

#384:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Sep 10, 2018 13:54
    —
Я в принципе могу добавить принудительную разблокировку окна после закрытия диалога, если ключ -b указан. Костыль, конечно...

#385:  Author: CaptainFlintLocation: Москва PostPosted: Mon Sep 10, 2018 14:16
    —
Наверное, так проще всего будет. У меня тоже идей нет, с чего такое может происходить.

#386:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Sep 10, 2018 14:23
    —
Забавно оно тогда будет, если NTLinks Maker запускался при заблокированном окне, например, при открытом модальном диалоге. Very Happy

Может, просто не использовать -b в такой ситуации? Меня в последнее время напрягают блокирующие окна, мешают копировать чего-нибудь из файловых панелей в поля ввода. Smile

#387:  Author: CaptainFlintLocation: Москва PostPosted: Mon Sep 10, 2018 16:00
    —
MVV wrote:
Забавно оно тогда будет, если NTLinks Maker запускался при заблокированном окне, например, при открытом модальном диалоге.

Ну так детектить, кто родитель. Или ты про гонку, что запустили Maker из Тотала, а пока он запускается, успели ещё и диалог открыть?

MVV wrote:
Может, просто не использовать -b в такой ситуации?

Это вопрос сложный и многогранный. Я в NTFS Links делал эту опцию для того, чтобы максимально приблизить поведение программы к встроенным диалогам Тотала, которые являются модальными. Усилить интеграцию, создать ощущение того, что это просто ещё одна из стандартных функций. Копирование и создание ссылки — это не те действия, для которых мне надо активно использовать оба окна одновременно, умолчальные пути и имена обычно такие, как мне надо. В худшем случае — Esc и повторный вызов диалога, много времени не занимает. Отсутствие модальности избавляет от переоткрытия диалога в этих редких ситуациях, но снижает ощущение интегрированности инструмента; ломает мне поведение Alt+Tab, по которому я рефлекторно ожидаю получить соседнее окно, а не основное окно Тотала; повышает вероятность того, что я переключусь в Тотал, начну что-то делать и забуду про висящий в фоне диалог, потеряю контекст (неоднократно происходило такое с фоновым поиском или синхронизацией). Так что лично для меня, с моими привычками и сценариями работы имеется сильный перевес в пользу модальности.

#388:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Oct 30, 2018 12:55
    —
Добавил всё-таки отдельный режим для смешанного создания относительных/абсолютных ссылок, ключи комстроки для всех режимов, пронумеровал их в комбобоксе для наглядности.

NTLinks Maker 1.4.0.384
+ добавлены номера для режимов ссылок в диалоге
+ добавлен смешанный режим создания относительных/абсолютных ссылок
+ принудительная разблокировка окна ТК после закрытия диалога (обход бага Windows)

#389:  Author: FlasherLocation: Москва PostPosted: Tue Oct 30, 2018 19:53
    —
Добавки в самый раз. Smile Блокировку одного из нижних комбобоксов при выборе только файлов или папок сделаешь?
И окно сузить, чтобы устранить расстояние почти в 130 пикселей от названий до них можно?

#390:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Oct 30, 2018 22:45
    —
Все имеющиеся языки проверил? Везде есть запас?

Ой не хочется мне анализировать список. И потом, если в списке только папки, выбор типов ссылок для файлов блокировать нельзя - они могут быть внутри при дублировании части уровней каталогами. А проверять только лишь ради блокировки выбора типов ссылок для файлов, если в списке нет каталогов - слишком мелкая цель...

#391:  Author: FlasherLocation: Москва PostPosted: Tue Oct 30, 2018 23:08
    —
MVV wrote:
Все имеющиеся языки проверил? Везде есть запас?
Везде. Минимум 100 px.

Насчёт файлов понял. А насчёт папок — можно и без списка: %S1.

#392:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Oct 31, 2018 22:09
    —
Имеешь в виду блокировку выбора типа для папок, если передан один элемент в комстроке, и это файл? Не сильно ли узкий случай? Неконсистентно будет, если в одном юзкейсе из кучи будет лочиться, а в остальных - нет...

#393:  Author: FlasherLocation: Москва PostPosted: Wed Oct 31, 2018 23:00
    —
Комстроке ты передаёшь список в любом случае. А это доп. параметр для какого-то ключа, дающий (без необходимости дёргать первую строку списка) понять, что папки не/выбраны. Где тут может быть несогласованность, не пойму?

#394:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Nov 01, 2018 23:52
    —
В комстроке передается либо один элемент, либо список, в первом случае понять легче, файл ли это.

Ты хочешь добавить специальный параметр, в который будет передаваться путь к чему-то, и если это файл, блокировать выбор типа ссылок для папок, я правильно понял твою скромную мысль?

#395:  Author: FlasherLocation: Москва PostPosted: Fri Nov 02, 2018 00:28
    —
Почти. Только список ты передаёшь улиткой. А тут будет что-то типа /t:%S1. %S1 — это не "путь к чему-то", а имя первого выбранного объекта. Можно, конечно, и %P добавить, если с длинным (259+) рабочим каталогом не получается.

#396:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Nov 03, 2018 21:43
    —
Не, так не пойдет, добавлять костыль-параметр только ради условной блокировки одного из комбобоксов - вообще не дело.

#397:  Author: FlasherLocation: Москва PostPosted: Sat Nov 03, 2018 23:14
    —
Долго же ты думал...
Там первую строку списка (с seek-переводом в её конец -1 для проверки на бэкслэш) дёргать не хочешь, тут у тебя костыль. Вспомнилось...

#398:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Nov 05, 2018 23:04
    —
Проверки слэшей в одной-двух строках не дают представления об остальных элементах. И для большей общности имеет смысл всё же проверять атрибуты переданных объектов, а не проверять наличие слэшей в конце имён (т.к. по большому счёту слэши в конце строк - это лишь особенность тотальных списков, в данный момент вообще никак не влияющая на работу утилиты).

#399:  Author: FlasherLocation: Москва PostPosted: Tue Nov 06, 2018 02:07
    —
Проверка на слэш в первой строке списка даёт представление, что это не/папка (если первое, то блочим нижний комбобокс), в отличии от %S1 дёргать ФС на атрибут не нужно. Утилита сделана для Тотала. А раз у него есть такая особенность, почему бы ей не воспользоваться?

#400:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 06, 2018 09:16
    —
Только сейчас понял, о чём ты умолчал, что подразумевал как само собой разумеющееся - что в списке всегда сначала идут папки, а потом файлы (это, пожалуй, всегда справедливо для тотала, но не обязательно в общем случае). Ладно, добавлю проверку типа первого элемента списка и блокировку выбора типов ссылок на папки, если это файл.

#401:  Author: FlasherLocation: Москва PostPosted: Tue Nov 06, 2018 09:36
    —
Я был уверен, что тебе, как опытному Тоталовцу, рассказывать о строгом порядке следования в ТС папок перед файлами не придётся.
Под общим случаем ты понимаешь другие ФМ? Можно по классу главного окна проверять те, у которых схожая особенность.

#402:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 06, 2018 10:51
    —
Я не так часто пишу скрипты, которые затачиваются на порядок объектов в списках))

Под общим случаем я подразумеваю просто составленный руками или неким скриптом список, в котором файлы и папки вполне могут идти вперемешку.

Привязываться к классу окна - не самое хорошее решение, т.к. не всегда можно точно определить источник списка. Например, утилита может запускаться из того же тотала, но через промежуточный скрипт.


В общем, добавил проверку первого и последнего объекта в списке и блокировку комбобоксов с типами и счётчика уровней в однозначных случаях (и уточнил в Readme, что в списке сначала должны идти папки).

NTLinks Maker 1.4.0.392
+ блокировка некоторых диалоговых элементов, когда список не содержит файлов или папок (ленивый вариант, предполагается, что в списке сначала идут папки)
* подгонка некоторых диалоговых элементов

#403:  Author: FlasherLocation: Москва PostPosted: Tue Nov 06, 2018 11:22
    —
Спасибо.
MVV wrote:
и последнего объекта в списке
Хм. Ты вроде как отмёл блокировку бокса для файлов. Shocked >>>
MVV wrote:
И потом, если в списке только папки, выбор типов ссылок для файлов блокировать нельзя - они могут быть внутри при дублировании части уровней каталогами.
Что изменилось?

MVV wrote:
подгонка некоторых диалоговых элементов
Что-то ширина окна не особо изменилась. 37 писелей на 100 как-то совсем не тянут.

#404:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 06, 2018 12:28
    —
Quote:
Хм. Ты вроде как отмёл блокировку бокса для файлов.

Костыль, так с ручкой из слоновой кости. Very Happy Хотя, костыль тут - только предположение, что сначала в списке всегда идут папки.

Quote:
Что изменилось?

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

Quote:
Что-то ширина окна не особо изменилась. 37 писелей на 100 как-то совсем не тянут.

Я уменьшил лейблы и расширил комбобокс, но небольшой запас оставил.

#405:  Author: FlasherLocation: Москва PostPosted: Tue Nov 06, 2018 13:06
    —
Quote:
а если выбираешь ненулевое - блокировка снимается.
Ага. Т.е. проверка имеется. Гуд.
Quote:
Я уменьшил лейблы и расширил комбобокс, но небольшой запас оставил.
Расширения комбобокса не наблюдаю. Что за лейблы? Убрал бы 100 px, везде было бы ОК.

#406:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 06, 2018 15:42
    —
Quote:
Ага. Т.е. проверка имеется. Гуд.

Максимально простая проверка. Не сканирую вложенные папки. Smile

Quote:
Расширения комбобокса не наблюдаю. Что за лейблы? Убрал бы 100 px, везде было бы ОК.

Под лейблами я имел в виду текст слева от комбобоксов (название от класса TLabel из дельфи, который для таких целей используется - хотя я и не любитель дельфей). В билде 384 комбобоксы заметно шире, чем в 370, а в 392 - ещё чуть шире, чем в 384. При этом ширина диалога а 392 лишь чуть шире, чем в 370. Лейблы в 392 на 20% уже, чем в 370 и 384, это 45 пикселей при 100% масштабе на Win7 с классической темой.

#407:  Author: FlasherLocation: Москва PostPosted: Tue Nov 06, 2018 16:23
    —
Изменяю в класс. схеме в редакторе.
Расстояние между лейблами и комбобоксами стало на 52 px (125-73) меньше. Комбобоксы увеличились на 17 px. Окно уменьшилось на 35 px.
100 + 17 - 52 = 65. Вот эти 65 px можно легко урезать для всех языков.

#408:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 06, 2018 17:30
    —
Я не буду урезать лейблы впритык, т.к. на разных языках, шрифтах и масштабах шрифтов ширина текста разная, и лучше пусть будет небольшой запас, чем текст будет обрезаться.

#409:  Author: FlasherLocation: Москва PostPosted: Wed Nov 07, 2018 09:17
    —
Ладно. Переживём как-нибудь.
По поводу "само собой разумеещихся умолчаний".
В v1.4 при выборе одного объекта вторая опция не отмечается. А при ручной отметке и выполнении вываливается окно про отсутствие звёздочки перед именем. Зачем это сделано? И откуда, собственно, этой звёздочке взяться? Ерунда какая-то...

И почему поле этой опции перестало быть доступным для правки с первого раза (только при ручном снятии и постановке)?

И вообще предыдущее название опции мне казалось более логичным (Сохранять ..., а не Определять ...), в предупреждающем окне написано верно.

#410:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 07, 2018 10:31
    —
Quote:
В v1.4 при выборе одного объекта вторая опция не отмечается. А при ручной отметке и выполнении вываливается окно про отсутствие звёздочки перед именем. Зачем это сделано? И откуда, собственно, этой звёздочке взяться? Ерунда какая-то...

Осталось лишь разобраться, что такое "вторая опция"...
Когда объект всего один, в поле пути назначения отображается сразу полный путь к объекту-ссылке, поэтому в базовом каталоге особого смысла просто нет, а дополнительные уровни можно навесить, редактируя путь.
Звёздочку ты при большом желании можешь сам прописать вместо имени, тогда можно будет использовать базовый каталог.
Readme wrote:
Для сохранения взаимного расположения объектов относительно некоторого каталога (см. опцию /r), маска имени ссылки должна начинаться со *, а также должна быть включена соответствующая опция.


Quote:
И почему поле этой опции перестало быть доступным для правки с первого раза (только при ручном снятии и постановке)?

Вижу косяк, если объектов несколько, галка ставится, а поле остаётся заблокированным.

Quote:
И вообще предыдущее название опции мне казалось более логичным (Сохранять ..., а не Определять ...), в предупреждающем окне написано верно.

Ага, недоделка в Russian.lng, в экзешнике правильно.

Добавлено спустя 53 минуты:

Спасибо за репорты, поправил локализацию и баг с разблокировкой поля, также сделал-таки проверку типов всех элементов (26 тысяч объектов у меня проверяются где-то за 3 секунды).

NTLinks Maker 1.4.0.396

#411:  Author: FlasherLocation: Москва PostPosted: Wed Nov 07, 2018 12:24
    —
Quote:
Осталось лишь разобраться, что такое "вторая опция"...
Скорее осталось разобраться, как досчитать до двух, просматривая опции в логике чтения сверху сниз слева направо. Wink

Quote:
поэтому в базовом каталоге особого смысла просто нет, а дополнительные уровни можно навесить, редактируя путь.
Почему это не имеет? Я выбрал каталог или пару, нажал Ctrl+Shift+B, файлы отобразились на неизвестной мне глубине. Я хочу перенести один нужный файл с сохранением относительной структуры. Мне ещё какую-то правку вдобавок делать? Да и где её делать? В поле второй опции? Так там окно про звёздочку. Вручную каталоги набивать? Confused

Quote:
Звёздочку ты при большом желании можешь сам прописать вместо имени
Куда я её могу прописать, если используется список (@%WL), а не маска имён?

Остальное теперь в порядке. Правда, неясно, зачем тогда было расширять комбобоксы, если таки выбрал "символьные", а не "символические".

#412:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 07, 2018 13:27
    —
Quote:
Скорее осталось разобраться, как досчитать до двух, просматривая опции в логике чтения сверху сниз слева направо.

Я называю "опциями" главным образом переключатели, но никак не поля ввода, особенно обязательные (т.е. не опциональные).
В общем, у каждого своё понятие "опции", поэтому чем понятнее сформулирована мысль, тем корректнее она будет понята, в данном случае словесное описание "опций" значительно предпочтительнее субъективной нумерации (вспомнил "съезды" на кольцах в навигаторах: каждый навигатор нумерует их по-своему, и хрен поймёшь, куда именно съезжать, если тебе сказали "третий съезд", а ты не смотришь на экран). Smile

Quote:
Куда я её могу прописать, если используется список (@%WL), а не маска имён?

В поле ввода пути вместо имени файла/папки, точно так же, как она прописывается туда в случае нескольких выделенных объектов. Выделен один объект - там предлагается D:\regedit.exe, выделено более одного объекта - там предлагается D:\*.*. Дополнительные уровни будут добавляться перед звёздочками. Если в поле прописан полный путь, непонятно, куда их добавлять.

Quote:
Почему это не имеет? Я выбрал каталог или пару, нажал Ctrl+Shift+B, файлы отобразились на неизвестной мне глубине. Я хочу перенести один нужный файл с сохранением относительной структуры. Мне ещё какую-то правку вдобавок делать? Да и где её делать? В поле второй опции? Так там окно про звёздочку. Вручную каталоги набивать?

Могу разве что добавить опцию, чтобы и при одном элементе в поле пути назначения отображалась звёздочка вместо имени, но тогда неудобно будет задавать имя ссылки, т.к. его придётся вместо звёздочки писать. Умные мысли приветствуются.

Quote:
Правда, неясно, зачем тогда было расширять комбобоксы, если таки выбрал "символьные", а не "символические".

Главным образом, чтобы 5-е варианты нормально умещались в комбобоксах и не упирались в границу (вариант с "символическими" практически впритык даже при такой ширине).

#413:  Author: FlasherLocation: Москва PostPosted: Wed Nov 07, 2018 14:38
    —
Насчёт условной нумерации опций убедил. Точнее это я не обратил внимания, что чекбокса у первого поля нет.

Quote:
В поле ввода пути вместо имени файла/папки
Так вместо или перед? У меня "вместо" не работает. Пишет "Ошибка создания ссылки" при замене всего пути или при замене только имени создаёт ссылку с обрезанным до точки/пробела именем. Честно говоря, совсем неюзабильно ставить курсор перед именем в пути. Плюс ко всему, никто не отменял тихий режим, где требуется сохранение относительности. Т.е. речь должна идти о строке параметров, а не диаложном поле ввода.
Quote:
Дополнительные уровни будут добавляться перед звёздочками.
Вот это вообще не понял. Приведи пример, пож-та.
Quote:
Умные мысли приветствуются.
Умная мысль банальна — сохранять относительность для 1 объекта по умолчанию. Она же нигде не вредит по сути и вписывается в текущую логику /r. Не хочешь сохранять структуру, не используй /r. Всё просто как день.

Quote:
вариант с "символическими" практически впритык даже при такой ширине
Не наблюдаю. Там ещё есть место.

Last edited by Flasher on Wed Nov 07, 2018 16:13; edited 1 time in total

#414:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 07, 2018 16:12
    —
Quote:
Не наблюдаю. Там ещё есть место.

Да, есть небольшой (у меня это 23 пикселя) запас на случай разных языков и масштабов шрифтов.

Quote:
Вот это вообще не понял. Приведи пример, пож-та.

Когда объект один, поле пути назначения обычно содержит его новый полный путь без маски, и юзер видит путь таким, какой он получится после нажатия ОК. А откусывание базовой части пути подразумевает переменную конечную часть пути (имена конечных файлов/каталогов и промежуточных каталогов), и чтобы не вносить путаницу, оно работает, только когда вместо имени файла стоит * (или *.*). И умная мысль тут нужна такая, которая позволит адекватно понимать, чего хочет юзер при вызове утилиты с одним объекта - сохранения относительности или отображения имени этого объекта в поле, чтобы можно было легко его отредактировать перед нажатием ОК (например, я хочу сделать ссылку для папки МояПапкаСДлиннымИменем1 и назвать её $МояПапкаСДлиннымИменем1, и при текущем раскладе мне достаточно добавить символ $ к имени, потому что оно уже в поле ввода). В идеале, при одной и той же командной строке (т.к. заводить разные команды на эти два случая неудобно).

Quote:
Так вместо или перед? У меня "вместо" не работает.

Запускаешь утилиту, жмешь F5 или F6 пару раз, чтобы выделилось имя файла, вводишь * вместо него и активируешь опцию сохранения базовой части пути - будет тот эффект, который тебе нужен. Можно в комстроке добавить * в конец пути назначения и параметр /n (получится что-то вроде /n /r="%P" "@%WL" "%T*"), чтобы отключить выкусывание имени файла - так в качестве имени файла всегда будет *, но всё равно опция сохранения базовой части пути отключится для одного объекта.

#415:  Author: FlasherLocation: Москва PostPosted: Wed Nov 07, 2018 17:29
    —
Quote:
сохранения относительности или отображения имени этого объекта в поле, чтобы можно было легко его отредактировать
Мысль понятна. Тогда есть простой вариант: убрать путь, оставив только имя. Можно только при наличии /r.

Quote:
будет тот эффект, который тебе нужен.
Я выше писал:
Flasher wrote:
при замене только имени создаёт ссылку с обрезанным до точки/пробела именем.

Quote:
но всё равно опция сохранения базовой части пути отключится для одного объекта.
Вот именно.

#416:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 07, 2018 18:44
    —
Quote:
Мысль понятна. Тогда есть простой вариант: убрать путь, оставив только имя. Можно только при наличии /r.

Оставить только имя где? Начальная часть пути назначения же в любом случае нужна.

Quote:
Я выше писал:

Не понял, подробнее опиши. Запускаю по Alt+F6 утилиту для одной папки, жму F6, чтобы выделилось имя папки целиком, заменяю на * (получается в поле что-то вроде C:\Path\*), потом активирую опцию сохранения пути относительно базы и удаляю часть последних имён каталогов из базового пути, создаётся ссылка с исходным именем папки, вложенная как ожидалось в папки, имена которых я удалил.

#417:  Author: FlasherLocation: Москва PostPosted: Wed Nov 07, 2018 19:45
    —
Quote:
Начальная часть пути назначения же в любом случае нужна.
А, тоже для правки. Никогда не пользовался.
Quote:
сохранения относительности или отображения имени этого объекта в поле
А в чём конкретно проблема? Что мешает править имя при включённой опции?
Quote:
Не понял, подробнее опиши.
У меня обрезка происходит даже если опция не отмечена. С обеих сторон корни дисков, вызываю с параметрами /s /n /r="%P" "@%WL" "%T*" — ссылка создалась без расширения.

#418:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 07, 2018 22:47
    —
Quote:
У меня обрезка происходит даже если опция не отмечена.

Взял твою комстроку, пробовал файлы и каталоги, с расширением и без, с сохранением пути относительно базы и без него, нигде ничего не обрезалось, расширение передавалось, где оно было. Приведи подробный сценарий.

Quote:
А в чём конкретно проблема? Что мешает править имя при включённой опции?

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

#419:  Author: FlasherLocation: Москва PostPosted: Thu Nov 08, 2018 06:10
    —
Quote:
Приведи подробный сценарий.
А что можно ещё привести? Название файла любое. File.txt, например. Путь запуска пуст. Воспроизводится в любом из панельных режимов. Win 7 x86. Остальное вроде всё указал.
И, естественно, мы говорим о полной замене имени, а не базовой.

Quote:
будет весьма странно на выходе получить иной путь, в котором куда-то ещё вставлены дополнительные уровни.
А с постановкой звёздочки не странно?

#420:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Nov 08, 2018 09:04
    —
Quote:
А что можно ещё привести? Название файла любое. File.txt, например. Путь запуска пуст. Воспроизводится в любом из панельных режимов. Win 7 x86. Остальное вроде всё указал.

Непонятно, где лежит файл и что в полях диалога должно быть введено. Положил файл в корень диска, ссылка создается с расширением. Положил в папку 3 уровня, ссылка создается с расширением как при запуске утилиты из папки с файлом, так и при запуске из вышестоящей папки и выборе файла после Ctrl+Shift+B.

Quote:
А с постановкой звёздочки не странно?

Нет, т.к. звёздочка подразумевает вставку на её место фрагмента пути к исходному файлу (обычно - только последнего имени, в данной ситуации - возможно, также и нескольких более высоких, но звёздочка на то и звёздочка, чтобы раскрываться в нечто произвольное).

#421:  Author: FlasherLocation: Москва PostPosted: Thu Nov 08, 2018 09:38
    —
Quote:
Непонятно, где лежит файл
Я же писал про корни.
Quote:
и что в полях диалога должно быть введено.
Если бы было что-то введено, то об этом бы и шла речь.


Про звёздочку понял. Тогда остаётся ключ принудительной отметки (без указания звёздочки).
Можно, конечно, разделить первое поле надвое (путь/имя), но на это ты вряд ли отважишься.

#422:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Nov 08, 2018 12:22
    —
Имею файл D:\File.txt, создаю ссылку как C:\*, независимо от состояния опции сохранения пути относительно базы ссылка получается с расширением.

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

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

ЧЯДНТ?

#423:  Author: FlasherLocation: Москва PostPosted: Thu Nov 08, 2018 12:35
    —
Ты у меня спрашиваешь? Разработчик кто из нас, чтобы реагировать на демонстрацию? Rolling Eyes

Возможно, проблема в GetModuleFileNameW у kernell32.dll разных версий на системах x86/64. У shell32.dll, например, тоже такая проблемка с именами имеется.

#424:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Nov 08, 2018 13:43
    —
Quote:
Возможно, проблема в GetModuleFileNameW у kernell32.dll разных версий на системах x86/64.

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

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

И билд это точно 396?

#425:  Author: FlasherLocation: Москва PostPosted: Thu Nov 08, 2018 14:03
    —
С расширением.
Точно.

И, как ты понимаешь, при указании расширения (*.ext или *Name.ext) никаких проблем.

#426:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 09, 2018 16:07
    —
Нашёл недостающее звено: тотал должен быть запущен с повышенными правами, чтобы ссылки создавались основным процессом, а не дополнительным. После подтверждения повышения дополнительный процесс создает ссылку с расширением.

И сразу понял, почему так: маска * копирует без расширений, как и сам тотал. Чтобы были расширения, маска должна быть *.*. Это описано в Readme, но я позабыл об этом.


Last edited by MVV on Fri Nov 09, 2018 18:16; edited 1 time in total

#427:  Author: FlasherLocation: Москва PostPosted: Fri Nov 09, 2018 16:44
    —
Пример основного и дополнительного можешь привести?

#428:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 09, 2018 16:55
    —
Основной процесс - который показывает тебе окошко. Дополнительный - который запускается с повышенными правами, когда ты нажимаешь Повтор в окне с сообщением об ошибке. Ему передаются все необходимые параметры, чтобы он мог продолжить работу с того объекта, на котором остановился основной процесс.

#429:  Author: FlasherLocation: Москва PostPosted: Fri Nov 09, 2018 18:06
    —
Не понял, как может относиться окно с сообщением об ошибке к моему случаю?

#430:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 09, 2018 18:17
    —
Не окно с сообщением, а факт наличия у интерактивного процесса прав на создание симлинков. Если у интерактивного (который показывает диалог) процесса NTLinksMaker хватает прав на создание симлинков, он их создаёт, а если нет - запускает повышенную копию и передаёт ей параметры. И в этих параметрах маска не передаётся, что приводит к неконсистентному поведению.

#431:  Author: FlasherLocation: Москва PostPosted: Fri Nov 09, 2018 18:35
    —
Т.е. ты хочешь сказать, что у процесса в моих условиях с админским профилем и отключённым UAC может не хватать прав?

#432:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 09, 2018 21:49
    —
У тебя их как раз хватает) а у меня со включенным UAC - нет, потому и не мог понять, что у тебя не так работает.

#433:  Author: FlasherLocation: Москва PostPosted: Sat Nov 10, 2018 00:24
    —
Но при этом:
Quote:
а если нет - запускает повышенную копию и передаёт ей параметры. И в этих параметрах маска не передаётся
Так как хватает, если маска не передаётся?

Что с отметкой опции решил в итоге?

#434:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Nov 10, 2018 12:33
    —
Прав у тебя хватает у основного процесса на создание симлинков. Поэтому второй не запускается, маска не теряется, ссылка создаётся без расширения в полном соответствии с маской.

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

С опцией - параметр надо добавить, при котором из одного файла не будет выделяться имя, и тогда будет работать сохранение пути относительно базы для любого числа объектов.

#435:  Author: FlasherLocation: Москва PostPosted: Sat Nov 10, 2018 12:51
    —
С правами ясно.
Quote:
из одного файла не будет выделяться имя
Куда и как выделяться? Имя же править нужно.

Как насчёт установки символа [*!~^<>#@] между /r= и "%P"? Или : вместо = как вариант для установки флажка?

#436:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Nov 11, 2018 16:34
    —
Не, это скорее должно относиться к параметру /n, отвечающему за наличие имени файла в параметре пути назначения. Или отдельно идти. Ведь основной смысл параметра будет про запрет выделения имени из пути назначения. То, что при этом не будет отключаться опция сохранения относительного пути - уже сопутствующее поведение.

Quote:
Куда и как выделяться? Имя же править нужно.

Я имею в виду, что в первом поле ввода в случае одного файла будет то же, что и в случае двух файлов - путь назначения и маска *.*.

#437:  Author: FlasherLocation: Москва PostPosted: Sun Nov 11, 2018 17:06
    —
Так мы говорим о новом параметре. С маской *.* и сейчас работает. А нужно оставлять имя одного объекта для правки. Сам же писал.

#438:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Nov 12, 2018 10:08
    —
С маской *.* сейчас надо ручками галочку ставить на поле с базовым путем, чтобы он сохранялся, так ведь? Хм, а ведь можно просто проверять наличие * в пути из комстроки, тогда и новый параметр не понадобится)))

Оставлять имя одного объекта и сохранять базовый путь для одного объекта - это две операции, которые я на данный момент не знаю, как красиво объединить, поэтому будет либо одно (как сейчас), либо другое (с указанием * в целевом пути).

Добавлено спустя 2 часа 51 минуту:

Сделал проверку на шаблонность имени при указании /n для активации опции сохранения базового пути, а также поправил передачу маски в дочерний процесс.

NTLinks Maker 1.4.0.400

#439:  Author: FlasherLocation: Москва PostPosted: Mon Nov 12, 2018 18:59
    —
Гуд! Теперь опция отмечается.
Quote:
на данный момент не знаю, как красиво объединить
Предлагаю, чтобы некий ключ отключал просмотр/правку пути в первом поле. Т.е. чтобы там было только имя. Лично я никогда не правил путь и не понимаю, зачем это надо, если мы уже параметром его передали (как другую панель, например, путь к которой и так виден в ТС). Или, как я предлагал, разделить поле надвое (путь/имя) в одной строке, где для правки первого поля будет чекбокс, устанавливаемый ключом.

По поводу названия второго поля. Слово "пути" сбивает с толку. Сохранять-то нужно цепочки каталогов или части путей.

#440:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 13, 2018 11:00
    —
Разделять поле на два - вообще не вариант. Убирать из него путь - тоже. Диалог сделан похожим на тоталовские диалоги копирования/перемещения, где для одного элемента отображается путь и имя (часто при копировании папок не хватало отображения имени), для нескольких - путь и маска.

Quote:
По поводу названия второго поля. Слово "пути" сбивает с толку. Сохранять-то нужно цепочки каталогов или части путей.

В тоталовском диалоге копирования эта опция названа именно так и делает примерно то же самое. Но если в оригинале она называется "Keep relative paths (relative to current directory)" с повтором слова relative, то в русском варианте "Сохранять пути относительно текущего каталога" повтора нет, масло не масляное.
Впрочем, возможно стоит заменить "пути" на "части путей".

#441:  Author: FlasherLocation: Москва PostPosted: Tue Nov 13, 2018 11:58
    —
Quote:
Разделять поле на два - вообще не вариант. Убирать из него путь - тоже.
Т.е. съедать имя — вариант, а съедать путь — нет? Как-то предвзято, с учётом опциональности обоих.

Quote:
Впрочем, возможно стоит заменить "пути" на "части путей".
Стоит. Ориентироваться на оригинал вообще нет смысла (там хватает ляпов), а русский перевод периодически подвергается соизмеримой с точной логикой поведения коррекции.

#442:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 13, 2018 17:54
    —
Имя я не съедаю, а обобщаю, как тотал для одиночной папки, и то только в новом режиме, ты по-прежнему можешь написать имя в поле, а можешь вообще из буфера вставить полный путь.

#443:  Author: FlasherLocation: Москва PostPosted: Tue Nov 13, 2018 18:13
    —
Вот именно (как и в предложенном случае с путём) — написать заново или скопипастить (что при блокировке не годится), а не отредактировать нужную часть (например, окончание). Маска *.* съедает имя. Можно это съедание называть обобщением, суть от этого не изменится.

#444:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 13, 2018 18:23
    —
Предложи хорошую мысль, как их объединить. Wink

#445:  Author: FlasherLocation: Москва PostPosted: Tue Nov 13, 2018 22:20
    —
Хорошая мысль в моём понимании, как показала практика, далеко не всегда сопоставима с хорошей в твоём. Я и так уже несколько вариантов предложил.
Остался последний: Мочить/блокировать второе поле при /r="%P", запихивая относительный путь в первое поле перед именем. Idea

#446:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 14, 2018 09:25
    —
Quote:
Хорошая мысль в моём понимании, как показала практика, далеко не всегда сопоставима с хорошей в твоём. Я и так уже несколько вариантов предложил.

Да, я не хочу костыли прикручивать или ломать интерфейс ради какой-то мелочи. Пока не было варианта, который бы всех устроил.

Quote:
Остался последний: Мочить/блокировать второе поле при /r="%P", запихивая относительный путь в первое поле перед именем.

Если объект один, то и правда можно предлагать уже откорректированный путь. Вот только тогда нельзя будет выключить эту функцию в диалоге. Сейчас в последний момент можно снять галку, и ссылка будет создана прямо в целевой папке, даже если из Ctrl+B. А если путь уже будет со вложенными папками, это станет проблемой.

#447:  Author: FlasherLocation: Москва PostPosted: Wed Nov 14, 2018 12:28
    —
Quote:
Вот только тогда нельзя будет выключить эту функцию в диалоге.
Почему нельзя-то? Комбобоксы же лочишь. Что мешает её так же лочить?

#448:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 14, 2018 13:04
    —
Как можно залочить уже вставленный частичный путь в поле ввода пути назначения, если юзер в данный момент хотел сделать ссылки без сохранения относительного пути?

#449:  Author: FlasherLocation: Москва PostPosted: Wed Nov 14, 2018 13:08
    —
А. Ты о первом поле. А оно надо? Тут подразумевается ручная правка. Ты же ключ установил, значит, путь, если понадобится, будешь корректировать вручную в нужной тебе части. Отключение тут и не требуется.

#450:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 14, 2018 14:22
    —
Я же правильно понял твоё предложение?

Quote:
Ты же ключ установил, значит, путь, если понадобится, будешь корректировать вручную в нужной тебе части. Отключение тут и не требуется.

Я создаю юзер-команду и вешаю её на хоткей, я её вообще не меняю, использую в любой ситуации, иногда хочу создавать ссылки в целевой папке, иногда с сохранением иерархии из Ctrl+B, и сейчас это удобно переключается галочкой.

#451:  Author: FlasherLocation: Москва PostPosted: Wed Nov 14, 2018 14:42
    —
Quote:
иногда хочу создавать ссылки в целевой папке, иногда с сохранением иерархии из Ctrl+B

Если ты задал ключ, то ты всегда "хочешь" сохранять иерархию.
Путь в первом поле подвергается правке независимо от опции. Какая разница, в какой части он будет правится?
Нет, если тебе, конечно, не лень, ты можешь сделать автоправку поля (аля settext в TCFS2) с удалением/вставкой относительного пути перед именем (только чекбокс придётся переименовать и разместить по отношению к обоим полям, а лучше даже кнопку с маркером нажатости сделать). Но можно и без этого.

#452:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Nov 15, 2018 10:25
    —
Quote:
Если ты задал ключ, то ты всегда "хочешь" сохранять иерархию.

Вот нет, я задал ключ, чтобы мог при необходимости сохранить иерархию. Когда я выделяю всего один элемент (неважно, в обычной панели или по Ctrl+B), я чаще всего хочу сделать для него ссылку прямо в противоположную панель.

Quote:
Путь в первом поле подвергается правке независимо от опции. Какая разница, в какой части он будет правиться?

Сейчас нет необходимости править путь, правке подвергается только имя целевого объекта, если это нужно в конкретной ситуации. Но снять галку для отключения внедрения дополнительных каталогов и полезть поредактировать путь - это разные по трудоемкости задачи, поэтому разница есть.

Автоправки, как показывает опыт, зачастую только создают проблемы, когда лезут невовремя. Хотя, пожалуй, шаблон в поле ввода телефона в онлайн-сбербанке бесит куда больше. Very Happy

Крайне не хочется ещё более усложнять окно, оно и так перегружено...

Есть мысль добавить псевдо-уровень * для указания места вставки дополнительных путей, чтобы можно было оставить имя файла, но оставить всё как есть, если этот элемент не указан:
Code:
X:\Target\Path\*\File.ext - тут есть имя и можно сохранять относительный путь
X:\Target\Path\File.ext - тут есть имя, но относительный путь сохранять нельзя

#453:  Author: FlasherLocation: Москва PostPosted: Thu Nov 15, 2018 12:43
    —
Quote:
Сейчас нет необходимости править путь, правке подвергается только имя целевого объекта
Т. е. нет необходимости? А для чего он там нужен тогда? Чтобы был? >>>
Quote:
Начальная часть пути назначения же в любом случае нужна.

Quote:
Автоправки, как показывает опыт, зачастую только создают проблемы, когда лезут невовремя.
А ты сделай для случаев, когда вовремя.
Quote:
Крайне не хочется ещё более усложнять окно, оно и так перегружено...
В какой части усложнять? Переместить/переименовать чекбокс или заменить на кнопку — это "усложнять"?

Последнее предложение вообще не понял. Без относительного пути будет двойной бэкслеш, который вручную править придётся?
И как это скажется на опции, тоже неясно. Мой вариант для ключа кажется и то посимпатичней.

#454:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Nov 15, 2018 16:30
    —
Quote:
Т. е. нет необходимости? А для чего он там нужен тогда? Чтобы был? >>>

Ты написал, что путь подвергается правке безусловно, а я уточнил, что его править необязательно, хотя и можно при необходимости.

Quote:
В какой части усложнять? Переместить/переименовать чекбокс или заменить на кнопку — это "усложнять"?

Переместить куда? Переименовать во что? Кнопку какую? Которая делает хорошо?

Quote:
Без относительного пути будет двойной бэкслеш, который вручную править придётся?

Если в поле есть \*\, то подстановка относительного пути возможна в этом месте, если нету, как раньше - возможна только если маска начинается со *. Вбить эту дополнительную * можно прямо в комстроке. Если сохранение относительного пути не используется или относительный путь пустой, * выбрасывается с лишними слэшами (но даже если не выбрасывать их, повторяющиеся слэши игнорируются файловой системой).

Flasher wrote:
Мой вариант для ключа кажется и то посимпатичней.

Твой вариант не решает проблемы вставки дополнительных уровней в случае, когда объект один, и в поле указано его имя. Напоминаю, при неизменной юзеркоманде хочется иметь возможность сохранять/не сохранять относительные пути, видеть/править имя одиночного объекта и маску для нескольких объектов.

#455:  Author: FlasherLocation: Москва PostPosted: Thu Nov 15, 2018 19:40
    —
Quote:
Переместить куда? Переименовать во что? Кнопку какую? Которая делает хорошо?
Переместить на самый верх. Или просто центрировать в окне. Переименовать, например, в "Добавить относительные пути при наличии". Кнопку и так написал какую. Тот же чекбокс, только удобней.
MVV wrote:
но даже если не выбрасывать их, повторяющиеся слэши игнорируются файловой системой.
Ну, допустим. А почему бы при указании \*\ в параметрах комстроки не вставлять автоматически этот относительный путь для одного выбранного объекта?

#456:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 16, 2018 10:04
    —
Quote:
Кнопку и так написал какую. Тот же чекбокс, только удобней.

А отжать кнопку потом как, если нажал и передумал? Не сказал бы, что кнопка удобнее для переключаемой опции.

Quote:
А почему бы при указании \*\ в параметрах комстроки не вставлять автоматически этот относительный путь для одного выбранного объекта?

Я же писал, почему:
MVV wrote:
Вот только тогда нельзя будет выключить эту функцию в диалоге. Сейчас в последний момент можно снять галку, и ссылка будет создана прямо в целевой папке, даже если из Ctrl+B. А если путь уже будет со вложенными папками, это станет проблемой.

#457:  Author: FlasherLocation: Москва PostPosted: Fri Nov 16, 2018 11:17
    —
Quote:
А отжать кнопку потом как, если нажал и передумал?
Отжал — отн. путь, если присутствует целиком, "вырезался", нажал — вставился. Действовать через чтение пути (имя игнорировать) и полную замену содержимого поля.
Quote:
Не сказал бы, что кнопка удобнее для переключаемой опции.
Т.е. ты предпочёл бы малюсенькие чекбоксы вместо switch-кнопок на тулбаре ТС? Confused

#458:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 16, 2018 11:45
    —
У кнопки в стандартном её понимании нет фиксации нажатого состояния. Несколько состояний - это чекбоксы и радиокнопки. А пытаться по нажатию на кнопку вставлять или вырезать что-то из текста в поле ввода - это кошмар.

Quote:
Т.е. ты предпочёл бы малюсенькие чекбоксы вместо switch-кнопок на тулбаре ТС?

Эти кнопки нельзя нажать с клавиатуры, они не являются самостоятельными окнами и не могут иметь фокус. Большое описание на кнопке не разместить. Они в диалоговом окне выглядели бы дико.

#459:  Author: FlasherLocation: Москва PostPosted: Fri Nov 16, 2018 11:54
    —
Какой фиксации? Ты про отлов состояния? Или нарисовать нажатую кнопку не умеешь?
Насчёт кошмара хорошо бы обосновать. Не вижу принципиальной разницы с автоправкой заголовка окна или файловой панели, комстроки и т. д. Да и вообще автозамена с точки зрения автоматизации — удобная вещь.

Кнопки как нажимались, так и нажимаются с клавиатуры после фокусировки тулбара (Alt+Shift+F11) и вполне имеют фокус при навигации (Tab, [Ctrl+]Влево/Вправо). На кнопке не надо размещать описание, это не предлагалось. Достаточно маркера (напр., в виде мишени или большой галки).

#460:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 16, 2018 12:19
    —
Quote:
Или нарисовать нажатую кнопку не умеешь?

Не вижу смысла городить кучу кода ради отрисовки нажатой кнопки. Я не сторонник полностью нарисованных окон, мне нравятся классические диалоговые окна.

Quote:
Не вижу принципиальной разницы с автоправкой заголовка окна или файловой панели, комстроки и т. д.

Автоправка того, что пользователь не правит вручную - да, удобна. Но когда пользователь может как угодно отредактировать поле, а потом автоправка (и в нашем случае это никакая не автоправка, а правка по команде) должна что-то добавить или выкусить из этого...

Quote:
Да и вообще автозамена с точки зрения автоматизации — удобная вещь.

Иногда, а иногда - та ещё заноза. Например, когда навязывает то, что тебе не нужно, и тебе приходится быть готовым к тому, что может потребоваться сделать лишние телодвижения, чтобы отказаться.

Quote:
Кнопки как нажимались, так и нажимаются с клавиатуры после фокусировки тулбара (Alt+Shift+F11) и вполне имеют фокус при навигации (Tab, [Ctrl+]Влево/Вправо).

Это уже Гислер костыль прикрутил, кнопки стандартных тулбаров и дельфийские спид-кнопки не являются окнами и не имеют фокуса.

Вообще, мы говорим об очень конкретном примере - создании ссылки для единственного объекта, выбранного из подпапки в режиме Ctrl+B. Он не стоит того, чтобы ради него перекраивать весь интерфейс, нужен вариант, который гармонично впишется в имеющийся диалог.

#461:  Author: FlasherLocation: Москва PostPosted: Fri Nov 16, 2018 12:39
    —
Quote:
Но когда пользователь может как угодно отредактировать поле
Я назвал конкретные примеры — заголовок файловой панели и комстрока, которые вполне себе редактируются и автозаменяются.
Quote:
и в нашем случае это никакая не автоправка, а правка по команде
Это автоправка по нажатию.
Quote:
Например, когда навязывает то, что тебе не нужно, и тебе приходится быть готовым к тому, что может потребоваться сделать лишние телодвижения, чтобы отказаться.
А нет тут никакого навязывания. Есть соответвующая логике опциональная вставка/вырезка. И именно она позволяет НЕ делать лишние телодвижения с ручной прописью нужной части пути.
Quote:
Это уже Гислер костыль прикрутил
Ты, главное, ему об этом рассказать не забудь, а то, возможно, он не в курсе. Laughing Заодно про зелёную галку и красный крестик в Разном.
Кстати говоря, в ТС есть нефокусируемая кнопка-гвоздик для настроек перезаписи в диалоге копирования. И вроде ничего, пользуемся.

Quote:
Он не стоит того
Ладно, я уже давно понял, что тебя не убедить. Сделай сохранение имени и скрытого относительного пути с \*\ тогда. Всё же лучше, чем ничего.
Правда, не понимаю, что писать в параметрах. "%T*\" ? А имя само встанет?

#462:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 16, 2018 15:44
    —
Quote:
Ладно, я уже давно понял, что тебя не убедить. Сделай сохранение имени и скрытого относительного пути с \*\ тогда. Всё же лучше, чем ничего.
Правда, не понимаю, что писать в параметрах. "%T*\" ? А имя само встанет?

Предложениями перекроить весь диалог или видоизменять текст по кнопке - не убедить, нужно что-то более гармонично вписывающееся.
Да, в параметрах будет просто "%T*", ну и без /n, тогда имя само подставится.

#463:  Author: FlasherLocation: Москва PostPosted: Fri Nov 16, 2018 16:49
    —
А, ты хочешь, чтобы * включала сразу обе опции (имя и скрытый относительный путь для одиночника при /r)? И не "%T*\*.*" (возвращаясь к консистентности). Так с этого надо было начинать! Делай! Smile

#464:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 16, 2018 17:00
    —
Ну, /n "%T*\*.*" тоже можно, но будет работать так же, как и просто /n- "%T*", и как сейчас работает /n "%T*\*.*".
А что * будет включать, зависит от того, где она расположена:
Code:
X:\Path\*\*.*      -- первая * для вставки относительного пути, *.* для имени (такое будет предлагаться при /n "%T*\*.*")
X:\Path\*.*        -- тут *.* и для вставки относительного пути, и для имени (такое будет предлагаться при /n "%T*.*" или при "%T" для нескольких объектов, как и раньше)
X:\Path\*\File.ext -- * и для вставки относительного пути, имя задано явно (такое будет предлагаться по "%T*" на единственном объекте File.exe)

#465:  Author: FlasherLocation: Москва PostPosted: Fri Nov 16, 2018 17:12
    —
В каком смысле "включать"? Т. е. /n и \*.* тут условны, а программа сама будет их в таком ключе (без чтения в параметрах) обрабатывать?

#466:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 16, 2018 17:17
    —
Параметр /n указывает, что в переданном пути есть имя, в противном случае имя берется из объекта (если он один) или *.*.

#467:  Author: FlasherLocation: Москва PostPosted: Fri Nov 16, 2018 17:25
    —
Это не отвечает на мой вопрос. Что будет происходить по факту? В параметрах мы укажем "%T*" без /n, а в первом поле на конце появится *.*, *\*.* или *\File.ext?
Так? Делай. Только в справке разжевать не забудь.

#468:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 16, 2018 17:59
    —
Я же написал, что появится.
При "%T*" без /n в поле появится X:\Path\*\File.ext для одного объекта или X:\Path\*\*.* для нескольких, и опция сохранения относительных путей будет включена в обоих случаях.

#469:  Author: FlasherLocation: Москва PostPosted: Fri Nov 16, 2018 18:14
    —
Ты не написал что где-то (в первом поле, например) появится, ты написал, что будет включать. Это разные для понимания вещи.
На остальное можно было ответить одним словом "Да.".

#470:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Nov 16, 2018 18:35
    —
Дык в левой колонке написано содержимое первого поля, во второй - что будет включать *.

#471:  Author: FlasherLocation: Москва PostPosted: Fri Nov 16, 2018 18:37
    —
Не вижу там заголовка "Содержимое первого поля".
Flasher wrote:
Делай. Только в справке разжевать не забудь.

#472:  Author: FlasherLocation: Москва PostPosted: Wed Feb 13, 2019 13:55
    —
MVV
Так когда ждать обсуждённое?
Я тут ещё на ошибку напоролся, когда в именах исходных или целевых папок есть две точки, идущие подряд (типа \1..1\name.ext).

#473:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Feb 13, 2019 21:38
    —
Подробностей не хватает. В чем проявляется ошибка? В плагине или утилите? В каком месте?

#474:  Author: FlasherLocation: Москва PostPosted: Wed Feb 13, 2019 22:42
    —
Конечно, в утилите. О ней же разговор вёлся.
Открой %WinDir%\winsxs\ и отфильруй по 2-м точкам. Зайди в любой из оставшихся каталогов, выбери файлы и выполни кнопку с параметрами: /s? "@%WL" "%T"
В окне увидишь "Ошибка создания ссылки:" и "Отказано в доступе."

#475:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Feb 18, 2019 13:39
    —
Создался симлинк на C:\Windows\winsxs\amd64_microsoft.managemen..fcounters.resources_31bf3856ad364e35_7.1.7601.16398_ru-ru_b9362d29cade2de2\ModataPerfCounters.dll.mui. Скинь конкретный путь, с которым у тебя не работает.

#476:  Author: FlasherLocation: Москва PostPosted: Mon Feb 18, 2019 22:07
    —
Что-то пошло не так...
Слуйным образом выбирал, ошибка была. Сейчас не получается наткнуться. Confused

#477:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Feb 19, 2019 10:58
    —
Наткнешься - хватай и тащи сюда, изучим. Smile
Могло это быть связано с длиной пути, превышающей MAX_PATH? Там в winsxs некоторые пути крайне длинные... Но вроде и с длинными путями проблем быть не должно.

#478:  Author: FlasherLocation: Москва PostPosted: Tue Feb 19, 2019 13:44
    —
Да я бы с радостью.
Нет, длины путей были стандартные.
Что там по?:
MVV wrote:
Да, в параметрах будет просто "%T*", ну и без /n, тогда имя само подставится.

#479:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Feb 22, 2019 17:42
    —
Пока трудно сказать...

#480:  Author: FlasherLocation: Москва PostPosted: Sat Feb 23, 2019 09:57
    —
Плохо.

А причину выяснил. Дело не в точках, а в отсутствии у источника разрешения на запись (если это не TrustedInstaller), невзирая на не/совпадение тома.
Та же проблема при создании жёстких ссылок.
В то время как при создании только символических ссылок (3 пункт в выпадающем списке) проблемы нет.

#481:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Feb 25, 2019 11:23
    —
Не совсем понял, какое отношение к созданию ссылок может иметь отсутствие права на запись для объекта-источника... По-прежнему для объекта из winsxs ссылку создаёшь, или не важно? Поподробнее алгоритм можно, с конкретными путями?

Добавлено спустя 3 минуты:

Хотя, думаю, я понял, в чём дело. Создание жёсткой ссылки для объекта, доступного только на чтение, невозможно, т.к. жёсткая связь - это часть этого объекта, и для её создания нужна "правка" этого объекта.

Но в смешанном режиме на другой том для этого же объекта ссылка у меня создаётся - символьная.

#482:  Author: FlasherLocation: Москва PostPosted: Mon Feb 25, 2019 11:53
    —
MVV wrote:
Но в смешанном режиме на другой том для этого же объекта ссылка у меня создаётся - символьная.

Зайди в любую из папок Catalogs, FileMaps, ManifestCache, Manifests в C:\Windows\winsxs, выдели файлы и проверь.

#483:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Feb 25, 2019 12:13
    —
Утром я проверял для первой попавшейся папки из winsxs, сейчас проверил для файлов из подпапки Catalogs, на другой том в смешанном режиме создаются символьные ссылки.

Хм, забавно, независимо от того, запускаю ли я утилиту с админскими правами или нет, требуется нажатие кнопки Повтор - это какой-то баг. Но после нажатия кнопки Повтор ссылка создаётся.

#484:  Author: FlasherLocation: Москва PostPosted: Tue Feb 26, 2019 00:03
    —
Даже не пытался жать этот Повтор. С ним действительно создаётся.
Жду правки и запрошенной фичи. Rolling Eyes

#485:  Author: dev/null PostPosted: Wed Mar 06, 2019 14:36
    —
Версия 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}]

#486:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Mar 10, 2019 22:15
    —
Вообще, "All" транслируется в 0-й индекс, "0" - в 1-й и т.д., и потом плагин возвращает для 0-го индекса все ссылки, для 1-го - первую ссылку и т.д., а как с ними работает DC, я не знаю, ставить его для этого и пытаться отлаживать особо не охота, да и некогда. А в TC что для этого же файла возвращается для All, 0, 1, 2, ...? И для наглядности советую вокруг параметра добавить какие-нибудь символы. Я в TC проверил на тестовом файле такой тултип:
Code:
-: <[=ntlinks.Жесткие копии]>\nAll: <[=ntlinks.Жесткие копии.Все]>\n0: <[=ntlinks.Жесткие копии.0]>\n1: <[=ntlinks.Жесткие копии.1]>\n2: <[=ntlinks.Жесткие копии.2]>

В режиме по умолчанию и в All вижу две ссылки через запятую, 0 и 1 показывают эти ссылки отдельно. Это ожидаемое поведение.

#487:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun Jul 28, 2019 09:38
    —
С учётом этой реплики CaptainFlint (c которой я полностью согласен) в шапку темы внесены уточнения: теперь там указаны актуальные номера версий утилиты и плагина. Кстати, и в самой теме последняя ссылка для NTLinks Maker была на версию 1.4.0.400 (свежая версия NTLinks хотя бы в теме анонсировалась). Если автор решит обновить в шапке и содержательную часть — пусть сам посмотрит.

#488:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Jul 28, 2019 11:36
    —
Я стараюсь в шапках не указывать абсолютно точные версии, чтобы не обновлять шапку только ради правки пары младших цифр номера версии, т.к. последние "релизы" всегда выкладываю на wincmd.ru/totalcmd.net. Иногда просто повышение статуса до "релиза" происходит не сразу. Smile


Про последнее обновление в теме забыл отписаться.

NTLinks Maker 1.4.1.416:
+ опции CopyAttributesToLinks, FollowLinkDirLevels
+ дочерний процесс не запускается, если права администратора уже есть


Last edited by MVV on Sun Jul 28, 2019 15:00; edited 1 time in total

#489:  Author: FlasherLocation: Москва PostPosted: Sun Jul 28, 2019 12:02
    —
MVV wrote:
Иногда просто повышение статуса до "релиза" происходит не сразу.
Так а где добавка обсужаемой в ноябре фичи, чтобы был резон повышать?

MVV wrote:
дочерний процесс не запускается, если права администратора уже есть
Что за дочерний процесс?
Это исправлено, но про другое вроде:
MVV wrote:
требуется нажатие кнопки Повтор - это какой-то баг.

#490:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun Jul 28, 2019 22:25
    —
MVV
Позицию понимаю, но поскольку в данной шапке фигурирует "Информация о последней версии", я решил, что вводить народ в заблуждение всё-таки не стоит, а обновиться с 16-го года сейчас уже вполне можно Smile .

#491:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jul 29, 2019 16:05
    —
Flasher wrote:
Так а где добавка обсужаемой в ноябре фичи, чтобы был резон повышать?

В релизный (стабильный) статус переведена текущая версия, а фича будет в какой-нибудь новой версии. Smile

Flasher wrote:
Это исправлено, но про другое вроде:

Так что в итоге? Опиши проблемную ситуацию, далеко искать...

Avada,
Там же про стабильные версии, про тестовые я там не пишу. Smile

#492:  Author: FlasherLocation: Москва PostPosted: Mon Jul 29, 2019 16:12
    —
MVV wrote:
а фича будет в какой-нибудь новой версии.
Как скоро?
MVV wrote:
Так что в итоге?
Откуда мне знать, если ты на вопрос не отвечаешь?

#493:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jul 30, 2019 09:46
    —
Когда у утилиты не хватает прав и пользователь нажимает Повтор, запускается второй экзепляр утилиты с правами администратора и продолжает создание ссылок. Недавний фикс касался того, что второй процесс запускался, даже если первый и так имел права администратора.

По срокам не знаю пока. Успею на этой неделе тестовую версию выложить - можно будет потестировать. Не успею - не раньше второй половины августа, опять же точно не скажу когда.

#494:  Author: FlasherLocation: Москва PostPosted: Tue Jul 30, 2019 10:26
    —
Т.е. это другой был баг.
MVV wrote:
Опиши проблемную ситуацию, далеко искать...
Она уже непроблемная. Я же написал "исправлено". Только ты, видимо, забыл, как исправил, либо баг исчез в процессе исправления описанного тобой.
А искать недалеко — 2 последние страницы обсуждения. Коротко:
1. /s? "@%WL" "%T"
2. Выбрали файлы, где у источника нет разрешения на запись.
3. Запустили, подтвердили. Увидели диалог с необходимостью жать "Повтор".
Теперь этого бага нет. Было бы правильно указать на это в истории версий.

Надеюсь, на неделе успеешь выложить. Smile

#495:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jul 30, 2019 23:19
    —
Исправлено - и ладно) я её специально не исправлял вроде, сама поправилась. Smile

NTLinksMaker Beta 424

Собственно, перелопатил работу с масками имени/расширения и с базовым путём, чтобы всё было единообразно независимо от состояния опции /n.

Пример кнопки/команды, позволяющей сравнить поведение старой и новой версии в случае одного выделенного файла, если стереть часть конечных папок из базового пути:
Code:
Команда: "%COMMANDER_PATH%\Addons\NTLinksMaker\NTLinksMaker.exe" /q
Параметры: /q- /r="%P" "@%WL" "%T\*"

#496:  Author: FlasherLocation: Москва PostPosted: Wed Jul 31, 2019 00:56
    —
MVV wrote:
я её специально не исправлял вроде, сама поправилась.
Ну, ты в истории отметь хотя бы.

Да, сейчас вижу — имя у одиночника в режиме без подкаталогов остаётся. Гуд.

Но что-то у нас с какой-то версии тихий режим поломался:
/q /s? /r="%P" "@%WL" "%T*" — выпадает окно ошибки с кракозябрами у первых 4-х символов в пути назначения (в предыдущей версии создаёт папку с кракозябрами спереди в имени, а в ней ссылку с откусанным расширением), без звёздочки — молчит и ничего не создаёт.

#497:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Jul 31, 2019 11:36
    —
Спасибо, поправил баг с кракозябрами в случае одного объекта и баг с громким тихим режимом.

NTLinksMaker Beta 428

И твой предыдущий баг понятнее описал в истории.

#498:  Author: FlasherLocation: Москва PostPosted: Wed Jul 31, 2019 11:55
    —
Теперь при наличии /r="%P" в обычном режиме для любых ссылок зачем-то создаются родительские папки с базовым именем объекта вне зависимости от наличия /q и *.

#499:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Jul 31, 2019 13:21
    —
Поправил.

NTLinksMaker Beta 430

#500:  Author: FlasherLocation: Москва PostPosted: Wed Jul 31, 2019 14:00
    —
Вместе с постом — в третий раз. Wink
ОК. Баг исчез. Теперь почти всё отлично! Smile

Вот ещё что.
С:\меняем\тут\каталоги\*\FileName.ext — работает.
С:\*\меняем\тут\каталоги\FileName.ext — пишет:
Quote:
Сохранение путей относительно базового каталога будет отключено, т.к. имя файла не начинается со звёздочки.
Нельзя исправить?

И ещё бы хотелось в случае /q в "Команда:" и /q- в "Параметры:" автоматически пропускать одноимёнки как без /q-. В 15-ом ты делал это для [..].
Вдобавок было бы, конечно, здорово ключом /c добавлять счётчик к имени в случае, если одноимёнка не является ссылкой на объект.
Кстати, /q[-] стоит добавить в окошко при вызове без параметров.

#501:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Jul 31, 2019 23:44
    —
Quote:
Вместе с постом — в третий раз.

Да ты прямо считал! И не в третий, я после второго удалил пост и написал новый. Cool

Quote:
Нельзя исправить?

Я долго думал, есть ли смысл добавлять каталоги после звёздочки, и не нашёл этого смысла. Найдёшь - обсудим. Сейчас \*\ может стоять только перед маской имени файла.

Quote:
И ещё бы хотелось в случае /q в "Команда:" и /q- в "Параметры:" автоматически пропускать одноимёнки как без /q-.

Что за одноимёнки? Ты про автопереименование файлов, если таковые уже существуют? Или о чём вообще?

Quote:
В 15-ом ты делал это для [..].

Не понял, что есть 15 (год?) и что есть [..]...

#502:  Author: FlasherLocation: Москва PostPosted: Thu Aug 01, 2019 00:11
    —
MVV wrote:
Найдёшь - обсудим.
Смысл такой же как и перед \*\. Никакого преимущества у цепочки перед на цепочкой после скрытой под * нет. В равной степени полезно может быть и то и другое.
MVV wrote:
Ты про автопереименование файлов, если таковые уже существуют?
В цитате написано "автоматически пропускать". Про счётчик автопереименования написано уже следом.
MVV wrote:
Не понял, что есть 15 (год?) и что есть [..]...
Год. Только тогда касалось вызова справки, а сейчас — тихой работы в целом после создания ссылок с диалогом.

#503:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Aug 01, 2019 10:09
    —
Quote:
Смысл такой же как и перед \*\. Никакого преимущества у цепочки перед на цепочкой после скрытой под * нет. В равной степени полезно может быть и то и другое.

Нет, подожди. Вставлять уровни перед непосредственно маской имени - это переносить всю иерархию как есть в другое место, это вполне осмысленно. А вот указание дополнительных уровней - это уже нарушение иерархии. Я не вижу смысла во второй операции:

Code:
Базовая папка:
C:\Files

Исходные файлы:
C:\Files\ File1.txt
C:\Files\ Dir1\ Dir1File.txt
C:\Files\ Dir1\Dir2\ Dir12File.txt

Результат при создании ссылок в C:\FooFiles\*\*.*
C:\FooFiles\ File1.txt
C:\FooFiles\ Dir1\ Dir1File.txt
C:\FooFiles\ Dir1\Dir2\ Dir12File.txt

Результат при создании ссылок в C:\BarFiles\*\Bar\*.*
C:\BarFiles\ Bar\ File1.txt
C:\BarFiles\ Dir1\ Bar\ Dir1File.txt
C:\BarFiles\ Dir1\Dir2\ Bar\ Dir12File.txt


Quote:
В цитате написано "автоматически пропускать". Про счётчик автопереименования написано уже следом.

То есть, молча пропускать уже существующие объекты? А сейчас не так?

#504:  Author: FlasherLocation: Москва PostPosted: Thu Aug 01, 2019 10:25
    —
MVV wrote:
Я не вижу смысла во второй операции:
Почему же? Не вижу принципиальной разницы. Если ты создаёшь цепочки справа от относительного пути, то что мешает делать то же самое, но слева? Это по сути одна операция, если работать с полными именами, как в случае md. Иногда ведь нужно создавать подпапки (хотя бы по одной).
MVV wrote:
Code:
Результат при создании ссылок в C:\BarFiles\*\Bar\*.*
C:\BarFiles\ Bar\ File1.txt
C:\BarFiles\ Dir1\ Bar\ Dir1File.txt
C:\BarFiles\ Dir1\Dir2\ Bar\ Dir12File.txt
Ну, да. Только чаще это будет без BarFiles\.
И потом, предупреждение появляется и в случае обычного режима с подкаталогами. А там относительных путей не будет, и закономерность добавки для тихого комбо-режима становится более очевидна.

MVV wrote:
То есть, молча пропускать уже существующие объекты?
Не просто существующие, а одноимённые. С добавкой /с[1|2] — сперва проверять, что одноимёнка не является ссылкой, или что ссылка (хард/сим — любая) не соответствует источнику, и тогда создавать ссылку с добавкой счётчика в скобках. 1|2 — выбор начала счётчика.
MVV wrote:
А сейчас не так?
С диалогом — нет.

Last edited by Flasher on Sat Aug 03, 2019 12:50; edited 1 time in total

#505:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Aug 01, 2019 11:48
    —
Quote:
Не просто существующие, а одноимённые.

Это уже очевидно, остальные нас в принципе не интересуют.

Quote:
С добавкой /с[1|2] — сперва проверять, что одноимёнка не является ссылкой, или что ссылка (хард/сим — любая) не соответствует источнику, и тогда создавать ссылку с добавкой счётчика в скобках. 1|2 — выбор начала счётчика.

Слишком сложно и экзотично. Жёсткие ссылки в принципе не детектируются, можно разве что по индексу сравнить, на тот же объект она ссылается или нет, и далее пропускать или удалять+пересоздавать, читать символьные или точки соединения слишком сложно, проще сразу либо пропускать, либо удалять и создавать заново (чтобы гарантированно соответствовали источнику). Но если существующий объект - непустая папка, её просто так не удалишь. Мне не очень хочется заниматься проверкой ссылок, это уже слишком серьёзно и ситуативно, чтобы автоматизировать. А добавить автопереименование со счётчиком по стандартной схеме можно.

Quote:
С диалогом — нет.

Вижу баг: если жму Пропустить эн раз, то создаются все возможные ссылки и пропускаются конфликты по именам. А если Пропустить всё, то ничего не создаётся, хотя эффект должен быть таким же. Ты об этом или о чём-то ещё?

#506:  Author: FlasherLocation: Москва PostPosted: Thu Aug 01, 2019 11:59
    —
MVV wrote:
и экзотично.
Создавать линки без создания дубликатов — вполне прозрачная задача, никакой экзотики.
MVV wrote:
можно разве что по индексу сравнить
Я об этом сразу и подумал. Это просто.
MVV wrote:
читать символьные или точки соединения слишком сложно
.ExtendedProperty("LinkTarget") — разве не простой вариант? Или подвязаться к NTLinks.wdx64 (как TCFS2 подвязывается к TCFS2Tools.dll)?
MVV wrote:
либо удалять и создавать заново
Нет, это не годится. Там может иная папка фигурировать.

MVV wrote:
Ты об этом или о чём-то ещё?
Я вообще о показе окна ошибки как такового. С /q оно не выводится.

#507:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Aug 01, 2019 13:37
    —
Quote:
.ExtendedProperty("LinkTarget") — разве не простой вариант? Или подвязаться к NTLinks.wdx64 (как TCFS2 подвязывается к TCFS2Tools.dll)?

И то и другое - слишком сложно, чтобы я мог это представить в этой утилите. Первое привязывает к COM-интерфейсам и непонятно что вернёт, путь может быть записан по-разному, второе требует привязки к плагину и поддержки его интерфейса.

Quote:
Нет, это не годится. Там может иная папка фигурировать.

А что ты хочешь в результате? Вариант 1: пропустить все дубликаты, вариант 2: перезаписать все дубликаты, вариант 3: автопереименовать все дубликаты, ещё есть разумные варианты? Или ты в варианте 3 хочешь проверять и не автопереименовывать совпадающие?

Quote:
Я вообще о показе окна ошибки как такового. С /q оно не выводится.

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

#508:  Author: FlasherLocation: Москва PostPosted: Thu Aug 01, 2019 18:34
    —
MVV wrote:
и непонятно что вернёт
Полное имя источника.
MVV wrote:
путь может быть записан по-разному
Ты про относительный? Вернёт в любом случае полный.

MVV wrote:
вариант 2: перезаписать все дубликаты
Если не проверять на тип/источник, то замена по сути вредна.
MVV wrote:
автопереименовать все дубликаты
Автопереименовывать можно только имеющиеся одноимёнки. Это не требуется. Требуется именовать новые ссылки с добавкой счётчика.
MVV wrote:
Или ты в варианте 3 хочешь проверять и не автопереименовывать совпадающие?
Совпадающие по указанным мной признакам — пропускать, конечно, но никак не заменять и не сигналить ошибкой.

MVV wrote:
На то он и интерактивный режим, чтобы хотя бы раз сообщить об ошибке.
Так я не со стандартного варианта начал, а с комбинации /q и /q-.
MVV wrote:
Но добавить опцию для переопределения поведения в случае ошибки можно
Нужно!

#509:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Aug 02, 2019 14:43
    —
Quote:
Ты про относительный? Вернёт в любом случае полный.

А промежуточные ссылки пораскрывает?

Quote:
Если не проверять на тип/источник, то замена по сути вредна.

Если проверять только тип и перезаписывать только ссылку ссылкой, то замена не так уж и вредна, сделает то же самое, что и удаление дубликатов в папке назначения плюс обычный запуск.

Quote:
Автопереименовывать можно только имеющиеся одноимёнки. Это не требуется. Требуется именовать новые ссылки с добавкой счётчика.

Не пойму тебя. Именовать новые с добавкой счётчика - разве не в этом суть автопереименования в случае, когда объект по пути создаваемой ссылки уже сущестуует?

#510:  Author: FlasherLocation: Москва PostPosted: Fri Aug 02, 2019 15:28
    —
Quote:
А промежуточные ссылки пораскрывает?
Не в курсе, о чём ты. У Sym/RP такие есть?
Quote:
сделает то же самое, что и удаление дубликатов в папке назначения плюс обычный запуск.
Что за запуск? Удаление одноимёнок без проверки вредно. Я же выше объяснял. Ссылка может вести на другой источник. Это не будет равноценной заменой.

Quote:
Именовать новые с добавкой счётчика - разве не в этом суть автопереименования в случае, когда объект по пути создаваемой ссылки уже сущестуует?
Какой объект? Одноимённый? Разберись в терминах. Я всё чётко расписал. Точнее вряд ли уже получится. Автопереименовывать существующие объекты не имеет смысла (хотя в ряде ренеймеров такая опция имеется). Новые объекты нельзя в принципе переименовывать, так как они ещё не появились на свет, им можно только присвоить имена (именовать) с добавкой счётчика или без. Ты же не будешь сперва создавать их с рандомным именем, а потом переименовывать под совпадения со счётчиком.

#511:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Aug 19, 2019 10:23
    —
Quote:
Не в курсе, о чём ты. У Sym/RP такие есть?

Я имел в виду ситуации, когда ссылка ведёт к объекту, в пути к которому есть другие ссылки. Например, D:\Path\Lnk1 ссылается на D:\Lnk2\Dir1, где D:\Lnk2 в свою очередь ссылается ещё на что-то.

Quote:
Что за запуск? Удаление одноимёнок без проверки вредно. Я же выше объяснял. Ссылка может вести на другой источник. Это не будет равноценной заменой.

Я говорил о запуске утилиты без дубликатов в папке назначения. В случае, когда пользователь сначала сам разруливает конфликты, используя силу своего интеллекта.

Quote:
Какой объект? Одноимённый? Разберись в терминах.

Термины порой и правда сбивают с толку. Одноимёнка одна чего стоит, не говоря уже об имеющейся одноимёнке. Rolling Eyes

Quote:
Автопереименовывать существующие объекты не имеет смысла (хотя в ряде ренеймеров такая опция имеется).

В самом тотале есть такое, поэтому и уточняю. Задача - создание ссылки, т.е. нового объекта (папки-ссылки или файла-ссылки, или просто файловой записи в случае жесткой связи). Если возникает конфликт с уже существующим объектом (файлом/папкой/ссылкой), к имени добавляется суффикс со счётчиком таким образом, чтобы конфликт не возникал, затем ссылка наконец создаётся.

#512:  Author: FlasherLocation: Москва PostPosted: Mon Aug 19, 2019 17:37
    —
Quote:
где D:\Lnk2 в свою очередь ссылается ещё на что-то.
Это нас должно волновать? Ссылка должна вести на тот объект, для которого создавалась. Так и происходит с LinkTarget.

Quote:
В случае, когда пользователь сначала сам разруливает конфликты, используя силу своего интеллекта.
Этот случай совершенно не потребен, когда речь идёт о десятках, сотнях и тысячах выбранных объектов, в т. ч. в режиме без подкаталогов.

Quote:
Одноимёнка одна чего стоит, не говоря уже об имеющейся одноимёнке.
Нашёл к чему придраться. Одноимёнка — одноимённый объект (папка/файл). Тебе это разъяснять надо? Серьёзно? Wink
Да и по контексту там всё абсолютно ясно.

Quote:
В самом тотале есть такое, поэтому и уточняю.
Знаю. Никогда не пользовался — не понимаю, зачем. Только проблемы создаёт.

Quote:
к имени добавляется суффикс со счётчиком таким образом, чтобы конфликт не возникал, затем ссылка наконец создаётся.
Да я прекрасно понимаю, как переименовываются имеющиеся одноимённые объекты. Об этом варианте больше не говорим.

#513:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Aug 20, 2019 09:00
    —
Quote:
Это нас должно волновать? Ссылка должна вести на тот объект, для которого создавалась. Так и происходит с LinkTarget.

В случае ссылок в промежуточных уровнях на один и тот же объект можно ссылаться по-разному, по факту это один объект, но непосредственные ссылки разные.

Quote:
Этот случай совершенно не потребен, когда речь идёт о десятках, сотнях и тысячах выбранных объектов, в т. ч. в режиме без подкаталогов.

А мне очень кажется, что в таких ситуациях нужен реально инструмент синхронизации, который проанализирует ссылки и покажет, какие из них из какого теста, доверять всё маленькой утилите с минимумом логики я бы в таких случаях не стал.

#514:  Author: FlasherLocation: Москва PostPosted: Tue Aug 20, 2019 23:11
    —
Quote:
по факту это один объект, но непосредственные ссылки разные.
Объясни, как это будет мешать системе автопереименования, если будет раскрываться только рассматриваемая ссылка? По мне, более чем досточно проверки по первому возращаемому пути (без потенциальной цепочки). Можно, конечно, всю цепочку проверять в цикле, но, боюсь, это может существенно сказаться на скорости.
Quote:
А мне очень кажется, что в таких ситуациях нужен реально инструмент синхронизации
Я так не думаю. Сихронизация подразумевает сравнение и дублирование структур, что не всегда удобно, т.к. нужно учитывать ряд опциональных факторов при смешивании. Тут же речь идёт только о создании ссылок в заданной структуре.

#515:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Oct 24, 2019 14:02
    —
NTLinksMaker Build 432:
* исправлена обработка относительного пути назначения

wdx_NTLinks Build 270:
+ поле File_Type
* ошибка определения реального пути в случае относительной ссылки

#516:  Author: FlasherLocation: Москва PostPosted: Thu Oct 24, 2019 14:17
    —
MVV wrote:
исправлена обработка относительного пути назначения
За пару месяцев можно было бы и остальное исправить. Rolling Eyes

#517:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Oct 24, 2019 14:30
    —
А что ещё не исправлено из того, что должно быть исправлено?

#518:  Author: FlasherLocation: Москва PostPosted: Thu Oct 24, 2019 14:35
    —
Случаи с выше обсуждаемой руганью, вестимо.

#519:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Oct 24, 2019 14:43
    —
Не припомню там про исправления, только про новый функционал, который я счёл неуместным.

#520:  Author: FlasherLocation: Москва PostPosted: Thu Oct 24, 2019 14:50
    —
Если появляется ругань там, где ты её совсем не ждёшь, то сиё требует исправления. Называть это новым функционалом я бы не стал. Впрочем, не это важно. А уж прикрутить автопереименование можно было бы давным давно как само собой разумеющуюся в автоматизации вещь. Нельзя быть столь консервативным.

#521:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Oct 25, 2019 09:40
    —
Автопереименование будет, руки не дошли до него. А найденные баги оставлять на потом не хотелось.

Ругань не всякая требует исправления, а лишь конструктивная. Так или иначе, исправлением я бы добавление нового функционала, не заявленного в описании, называть не стал.

#522:  Author: FlasherLocation: Москва PostPosted: Fri Oct 25, 2019 10:26
    —
Там ещё про пропуск речь велась. С ним тоже хотелось бы разрешить ситуацию.

У программ может быть коструктивная ругань? Вот это поворот! Smile
А вот обоснования в отношении *\папка\*.* были выдвинуты вполне конструктивные, и никак далее не опровергнуты.

#523:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Oct 25, 2019 10:43
    —
Пропуск дубликатов ссылок обещать не буду, муторное дело это.

А касаемо *\папка\*.* - я не считаю выдвинутые обоснования конструктивными, т.к. убедительных аргументов в пользу необходимости такого извращения и осмысленных примеров не было.

#524:  Author: FlasherLocation: Москва PostPosted: Fri Oct 25, 2019 11:06
    —
Прежде всего речь шла о тихом режиме после диалога. Далее пошли уже детали. Ты же писал, что можешь отличать хардлинки по индексу. Можно хотя бы для них сделать пропуск?
Ну, и разумеется, замену симлинка и пропуск при наличии нессылочной одноимёнки.

Удивительно, что создание подпапки ты называешь извращением. Это вполне классическая ситуация сродни распаковке архивов в создаваемые подпапки в структуре каталогов. Ничего тут извращенского нет априори.

#525:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Oct 25, 2019 14:34
    —
Для хардлинков это делается легко, для симлинков в общем виде - нет, т.к. надо прикручивать в утилиту чтение буферов переподключения, которые до этого она только писала. А делать для одного и не делать для другого - как-то однобоко получится.

На "нессылочной одноимёнке" завис... Имеешь в виду пропуск создания ссылки, если на месте создаваемой ссылки существует файл/папка с тем же именем и это не ссылка? Но если это ссылка, хочешь, чтобы заменялась? Ощущение, что мы повторяем всё по второму кругу...

Ещё раз, если место создаваемой ссылки занято, возможны три действия: пропуск, замена или переименование. Безусловный пропуск - тут всё тривиально и предсказуемо. Безусловное переименование - тут тоже. С условными сложнее. Место может быть занято ссылкой, файлом или папкой. Если файлом, можно сравнить индексы и заменить или переименовать, но если создаётся ссылка на ссылку, индекс ничего не даст. Если папкой, только переименовать. Если ссылкой, опять же можно сравнить целевые пути и заменить или переименовать.

В диалоге я готов добавить комбобокс с поведением при конфликтах и соответствующий ключ командной строки:
1. Запрашивать действие (как сейчас),
2. Пропускать все,
3. Автопереименовывать все.

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

Если и автоматизировать условные действия и перезапись, то выводить перечень конфликтов и давать выбор действия в каждом случае. Такое решение видится красивым и максимально безопасным, но трудоёмким.


А создание подпапок в середине пути я буду считать экзотикой (убедил, не извращением), пока не увижу реального примера ситуации, где это имеет смысл.

#526:  Author: FlasherLocation: Москва PostPosted: Fri Oct 25, 2019 22:20
    —
MVV wrote:
А делать для одного и не делать для другого - как-то однобоко получится.
Ну, и что. Зато результат более положительный, чем от общего неделания.

MVV wrote:
Имеешь в виду пропуск создания ссылки, если на месте создаваемой ссылки существует файл/папка с тем же именем и это не ссылка? Но если это ссылка, хочешь, чтобы заменялась?
Почти. Это будет зависеть от комбинации ключей пропуска и автопереименования. Если стоят оба, то переименовывать только новые линки при несоответствии типа обноимённых объектов.

MVV wrote:
Ощущение, что мы повторяем всё по второму кругу.
Обстоятельства частично изменились, приходится.

MVV wrote:
но если создаётся ссылка на ссылку, индекс ничего не даст.
А если создавать неоднотипную ссылку? Хард на сим и наоборот.
MVV wrote:
Если папкой, только переименовать.
Или пропускать, в зависимости от установленных опций.

MVV wrote:
Условные действия добавлять не хочу, т.к. слишком сложная логика может быть и в разных ситуациях могут требоваться разные действия.
А ты захоти. Smile Это частенько требуется. Или у тебя всё утыкается в диалог? Можно же только ключами сделать. Мол, "Смотрите описание ключей для более точной оптимизации поведения при совпадении имён."

MVV wrote:
Такое решение видится красивым и максимально безопасным, но трудоёмким.
Си — не скрипты, я понимаю. Но что делать. Надо довести утилиту до оптимального состояния. Пока предлагаю в диалоге обойтись малым, остальное — в описание к ключам.

MVV wrote:
пока не увижу реального примера ситуации, где это имеет смысл.
Ну, как минимум один я тебе привёл:
Flasher wrote:
И потом, предупреждение появляется и в случае обычного режима с подкаталогами. А там относительных путей не будет, и закономерность добавки для тихого комбо-режима становится более очевидна.
Можно хотя бы там исправить? А также в отношении одного объекта. Суть в том, что пользователю всё равно с какой стороны ставить папки, он просто не хочет видеть ошибку в случае вполне логического указания с любой стороны от *.

#527:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Oct 27, 2019 20:27
    —
Quote:
А если создавать неоднотипную ссылку? Хард на сим и наоборот.

Хм, жёсткая ссылка - это не ссылка. И если создавать жёсткую ссылку, когда уже существует символическая, то однозначно автопереименование. Но если потом ты снова попытаешься создать жёсткую, то что, пытаться автопереименовать и проверять каждое конфликтное имя на совпадение ссылок/индексов?

Quote:
Или пропускать, в зависимости от установленных опций.

Я пропуск рассмотрел отдельно, т.к. там логика тривиальна. Но да, если существует папка, варианта всего два.

Quote:
А ты захоти.

Я пока даже не вижу юзкейсов, где это "частенько требуется". Так что если и захочу, то нескоро, и явно после того, как появятся безусловные действия.

Quote:
Ну, как минимум один я тебе привёл:

Я по-прежнему не вижу смысла во вставке промежуточных уровней в середине пути, даже при копировани из плоского режима, т.к. при этом вся иерархия искажается.
Quote:
Можно хотя бы там исправить? А также в отношении одного объекта. Суть в том, что пользователю всё равно с какой стороны ставить папки, он просто не хочет видеть ошибку в случае вполне логического указания с любой стороны от *.

Я пока не уверен, хочу ли это добавлять.

#528:  Author: FlasherLocation: Москва PostPosted: Mon Oct 28, 2019 00:10
    —
Quote:
Но если потом ты снова попытаешься создать жёсткую, то что, пытаться автопереименовать и проверять каждое конфликтное имя на совпадение ссылок/индексов?
Да. Если это тот же файл, то пропускать.

Quote:
и явно после того, как появятся безусловные действия.
Пропуска, переименования и замены? Чую, опять это всё надолго затянется...

Quote:
даже при копировани из плоского режима, т.к. при этом вся иерархия искажается.
Что такое плоский режим?

#529:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Oct 28, 2019 11:50
    —
Quote:
Пропуска, переименования и замены? Чую, опять это всё надолго затянется...

Да, и это если я-таки решусь городить эти костыли.

Quote:
Что такое плоский режим?

"Branch view", который ты называешь "режимом без подкаталогов" (эта формулировка сбивает с толку, т.к. "файлы без подкаталогов" - это скрыть подкаталоги, а не свалить все файлы со всех подуровней в кучу, поэтому я предпочитаю название "flat mode" из других файловых менеджеров, которое однозначно и лаконично переводится на русский и не вносит путаницы).

#530:  Author: FlasherLocation: Москва PostPosted: Mon Oct 28, 2019 12:15
    —
Quote:
Да, и это если я-таки решусь городить эти костыли.
Какие ещё костыли? Ты только писал про красоту и максимальную безопасность.
Quote:
который ты называешь "режимом без подкаталогов"
Этот справочный термин ко мне, пож-та, не приклеивай. Об этом ты можешь поговорить с авторами перевода в соотв. теме.

Quote:
даже при копировани из плоского режима
А почему "даже", если я указал на хотя бы обычный? Как раз в плоском большая закавыка, чем в обычном. Прежде всего в обычном ошибка смотрится нелепо.

#531:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 05, 2019 10:35
    —
Quote:
Какие ещё костыли? Ты только писал про красоту и максимальную безопасность.

Под костылями я там подразумевал условные режимы. С безусловными всё абсолютно чётко.

Quote:
Этот справочный термин ко мне, пож-та, не приклеивай. Об этом ты можешь поговорить с авторами перевода в соотв. теме.

Я только привёл факт, что ты употребил этот термин. Very Happy

Quote:
А почему "даже", если я указал на хотя бы обычный? Как раз в плоском большая закавыка, чем в обычном. Прежде всего в обычном ошибка смотрится нелепо.

А смысл в обычном уровни добавлять после *? В обычном что перед *, что после * - один эффект будет. Разница проявляется лишь в случае, когда какой-то копируемый элемент вложен глубже остальных.

#532:  Author: FlasherLocation: Москва PostPosted: Tue Nov 05, 2019 11:16
    —
Quote:
Под костылями я там подразумевал условные режимы.
А я указал, что костыли красотой и максимальной безопасностью, касаемыми именно условных режимов, не называют.
Quote:
что ты употребил этот термин.
Который здесь всем труюзерам понятен в отличии от твоего.
Quote:
В обычном что перед *, что после * - один эффект будет.
Вот я и хочу, чтобы для начала хотя бы там эффект был один. Но пока это не так.

#533:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Nov 05, 2019 13:52
    —
Quote:
Вот я и хочу, чтобы для начала хотя бы там эффект был один. Но пока это не так.

Ты везде так поступаешь? Тебе говорят, что надо вызывать эту функцию так-то, а ты пытаешься вызвать её наоборот и жалуешься, что она не работает?

#534:  Author: FlasherLocation: Москва PostPosted: Tue Nov 05, 2019 13:58
    —
Я, к сожалению, не понял, что ты имеешь в виду. Сам же написал "один эффект будет".
Тебе нужно написать условия, при которых вместо ошибки будет создаваться линк со * с любой стороны.

#535:  Author: FlasherLocation: Москва PostPosted: Thu Feb 27, 2020 17:54
    —
Я вот всё молчал, молчал, а пора бы "озвучить". Последняя версия в отличии от предыдущей с обсуждаемой строкой и взаимодействии одного диска с диском (источник/получатель) расположения утилиты не создаёт ссылку и впадает в бесконечный вис с полным забиванием ядра. Confused С /sr? ссылка не появится без виса.

#536:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Feb 27, 2020 18:13
    —
Пример командной строки зависшего процесса можешь привести, желательно для одного файла, чтобы можно было заинлайнить список в командную строку?

#537:  Author: FlasherLocation: Москва PostPosted: Thu Feb 27, 2020 18:18
    —
А чем по ссылке не устраивает? Или тебе обязательно с раскрытием переменных? Пути-то я разные пробовал.

#538:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Feb 27, 2020 18:26
    —
Мне проще не танцевать с кнопками, а просто взять и запустить с готовой командной строкой.

Но проблему вижу: если исходный файл и папка назначения на разных дисках и включён режим "симлинки при необходимости", действительно утилита зацикливается (видимо, бесконечно пытается создать жесткую ссылку).

#539:  Author: FlasherLocation: Москва PostPosted: Thu Feb 27, 2020 18:35
    —
Короче, мне танцевать с раскрытием переменных уже не требуется. )

#540:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Feb 28, 2020 10:58
    —
Да тебе и не нужно было особо танцевать, просто нормальным диспетчером задач (Process Hacker, Process Explorer) посмотреть командную строку у зависшего процесса.

NTLinksMaker Build 434
* исправлено создание ссылок на файлы из другого тома в режиме /s?

#541:  Author: FlasherLocation: Москва PostPosted: Fri Feb 28, 2020 11:06
    —
MVV wrote:
Да тебе и не нужно было особо танцевать
Очевидно, что мои танцы заняли бы больше времени, чем твои..

ОК. Фикс сработал. Когда новинки ждать?

#542:  Author: чилавек PostPosted: Fri Apr 24, 2020 23:09
    —
Обнаружился неприятный баг, которого не было по крайней мере в версии 1.2.0.340, но присутствует в нескольких крайних версиях, включая 1.4.2.434.

Исходные условия:
- есть папка-источник с наполнением (подпапки и файлы в несколько уровней);
- есть папка-получатель, в которой необходимо создать хардлинки на все файлы, находящиеся в папке-источнике с сохранением структуры дерева подпапок.

Если папка-получатель пуста или хотя бы не содержит одноименных создаваемым хардлинкам файлов - все отлично: получаем все необходимые файлы (жесткие ссылки).

Если папка-получатель уже содержит некоторые файлы, ссылки на которые должны быть созданы, то после соответствующего предупреждения ("невозможно создать файл, так как он уже существует") и выбора либо единожды "Пропустить все", либо n-ное кол-во раз просто "Пропустить" имеем:
- при создании линков из режима TC "все файлы без подкаталогов" (Ctrl+B) и установленной галкой "Сохранять части путей..." - все отлично: существующие файлы папки-получателя остаются, недостающие добавляются хардлинками из папки-источника;
- при создании линков из обычного режима ТС (выделение папок/файлов) - БАГ: хардлинки создаются ровно до первой коллизии - при встрече первого же существующего файла дальнейшее создание ссылок обрывается для всего оставшегося дерева папки, в которой обнаружен одноименный файл, а продолжается только с папки уровнем выше. Другими словами, в данном случае по нажатии "Пропустить" ("Пропустить все") выполняется пропуск не только существующего файла, но и всех оставшихся файлов и папок в текущей папке, то есть происходит переход не к следующему файлу а сразу к следующей папке и находящимся уже в ней файлам...

Для простоты воспроизведения жучары вот my-files.su/bmxkgm архив с необходимым набором папок/файлов источника и получателя (соответственно Dir_src и Dir_dst). Параметры вызова NTLinksMaker.exe из ТС '/l=99 /q- /b /r="%P" "@%WL" "%T"'. На панели-получателе TC заходим внутрь Dir_dst, на активной заходим в Dir_src, отмечаем все содержимое и пытаемся создать ссылки - в режиме Ctrl+B все ОКы; в обычном режиме - БАГъ: с dir1 все хорошо, в dir2 скопированы dir21 и частично dir22 (file1_dir22.txt, file2_dir22.txt, file3_dir22.txt - все оборвалось на существующем file3_dir22.txt) dir23 уже не копировалась; продолжилось копирование с dir3, но сразу же и оборвалось, напоровшись на первый существующий в dir31 файл file1_dir31.txt.


И, да, несмотря на баг, автору выражаю благодарность и уважение за сию необходимую и весьма полезную в хозяйстве утилиту!!!

#543:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Apr 25, 2020 14:12
    —
чилавек,
Хм, интересный баг, подтверждаю, разберусь. Спасибо за очень детальное описание и тестовый архив.

Flasher,
Ой, не знаю, приоритеты щас другие немного... То, что я хотел реализовать, я как-нибудь реализую. Но я уже и не помню, чего конкретно ты в этот раз ждешь, и был ли я с этим согласен. Rolling Eyes

#544:  Author: FlasherLocation: Москва PostPosted: Sat Apr 25, 2020 15:12
    —
MVV
Другие — это помощь иностранцам на оффоруме? ) Про своих совсем забыл? Rolling Eyes
Хоть что-нибудь бы сделал из добавок по 3-м своим продуктам (к счастью, один отпал, благодаря Loopback).
С каждым пройденным годом мотивация только ослабевает. Хоть тут спустя пару месяцев решился на ответ. Уже прогресс. )

#545:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Apr 25, 2020 18:18
    —
Проблему нашёл и поправил, однако анализ показал, что она присутствовала лишь в 1-2 крайних версиях, начиная с 1.4.2.432.

NTLinksMaker Build 436:
* исправлен пропуск оставшихся при дублировании папки файлов в случае пропуска ошибки


Flasher,
Поддержку стараюсь обеспечивать, баги в приоритете, а на фичи времени не густо. На реализацию какой-либо новой функции нужно несоизмеримо больше времени за один присест, чем на прогулку по оффоруму, и куда более удобная обстановка.

#546:  Author: FlasherLocation: Москва PostPosted: Sat Apr 25, 2020 19:05
    —
MVV wrote:
Поддержку стараюсь обеспечивать, баги в приоритете
Обсуждение бага двухлетней давности пока так обсуждением и осталось.
MVV wrote:
нужно несоизмеримо больше времени за один присест
Я могу, конечно, ошибаться, но добавка того же wndstyle не кажется мне чем-то сверхзатратным.
MVV wrote:
чем на прогулку по оффоруму
Что-то ты разгулялся там не на шутку (с инородним языком-то). Wink
MVV wrote:
и куда более удобная обстановка
Ну, она у тебя, надеюсь, ещё осталась? Раньше не жаловался.
Ты бы хоть по срокам что-то написал. А то все разговоры сводятся к воспоминаниям об обещанном...

#547:  Author: чилавек PostPosted: Sun Apr 26, 2020 22:49
    —
MVV wrote:
Проблему нашёл и поправил, однако анализ показал, что она присутствовала лишь в 1-2 крайних версиях, начиная с 1.4.2.432.

NTLinksMaker Build 436:
* исправлен пропуск оставшихся при дублировании папки файлов в случае пропуска ошибки


Да, теперь утилита отработала чётко!
Благодарю за оперативность. Желаю дальнейших творческих успехов!

#548:  Author: Swi PostPosted: Thu Jul 02, 2020 20:39
    —
Приветствую! А можете сделать автопереименование(как в тоталк) ссылок, при дублировании имёнQuestion А-то вручную приходится переименовывать.

Last edited by Swi on Sat Jul 04, 2020 13:07; edited 2 times in total

#549:  Author: FlasherLocation: Москва PostPosted: Fri Jul 03, 2020 00:55
    —
Swi
На этот и остальные запросы уже отвечено:
MVV wrote:
То, что я хотел реализовать, я как-нибудь реализую.
... на фичи времени не густо.
Как говорится, пишите письма...

#550:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Jul 03, 2020 07:01
    —
Swi
К сказанному выше (а также мною здесь) добавлю, что важность этого самого автопереименование применительно именно к созданию NTFS-ссылок неплохо бы как-то обосновать. Каким образом и насколько часто у вас вообще возникают ситуации, требующие такого переименования (хотя бы вручную)?

#551:  Author: FlasherLocation: Москва PostPosted: Fri Jul 03, 2020 12:10
    —
Avada
Поскольку я эту мысль лелеял ещё задолго до своего запроса годичной давности, позволю себе удивиться: а чем, собственно, создание ссылок в этом ключе отличается от банального копирования, о частоте автопереименования с которым даже спрашивать неприлично? Принцип появления в каталоге тот же, а значит, и потенциальное совпадение имён вполне сопоставимо. Я бы вообще на этот вопрос ответил просто — так же часто, как и появление самой необходимости создания ссылок. Удовлетворил ответом? Wink

#552:  Author: Swi PostPosted: Fri Jul 03, 2020 13:34
    —
Ну... В тк не зря же есть функция автопереименования файлов.

Last edited by Swi on Wed Jul 15, 2020 20:43; edited 1 time in total

#553:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Jul 03, 2020 14:11
    —
Swi
В TC есть много что, но это ещё не означает, что любые его функции можно легко и непринуждённо перенести в другую программу.

Flasher
Про старое обсуждение — вижу. А что автор утилиты скажет на сей счёт нового сейчас — посмотрим.

#554:  Author: Swi PostPosted: Fri Jul 03, 2020 16:34
    —
На свете... есть много функций, но это не значит, что все они будут перенесены в tc.

#555:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Jul 03, 2020 17:01
    —
Swi
Прекращайте флуд.
P.S. Последующее сообщение удалено. Здесь не место ни для пустопорожнего набивания постов, ни для дискуссий о даваемых модератором определениях. Замечание за нарушение правил форума. Вопросы по делу вы задали, ждите ответов автора утилиты.

#556:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Jul 09, 2020 12:03
    —
Автопереименование у меня по-прежнему в планах, а когда оно появится - большой-большой секрет. Very Happy

#557:  Author: MARK2580 PostPosted: Fri Feb 05, 2021 16:01
    —
Зарегался банально ради одного важного вопроса: а можно как-то этот плагин использовать для детекта что "файл = hardlink" именно этот файл, а не что на него есть ссылки. Хочется цветом подсвечивать именно копии, а не сам исходный файл.
Просто я на английском форуме нашёл подобное, но подсвечивается и исходный файл, что мне не подходит.

Code:
Жёсткая ссылка_SearchFor=
Жёсткая ссылка_SearchIn=
Жёсткая ссылка_SearchText=
Жёсткая ссылка_SearchFlags=0|002002000020|||||||||0000|||
Жёсткая ссылка_plugin=ntlinks.HLNK_Count > 1


Т.е. у меня есть одна версия игры лицушная, есть вторая версия игры для игры с модами, чтобы в пустую не тратить ещё 90гб я накидал линков и хочется подсвечивать именно те файлы, которые ссылки, а не сами оригинальные файлы из лицухи.
http://i.imgur.com/9FdhuDz.jpg
К сожалению мне не дают постить ссылку на картинку =(

#558:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Feb 05, 2021 17:41
    —
MARK2580
Ссылку активировал, но тут и без картинки всё ясно: такой детект попросту невозможен, ибо жёсткая ссылка от своего оригинала неотличима.
Справка к утилите NTFSLinks от CaptainFlint wrote:
Все жёсткие ссылки, ссылающиеся на один и тот же набор данных, абсолютно равноправны, и после их создания невозможно различить, какой файл существовал изначально, а какой был создан позднее как ссылка. Вообще, такие понятия как «главный файл» и «жёсткая ссылка на файл» в данном случае просто бессмысленны.

#559:  Author: MARK2580 PostPosted: Fri Feb 05, 2021 19:26
    —
Avada wrote:
Ссылку активировал, но тут и без картинки всё ясно: такой детект попросту невозможен, ибо жёсткая ссылка от своего оригинала неотличима.

Эх жалко. Спасибо за ответ.

#560:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Feb 09, 2021 09:56
    —
Тут даже нет понятий "оригинал" и "не оригинал" (как и "главный файл" из цитаты). Жёсткая ссылка - это запись в каталоге о том, что в нём есть этот "файл" (указывающая на то, как найти его "тело"), и таких записей для одного и того же "тела" может быть любое число, в одном или нескольких каталогах, и они, как было сказано, абсолютно равноправны.

Если хочется различать главный файл и ссылки на него, надо использовать символьные ссылки, но их подсчётом никто не занимается, и они теряют актуальность при перемещении исходного файла.

#561:  Author: Mailk PostPosted: Sun May 02, 2021 17:26
    —
Меня один вопрс волнует , РЕАЛЬНЫЙ РАЗМЕР ФАЙЛА. Я понаписал в поток ntfs фаила кучу других файлов, размер не меняется ..
Реальный размер это что значит ?
Какой то есть инструмент показывающий "реальный" размер с учетом всех потоков?

#562:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun May 02, 2021 19:54
    —
Mailk
Очередная демонстрация своей полной безграмотности, превращающая оффтопное сообщение фактически во флуд. Хранение информации в потоках NTFS (для которых, между прочим, есть несколько специальных плагинов и тем по ним) не имеет никакого отношения к теме по ссылкам NTFS — и выяснить это при желании не составляет труда. И к размеру файла не имеет. Специальные утилиты на форуме не раз упоминались, а в этой теме с упоминанием утилиты NTFS Stream Explorer (отображающей в т.ч. размер потоков) кое-кто даже пытался участвовать (правда, с таким же оффтопом).

Замечание за нарушение правил форума. Больше предупреждений не будет, при следующем повторении чего-то подобного будет ставиться вопрос о блокировке аккаунта.

#563:  Author: MVVLocation: Ростов-Дон PostPosted: Tue May 11, 2021 10:59
    —
Ну собственно поле Obj_RealSize, как сказано в Readme, показывает размер файла за символьной ссылкой, ни больше ни меньше. При этом размером файла считается размер его основного потока. Как считать размер файла с учётом его альтернативных потоков и как к этим самым потокам удобно обращаться - не знаю.

#564:  Author: likhoboryLocation: Москва PostPosted: Tue May 11, 2021 23:08
    —
Mailk wrote:
Какой то есть инструмент показывающий "реальный" размер с учетом всех потоков?


Рискую навлечь праведный гнев модератора, так что заранее пардон за оффтоп, но может это успокоит неутомимого виновника. Использую плагин WinScriptsAdv со следующим PS-скриптом:
Code:
$s = get-item $filename -stream *
$content = $s.count # Streams
$s.foreach{$t += $_.Length}
$content1 = $t # Total size

#565:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed May 12, 2021 07:31
    —
likhobory
Ваше сообщение оставляю без последствий, но для "успокоения" есть ЛС.

#566:  Author: Swi PostPosted: Wed May 26, 2021 15:42
    —
Привет. В чём отличие относительной симссылки от обычной? Почему при просмотре свойства относительной виден корневой диск? Как изменить диски на которые ссылаются симссылки?

#567:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed May 26, 2021 15:56
    —
Swi
А почему вы полагаете, что эти вопросы должны обсуждаться в текущей теме? В том объёме, который автор утилиты счёл нужным, общая теория в ридми-файле дана. Для выяснения прочего есть другие источники.

#568:  Author: Swi PostPosted: Wed May 26, 2021 18:02
    —
Avada (безотчётно, переход на строку не я придумал,а, как и центрировать цитаты)
Вот как с вами общаться, при постоянном удалении мессэджейQuestion | Думаю хотя бы 1ая часть (42) по темеExclamation Перед Ergo никогда не отчитывалисьQuestion Про " прочее, вам сам... автор,ша(ко) на(рас)писал,а (ну почему у н(в)ас клавиша запятая не сам,о,достаточна, а шифт такой тяжело нерезин,ный?)? Или мы русские недостойны паузQuestion А вам не кажется, сколько новых никовых строк будет столь и тем наплодится? Кстати по поводу самости, жду не дождусь счёт(о)имени.

#569:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed May 26, 2021 18:36
    —
Swi
Весь вышеприведённый флуд вкупе с предыдущими вашими "достижениями" вынуждает меня поставить перед админом вопрос о целесообразности вашего дальнейшего пребывания на форуме.


Last edited by Avada on Wed May 26, 2021 18:57; edited 1 time in total

#570:  Author: CaptainFlintLocation: Москва PostPosted: Wed May 26, 2021 18:54
    —
 !  CaptainFlint:
Судя по предыдущему сообщению, надежды на нормальный диалог нет. Аккаунт Swi заблокирован.

#571:  Author: MVVLocation: Ростов-Дон PostPosted: Thu May 27, 2021 09:30
    —
Swi wrote:
Привет. В чём отличие относительной симссылки от обычной? Почему при просмотре свойства относительной виден корневой диск? Как изменить диски на которые ссылаются симссылки?

Всё же дам пояснения по основному вопросу, вдруг кому будет интересно.

Относительная символьная ссылка от абсолютной отличается тем, что хранит относительный путь к целевому объекту, благодаря чему ссылка остаётся актуальной при перемещении/переименовании содержащего ссылку и целевой объект каталога. Относительный путь может быть либо от папки, содержащей ссылку (.\relpath\to\target или просто relpath\to\target), либо от корня тома, содержащего ссылку (\relpath\to\target). Буквы диска в относительном пути не может быть в принципе.

В свойствах папки-ссылки система всегда показывает абсолютный путь к целевому объекту. Причём, не всегда правильно (не знаю, как в 10-ке, но в 7-ке для ссылки относительно корня там отображается путь к соседней папке, но файловая система обрабатывает его корректно). Записанный в ссылке относительный путь можно увидеть в поле RP_Target плагина NTLinks.

#572:  Author: Plumber PostPosted: Thu Aug 12, 2021 18:18
    —
MVV
Я дико извиняюсь за возможно ламерские вопросы, но всё же:
1. Буквально на днях на форуме у Гислера случайно обнаружил существование NTLinksMaker версии 1.4.2.436 от 25.04.2020, о которой здесь почему-то нет никакой информации Confused хотя в ридми к утилите ссылка именно на эту тему.
2. Утилита существует в двух разрядностях 32-bit и 64-bit, хотелось бы узнать о нюансах использования х32-версии в 64-битной системе.

#573:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Aug 12, 2021 18:32
    —
Plumber
А это что?

#574:  Author: Plumber PostPosted: Thu Aug 12, 2021 19:08
    —
1. Просто захотелось узнать у уважаемого автора (он конечно же никому ничем не обязан, и так огромное ему спасибо за его труд) где можно в дальнейшем почерпнуть информацию о новых версиях сабжа.
2. Насколько корректно использование NTLinksMaker 32-bit из под TCx64 (вопрос образовался после просмотра одной из сборок Total Commander)

#575:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Aug 12, 2021 20:06
    —
Plumber
Уважаемый автор, конечно, сам за себя ответит, но вообще-то до сего момента информацию без проблем можно было получить в текущей теме. А с корректностью использования, ИМХО, проблем быть не должно, хотя я, например, использую (не только здесь) версии программ, адекватные битности системы.

#576:  Author: imig73Location: г. Иркутск PostPosted: Thu Aug 12, 2021 21:21
    —
Plumber
В комбинированном ТС у меня NTLinksMaker 32-bit на все разрядности.

#577:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Aug 13, 2021 22:42
    —
Обычно я сначала выкладываю новые версии на ядиск и пишу в теме, потом через некоторое время, если не всплывёт ничего серьезного, обновляю на wincmd. Но иногда в силу разных обстоятельств могу забывать об этом.

Единственно возможные проблемы от использования 32-битной версии в 64-битной винде могут быть вызваны в случаях, касающихся перенаправляемых системой папок (%SystemRoot%\System32 для 32-битных программ в 64-битной системе перенаправляется в %SystemRoot%\SysWOW64). Если точнее, проблемы возможны при несовпадении разрядностей тотала и утилиты, т.к. если оба 32-битные, то по идее ожидания совпадут с результатом. Но мне ни разу не приходилось создавать ссылки в системных папках, за единственным исключением: я обычно делаю себе ссылку %SystemRoot%\System64 на %SystemRoot%\System32, что позволяет мне через эту ссылку видеть истинное содержимое папки %SystemRoot%\System32 независимо от разрядности тотала (редирекция не работает для целевых путей ссылок).

#578: Сим Линк с относительным путём. Author: ЧиполлиноLocation: Орёл PostPosted: Mon Oct 11, 2021 20:03
    —
Возможно ли создать c помощью NTLinksMaker, Сим Линк-и с относительными путями, для выделенных файлов каталога E:\R\1\ в каталог E:\R\2\ с нижеприведенными условиями?
- Начало пути (верхний уровень) - каталогR\.
- Возможность переноса каталога R\, не меняя его структуры, на любой диск, а так же на другой компьютер. При этом линки не должны превращаться в обычные файлы, как это происходит у меня.
Если это не возможно в NTLinksMaker, то какими прогами. и как можно проделать эту операцию в Windows 10 x64?

#579:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Oct 12, 2021 09:34
    —
NTLinksMaker умеет создавать относительные симлинки. Папка, относительно которой определяется относительный путь - это всегда папка, в которой создаётся ссылка, это закон. Т.е. у ссылки в папке E:\R\2 на файл в папке E:\R\1 относительный путь будет вида ..\1\file.ext.

За возможность переноса каталога R с сохранением его структуры уже отвечает не инструмент создания ссылок, а используемый инструмент для переноса, т.к. в этом случае он должен будет создать аналогичные относительные ссылки. Если инструмент понимает и умеет дублировать ссылки, то всё будет нормально.

Возможность переноса с сохранением ссылок на другой компьютер сомнительна. Здесь главный вопрос - по какому протоколу будет выполняться доступ к файлам, потому что если читать каталог R с другой машины, необходима поддержка чтения атрибутов симлинков, а если воссоздавать каталог R на удалённой машине - поддержка создания симлинков. По моему опыту, даже при обычном сетевом доступе по протоколу SMB такая поддержка ограничена, не говоря уже об экзотических протоколах. Например, создать вполне корректную относительную ссылку в сетевой папке у меня получилось (от имени администратора домена, ну или можно от локального администратора удалённой машины, если на ней выключить обрезание прав при сетевом доступе). Её свойства читаются, но зайти в неё нельзя (тотал молча не заходит, Проводник пишет, что такой тип ссылок отключён). Погуглил, можно управлять этим через fsutil, например, команда fsutil behavior query SymlinkEvaluation отображает текущие настройки, а команда fsutil behavior set SymlinkEvaluation R2R:1 включает поддержку удалённых ссылок на удалённые папки.

Какие программы позволяют корректно дублировать иерархии каталогов с сохранением относительных симлинков, я не знаю.

#580:  Author: ЧиполлиноLocation: Орёл PostPosted: Tue Oct 12, 2021 10:51
    —
MVV wrote:
Т.е. у ссылки в папке E:\R\2 на файл в папке E:\R\1 относительный путь будет вида ..\1\file.ext.

Следует ли из этого, что для перемещения на другой диск данного компьютера, достаточно переместить папку 1 и 2 в любое место? Да же в корень любого диска? (хотя в корень переносить я не планирую). Или папки 1 и 2, после перемещения, обязательно должны находиться в общем каталоге, имя которого может быть любым?
Инструментом переноса будет проводник Windows 10 x64.
При невозможности его использования, можно с помощью ТС. Либо посоветуйте другой, но без лишних костылей. Инструмент, работающий по принципу "Копировать - Вставить", или "Вырезать - Вставить". Если нужны дополнительные настройки, пожалуйста подскажите какие.

#581:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Oct 12, 2021 11:55
    —
Чиполлино
Что из этого следует, проще всего попробовать самостоятельно. Продолжать выяснение этих проблем в данной теме после ответа автора (включая последнее "не знаю" про инструменты дублирования ссылок) смысла не вижу. Утилита сделала своё дело, создав ссылки, выполнение дальнейших задач от неё не зависит. Говоря попросту, готовых решений на данный момент нет — ни с костылями, ни без.
Есть тема в "Автоматизации", продолжайте обсуждение в ней.

#582:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Oct 12, 2021 17:44
    —
Пожалуй, добавлю небольшое уточнение, всё ещё имеющее отношение к утилите.

Переносить папку R в пределах одного логического диска можно без проблем как Проводником, так и тоталом, т.к. при этом лишь переносится "указатель" на содержимое папки из одной родительской папки в другую, а сама папка R и иерархия вложенных папок, равно как и содержимое файлов, остаётся нетронутым. При переносе на другой диск или на другой компьютер воссоздание иерархии и ссылок неизбежно, и тут важно выбрать достаточно умный инструмент. И, само собой, запустить его с правами администратора, чтобы можно было создавать символьные ссылки.

Подпапки папки R после создания ссылок нельзя разносить по разным папкам или переименовывать папку, содержащую целевые файлы, т.к. это приведёт к инвалидации ссылок. Собственно, общая логика такова: если на файл/папку есть абсолютная или относительная ссылка, нельзя менять его путь/имя, указанные в ссылке (в этом относительные ссылки менее строги, т.к. позволяют менять часть пути за пределами относительного пути, т.е. переносить содержащую объект и ссылку папку). При этом саму абсолютную ссылку можно переносить куда угодно, а относительную - так, чтобы относительный путь оставался валидным (например, можно переименовать относительную ссылку или содержащую её папку, если ссылка начинается с "..").

#583:  Author: ЧиполлиноLocation: Орёл PostPosted: Tue Oct 12, 2021 20:24
    —
MVV wrote:

При этом абсолютную ссылку можно переносить куда угодно,

КАК? Ведь для нее прописан путь относительно какого то диска?
Как она сможет работать из папки 1, если абсолютный путь требует ее нахождения в папке 2?
или я вообще ничего не понимаю.
Ответьте мне на вопрос пожалуйста.
На дисках С и D находятся каталог R, с абсолютно одинаковой структурой и содержимым. Внутри каждого из каталогов R, находятся подкаталоги 1 и 2.
В каждом из подкаталогов 1 находится всего один файл. И он абсолютно одинаков как на диске С так и на диске D.
Для этих двух ФАЙЛОВ подкаталогов 1, созданы относительные ссылки в соседние подкаталоги 2.
Чем отличаются эти ссылки? В чем их разница? Они абсолютно идентичны. Результат сравнения не выявил различий.
Тогда почему они не взаимозаменяемы -я не могу понять.? Ведь их принадлежность какому либо диску нигде не прописана? Ну по логике, если рядом с папкой 2, в которой находится ссылка, находится папка 1, в которой лежит файл-источник, эта связка должна работать в любом месте.

#584:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Oct 12, 2021 20:55
    —
Чиполлино
Абсолютный путь требует нахождения по указанному адресу исходного объекта, а не ссылки на него. Разница ссылок в том, что каждая реально работоспособна только на своём диске. Сравнением вы ничего интересного тут не увидите.
И вообще следовало бы знакомиться с теорией по другим ресурсам (их предостаточно), чтобы хотя бы элементарно разбираться в предмете обсуждения: здесь полный ликбез по этим вопросам никто устраивать не обязан, а в данной теме продолжение всего этого уже выглядит прямым оффтопом. Если интересно, почитайте на предыдущих страницах темы, что раньше пояснялось (к примеру, это). С созданием ссылок действительно могут быть сложные и неочевидные моменты, но в них хорошо бы разбираться при наличии какой-то базовой подготовки, а не с нуля. Что происходит в последнем случае, мы тут уже видели хотя бы в этой теме. А ещё в справочнике по ключам про ключ CopyLinks почитать советую (в т.ч. про значение 2 и — особенно — про копирование в TC симлинков на файлы в виде самих файлов). Скорее всего, вы просто зря тратите своё и чужое время: всё равно распорядиться этими ссылками так, как вы собирались, не удастся (по крайней мере, в Total Commander, а внешних альтернатив никто пока предложить не смог).
Обсуждение практически одного и того же вопроса в двух темах пора заканчивать (тем более, что ваша исходная задача шире простого создания относительных ссылок на файлы — см. пояснения здесь и вторую тему). А ваши не лезущие ни в какие пристойные размерные рамки (и к тому же совершенно ненужные) "иллюстрации" результатов сравнения удалены с замечанием за грубое нарушение правил форума.

#585:  Author: HankHank PostPosted: Thu Jan 06, 2022 23:09
    —
С новогодними праздниками!

Установил плагин NTLinks в TC 10.
В Readme.txt для меня недостаточно инфо по дополнительной настройке.
Кроме "Ссылка" в колонке панели "Размер", ничего более не видно.

Ткните носом, где это обсуждалось на 39-ти страницах ветки или на др. ресурсах, или подскажите, что и где дополнительно настраивать?

Спасибо.

#586:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Jan 11, 2022 20:30
    —
HankHank
В первую очередь: раз, два. Плюс некоторая конкретная информация по возможностям плагина в его ридми-файле (естественно, без общей информации о порядке работы с плагинами этого типа, давным-давно пояснённой много где и не по одному разу). Плюс возвращаемые плагином поля, перечисленные в шапке текущей темы. А надпись "Ссылка" к его работе вообще никакого отношения не имеет, это стандартная функция TC.
Замечание за нарушение правил форума.

#587: Ошибка? Author: HankHank PostPosted: Fri Jan 28, 2022 01:16
    —
Обнаружил неадекватную работу при создании ссылки в "тихом" режиме.
В диалоговом режиме команда:
Code:

"d:\Мои документы\~\2222\NTLinksMaker.exe" /sr "d:\Мои документы\Downloads\Раззаков Ф. - Валерий Харламов. Легенда № 17 (Легенды нашего спорта) - 2013" "d:\Мои документы\~\2222"

создаёт корректную ссылку.

С ключом "/q" та же команда порождает такую структуру папок:
Code:

໰¯À¯ои документы\                                                                                                                   
໰¯À¯ои документы\~\                                                                                                                 
໰¯À¯ои документы\~\2222\                                                                                                           
   Раззаков Ф. - Валерий Харламов. Легенда № 17 (Легенды нашего спорта) - 2013.doc                                     11,560,960   
   Раззаков Ф. - Валерий Харламов. Легенда № 17 (Легенды нашего спорта) - 2013.fb2                                     15,057,772   
   Раззаков Ф. - Валерий Харламов. Легенда № 17 (Легенды нашего спорта) - 2013.pdf                                      6,203,695   

total files 3    total size 32,822,427


Ссылка создаётся в самом низу иерархии папок - ...2222\

#588:  Author: Iws PostPosted: Tue May 03, 2022 12:04
    —
Так когда ждать выполнение плана с автопереименованием нт линковQuestionCrying or Very sad Надеюсь праздник этому поспособствует.

#589:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jul 04, 2022 14:53
    —
Насчёт автопереименования пока не порадую. Поправил пару багов в NTLinks.

wdx_NTLinks Build 280:
* у ссылок на другой раздел неверно отображались пути к жёстким копиям
* не работала установка целевого пути для не-ссылок (превращение пустого каталога в точку соединения)

#590:  Author: 790 PostPosted: Tue Apr 02, 2024 13:36
    —
Я знаю, как с помощью поиска и плагина узнать, что целевые файлы/папки отсутствуют. А как запустить так сказать "обратный" поиск?
Есть целевой файл/папка А.
Есть ссылка-файл/папка Б, который ссылается на файл/папку А.
Как узнать, что ссылка-файл/папка Б больше не существуюет или существует в реальном виде, т.е. больше не ссылается на файл/папку А?
(Такое часто происходит у меня после чисток или восстановления системы из бэкапа)

Все мои ссылки символические. Жёстких нет, ну кроме тех, что сама система содержит, я их не делал.

#591:  Author: Orion9 PostPosted: Thu Apr 04, 2024 00:15
    —
790 wrote:
Как узнать, что ссылка-файл/папка Б больше не существуюет или существует в реальном виде, т.е. больше не ссылается на файл/папку А?

Наверное, только перебором всех существующих символических ссылок (в нужных местах-папках) и проверкой каждой из них, куда она ссылается Smile

#592:  Author: 790 PostPosted: Thu Apr 04, 2024 03:10
    —
Ну то есть типа поиск по списку (я же знаю этот список) и сранение двух списков?

#593:  Author: Orion9 PostPosted: Thu Apr 04, 2024 13:26
    —
790 wrote:
Ну то есть типа поиск по списку (я же знаю этот список) и сранение двух списков?

Или скрипт.

Только зачем вам такие сложности? Если задача - просто создать заново все символические ссылки, которые были утрачены в результате восстановления бэкапа, то, может, лучше сразу сделать батник, где каждая строка будет вызывать NTLinksMaker со всеми нужными параметрами для каждого пункта списка.

Список у вас есть, плюс плагин makebat.wcx может здесь помочь.



Total Commander -> Плагины Total Commander


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

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group