NTLinks + NTLinksMaker: создание и инфо о ссылках NTFS
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 33, 34, 35, 36, 37, 38  Next  :| |:
Total Commander -> Плагины Total Commander

#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:
Именовать новые с добавкой счётчика - разве не в этом суть автопереименования в случае, когда объект по пути создаваемой ссылки уже сущестуует?
Какой объект? Одноимённый? Разберись в терминах. Я всё чётко расписал. Точнее вряд ли уже получится. Автопереименовывать существующие объекты не имеет смысла (хотя в ряде ренеймеров такая опция имеется). Новые объекты нельзя в принципе переименовывать, так как они ещё не появились на свет, им можно только присвоить имена (именовать) с добавкой счётчика или без. Ты же не будешь сперва создавать их с рандомным именем, а потом переименовывать под совпадения со счётчиком.



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


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

Goto page Previous  1, 2, 3 ... 33, 34, 35, 36, 37, 38  Next  :| |:
Page 34 of 38

Powered by phpBB © 2001, 2005 phpBB Group