NTLinks + NTLinksMaker: создание и инфо о ссылках NTFS
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2, 3 ... 38, 39, 40  Next  :| |:
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 с юникодными именами в панели поиска.



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


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

Goto page 1, 2, 3 ... 38, 39, 40  Next  :| |:
Page 1 of 40

Powered by phpBB © 2001, 2005 phpBB Group