NTFS Links - обсуждение
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Почему-то не работает
Создал команду в меню "Запуск". Команда: "D:\install\TotalCommander\NTFS Links\util_ntfslinks_x32_1.30\NtfsLinks.exe". Параметры: "%L" "%T\". Диск - NTFS. Пытаюсь сделать жёсткую ссылку на d:\1\test.bat в папке D:\123\ . Выскакивает окно программы "Создать ссылки для выделенных файлов (0 шт.) в D:\123\*.* . Глубина рекурсии для создания ссылок на каталоги: 0". Нажимаю ОК, но ссылка не создаётся. Уже не знаю куда копать. Помогите, пожалуйста.
- CaptainFlint
- Сообщения: 6239
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
- CaptainFlint
- Сообщения: 6239
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
Сделал все как написано для использования программы.
Путь: C:\Program Files\Total Commander XP\Utils\NtfsLinks\NtfsLinks.exe
Параметры: "%WL" "%T\"
TC 7.01.
При вызове программы (сделал как в справке Alt+F6) выскакивает сообщение "Failed to open list of files!". Нигде подобной проблемы не нашел. В чем проблема?
Путь: C:\Program Files\Total Commander XP\Utils\NtfsLinks\NtfsLinks.exe
Параметры: "%WL" "%T\"
TC 7.01.
При вызове программы (сделал как в справке Alt+F6) выскакивает сообщение "Failed to open list of files!". Нигде подобной проблемы не нашел. В чем проблема?
- CaptainFlint
- Сообщения: 6239
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
Альтернатива
Поставил плагин, он не умеет создавать кросс дисковые линки, по крайней мере не такие, которые бы работали везде, а не только в проводнике.
То есть не аналог команды
Сделал простенькую кнопочку на панели, но предварительно нужно создать батник где-нибудь.
mklinkd.cmd(например, в корне ТС)
Затем, добавляем кнопку на панель, либо, хотя удобнее на панели, следующих параметров:
Пробовал задать команду mklink внутри самой кнопки - не вышло, тотал говорит файл не найден, так что через батник все заработало.
В итоге работает как надо, все программы воспринимают кросслинки как нужно.
То есть не аналог команды
Код: Выделить всё
mklink /dmklinkd.cmd(например, в корне ТС)
Код: Выделить всё
mklink /d %1 %2Код: Выделить всё
Команда(путь до батника) - %Commander_path%\mklinkd.cmd
Параметры(задаем два параметра из путей для батника) - %T%N %P%N
значок по вкусу
поставить галочку - запускать свернутым
В итоге работает как надо, все программы воспринимают кросслинки как нужно.
Последний раз редактировалось denser Вс ноя 04, 2012 08:17, всего редактировалось 1 раз.
- CaptainFlint
- Сообщения: 6239
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
denser
На данный момент NTFS Links — это аналог mklink /j (для каталогов) и mklink /h (для файлов). Поддержка ссылок нового "вистовского" типа планируется в будущих версиях. Хотя я не понял насчёт "кросс дисковых": mklink /d работает только для каталогов, а ссылки на них NTFS Links умеет создавать ("точками соединения", junctions), и они работают независимо от разделов. Между разделами не получится создать жёсткие ссылки для файлов (а других ссылок на файлы NTFS Links пока делать не умеет), но и через mklink /d ссылку на файл создать невозможно, только на каталог…
На данный момент NTFS Links — это аналог mklink /j (для каталогов) и mklink /h (для файлов). Поддержка ссылок нового "вистовского" типа планируется в будущих версиях. Хотя я не понял насчёт "кросс дисковых": mklink /d работает только для каталогов, а ссылки на них NTFS Links умеет создавать ("точками соединения", junctions), и они работают независимо от разделов. Между разделами не получится создать жёсткие ссылки для файлов (а других ссылок на файлы NTFS Links пока делать не умеет), но и через mklink /d ссылку на файл создать невозможно, только на каталог…
Потому что такого файла в системе нет, это внутренняя команда интерпретатора cmd. Для вызова её требуется писать:denser писал(а):Пробовал задать команду mklink внутри самой кнопки - не вышло, тотал говорит файл не найден
Код: Выделить всё
cmd /c mklinkПочему же, ё-моё, ты нигде не пишешь "ё"?
CaptainFlint
Спасибо за подсказку насчет /с параметра, забыл про него напроч.
Про кросс-дисковые, например создать ссылку на диске С, указывающую на диск D. Плагин делает ссылку, но программа, из-за которой я делал эту ссылку - не мсмогла верно распознать ссылку как папку, поэтому я начал расследование
В плагине просто достаточно было бы сделать опцию, что использовать j или d.
Про хард-линки я в курсе, мне нужно было именно символическую ссылку на папку.
длбавлено:
К сожалению не смог заставить работать через cmd /c mklink. Выходит, что работате лишь по указанному выше методу, или может поможете разобраться как без батника сделать?
Спасибо за подсказку насчет /с параметра, забыл про него напроч.
Про кросс-дисковые, например создать ссылку на диске С, указывающую на диск D. Плагин делает ссылку, но программа, из-за которой я делал эту ссылку - не мсмогла верно распознать ссылку как папку, поэтому я начал расследование
Про хард-линки я в курсе, мне нужно было именно символическую ссылку на папку.
длбавлено:
К сожалению не смог заставить работать через cmd /c mklink. Выходит, что работате лишь по указанному выше методу, или может поможете разобраться как без батника сделать?
denser,
1. Точки соединения (junctions) и символические ссылки на папки (symlinks) для программ, читающих содержимое папки, абсолютно равнозначны. Что папка, что точка соединения, что символическая ссылка - без разницы. Все различия лежат глубоко в недрах системы. Символические ссылки менее строги к тому, какая папка может быть источником, это может быть папка с диска FAT32 или компакт-диска, или вообще с сетевого ресурса, и путь к ней может быть относительным, в то время как для точек соединения путь всегда абсолютный, и источник - папка на NTFS-разделе (любом).
2. Для создания и изменения символической ссылки необходимы права администратора. Вполне возможно, что cmd /c mklink у тебя не заработал именн по этой причине. Можешь попробовать команду sudo cmd /c mklink. Но я бы не стал создавать символические ссылки там, где вполне можно обойтись точками соединения.
1. Точки соединения (junctions) и символические ссылки на папки (symlinks) для программ, читающих содержимое папки, абсолютно равнозначны. Что папка, что точка соединения, что символическая ссылка - без разницы. Все различия лежат глубоко в недрах системы. Символические ссылки менее строги к тому, какая папка может быть источником, это может быть папка с диска FAT32 или компакт-диска, или вообще с сетевого ресурса, и путь к ней может быть относительным, в то время как для точек соединения путь всегда абсолютный, и источник - папка на NTFS-разделе (любом).
2. Для создания и изменения символической ссылки необходимы права администратора. Вполне возможно, что cmd /c mklink у тебя не заработал именн по этой причине. Можешь попробовать команду sudo cmd /c mklink. Но я бы не стал создавать символические ссылки там, где вполне можно обойтись точками соединения.
спасибо за разъяснения! Очень полезная информация. В свою очередь, обнаружил баг в своем методе, ковычки не нужны, иначе имена с пробелами не воспринимаются, так как тотал уже дает их с ковычками(по крайней мере 8.01)
Код: Выделить всё
Параметры(задаем два параметра из путей для батника) - %T%N %P%N-
DrakonHaSh
- Сообщения: 23
- Зарегистрирован: Вт сен 25, 2012 22:36
я так понял %COMMANDER_PATH% в NtfsLinks.ini не поддерживается ?
можно добавить ?
ps хотя, можно, оказалось, и так
LanguageFile=.\Language\NL_rus.lng
HelpFile=.\Help\NL_rus.chm
это ТС или сам утиль обеспечивает то, что текущим каталогом при вызове NtfsLinks.exe по em_NtfsLinks, является каталог, где лежит NtfsLinks.exe ?
можно добавить ?
ps хотя, можно, оказалось, и так
LanguageFile=.\Language\NL_rus.lng
HelpFile=.\Help\NL_rus.chm
это ТС или сам утиль обеспечивает то, что текущим каталогом при вызове NtfsLinks.exe по em_NtfsLinks, является каталог, где лежит NtfsLinks.exe ?
-
DrakonHaSh
- Сообщения: 23
- Зарегистрирован: Вт сен 25, 2012 22:36