Страница 1 из 1
Автоматическое Создание Soft Link
Добавлено: Вт мар 23, 2010 19:12
newsky
Здравствуйте, хотел попросить помощи вот в какой задаче:
1. ТС 7 версии
2. Установлен плагин NtfsLinks
3. Есть папка, в которой появляются новые папки с файлом (фильмы) такого вида: Переведённое Название (год)/Оригинальное_название_(год).расширение
4. Есть папка на другом диске такого вида: Фильмы А-Я/А и весь алфавит. То-есть в папке Фильмы А-Я имеется 28 папок где имя папки = букве алфавита.
5. Необходимо, при появлении в первой папке новой папки с фильмом, создавать soft link в папку исходя из того, что первая буква папки (читай первая буква переведённого названия) и есть папка назначения для soft link.
Хотелось бы стать счастливым обладателем некоего скрипта или другого механизма, для выполнения поставленной задачи в "ручном" режиме, ну, а если возможно такое чудо, как и автоматический режим, без присутствия пользователя, это было-бы просто великолепно. Спасибо.
Добавлено: Вт мар 23, 2010 19:27
Вахмурка
Три соображения.
1) NTFSlink не поддерживает параметры командной строки (по крайней ере, они не описаны в справке), поэтому все равно придется ее запускать (пусть и автоматически), жать там ОК... Так что полной автоматизации все равно не получится;
2) Настораживает слово "появляются". Каким образом? Их кто-то копирует? Кто? Откуда? Может, имеет смысл перехватывать файлы до их "появления", тогда часть проблем будет решена;
3) Если они появляются неожиданно (например, скачиваются какой-нибудь медленной качалкой), то имеет смысл посмотреть в сторону режима WatchDir - он должен сообщить, что, мол, появились новые файлы.
Добавлено: Вт мар 23, 2010 20:36
newsky
to Вахмурка: Спасибо за желание помочь!
1) Да, жать там ОК, это самое оно
2) "Появляются" банально... качаю с трекеров, руками создаю папку, указываю "правильное" имя файла, НО, складировать имеется возможность только в одну папку, всё вместе, на один диск, а вот софт линки и собраны в одном месте со всех дисков, а когда в папке сотни папок, понять, какая уже имеет софт линк в папке с буквой, какая нет, очень сложно, да и хотелось автоматизировать данный процесс.
3) Впринципе, если всё-равно (условно) жать ОК, то и усложнять не хотелось бы. Это я к вопросу WatchDir, оперативность, особенная в этой часте не критична (хотелось бы конечно максимально автоматически, но и полуавтоматический режим приемлим). Технология простая: Установил на закачку торрентов 15-20, к вечеру всё скачалось и потом, можно и создать софт линки, нажав некий ОК. Забыл сразу подчеркнуть то, что необходимо создать софт линки именно на вновь появившиеся папки, ибо в алфавитных папках уже содержатся папки с фильмами со всех дисков системы.
Добавлено: Вт мар 23, 2010 20:53
CaptainFlint
newsky
Утилита NTFS Links разрабатывалась исключительно с целью обеспечить удобное и наглядное создание ссылок непосредственно из Тотала, с упором на графический интерфейс, максимально напоминающий стандартные диалоги копирования и перемещения в Тотале. Для задач автоматизированного создания ссылок эта программа — далеко не лучший выбор. Есть куча специализированных инструментов, работающих из командной строки и не требующих интерактивности: предустановленные в виндах утилиты fsutil (начиная с XP) и mklink (начиная с Висты), бесплатная программа Марка Руссиновича junction, и т.д. Их было бы использовать гораздо удобнее.
Добавлено: Ср мар 24, 2010 10:33
Loopback
Если нет возражений против
Autoit, то вот скрипт на нем:
Код: Выделить всё
$sSourceDir = "<Путь к источнику>"
$sTargetDir = "<Путь к целевой папке>"
$hSearch = FileFindFirstFile($sSourceDir & "\*")
While 1
$sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
If @extended Then
$sLtr = StringLeft($sFile, 1)
FileCreateNTFSLink ($sSourceDir & "\" & $sFile, $sTargetDir & "\" & $sLtr & "\" & $sFile)
EndIf
Wend
FileClose($hSearch)
При желании, можно повесить его, например, на планировщик - и будет полная автоматика.
Добавлено: Ср мар 24, 2010 15:11
newsky
Loopback:
Большое вам спасибо и низкий поклон! Всё работает как надо! Очень удобно! Огромное Спасибо!!!