PDA

Показать полную графическую версию : [решено] Создание аналога одного из пунктов контекстного меню - "Рабочий стол (создать ярлык)"


PCRepair
23-12-2014, 22:53
Для кого-то мой вопрос возможно покажется мелким, незначительным, глупым или мои методы решения нецелесообразными, тем не менее прошу постараться не флудить, лучше пройти мимо. Если есть что написать по делу - пишите!
Я постарался максимально подробно описать суть вопроса. Возможно у кого-то появятся мысли альтернативного решения моей задачи.



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


Дано:
Windows 7. X64 (если это имеет значение).
В моей ОС есть n-ое кол-во разделов дисков.
Используя торрент-клиент (uTorrent), скачиваю софт, медиа (много контента) на один из разделов, по пути - H:\Torrents.

Данная папка целенаправленно сделана как отстойник - здесь скапливаются, а затем сортируются по другим каталогам разные типы файлов.
Периодически заходя в папку и выбирая новые фильмы (не все, а только те, которые планирую посмотреть в ближайшее время) для будущего просмотра делаю следующее:
1. ПКМ на нужном файле > "отправить" > "Рабочий стол (создать ярлык)"
2. Ярлык только что созданный на раб. столе перемещаю в каталог "Films", находящийся так же на раб. столе.


Задача:
Объеденить 2-а вышеуказанных пункта в один. Другими словами создать в контекстном меню файла пункт "Films - (создать ярлык)", НЕ ФАЙЛ ОТПРАВИТЬ В ПАПКУ, а создать ярлык и отправить в папку, т.е. сделать аналог пункта меню - "Рабочий стол (создать ярлык)", только использую немного другой путь.



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

Поиск в реестре. По запросу "Рабочий стол (создать ярлык)" было найдено:

HKEY_CLASSES_ROOT\Local Settings\MuiCache\84\B1A07F78
Строковый параметр - @sendmail.dll,-21

Поиск в системе вышеобозначенной библиотеки. Найдены следующие пути с ее упоминанием.
C:\Windows\System32
C:\Windows\SysWOW64
C:\Windows\winsxs\amd64_microsoft-windows-sendmail_31bf3856ad364e35_6.1.7600.16385_none_b6de 6c0835b43484
C:\Windows\winsxs\wow64_microsoft-windows-sendmail_31bf3856ad364e35_6.1.7600.16385_none_c133 165a6a14f67f


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




Предваряя возможные предложения:
1. Не предлагать замену торрент-клиента (я знаю, что существуют клиенты с автоматической фильтрацией котента по папкам, по типу того как это делает download master)
2. Не предлагать батник автоматически фильтрующий контент по папкам. Но предлагать другие батники, способные решить мою задачу.
3. Не предлагать чистить папки от мусора (старого контента). Я и так периодически это делаю.
4. Не предлагать софт использующий (создающий) библиотеки, как это делает, например, дефолтный плеер винды. Привык использовать прямые пути к файлам.






Пока писАл данный пост меня озарило - зачем создавать папку "Films" на раб. столе, когда ее можно создать по пути H:\Torrents. А после ярлык на нее добавить на рабочий стол и в контекстное меню проводника - C:\Users\Admin\AppData\Roaming\Microsoft\Windows\S endTo.
Но не тут то было. Я забыл про то, что файл не перемещается, используя дунный пункт, а копируется в конечную папку - это меня не устраивает.


Погуглив набрел на это:
"Если вы щелкаете на ярлык папки в пункте «Отправить», выделенный элемент копируется. Если в момент щелчка вы удерживаете клавишу SHIFT папка или файл будут перемещены." + сам пункт становится расширенным - появляются новые папки в меню "отправить".
С ПК работаю уже лет 15, а об этой фишке узнаю впервые - позор мне (:. Интересно как давно ввели данную фишку или она была с "рождения" данного пункта меню?

В принципе решение уже близко, но все равно это не то. Здесь необходимо задействовать вторую руку (для нажатия шифта), а она бывает так удобно расположена под подбородком, что лень менять положение тела (:.
Можно конечно использовать макросы моей мышки X7 или автохоткей, но мне хотелось бы обойтись только средствами самой Windows.

Vadikan
24-12-2014, 10:00
В панель избранного проводника добавить папку Films, перетаскивать в нее файлы с зажатым Alt. Надо и второй рукой работать, а то атрофируется :)

См. также:
Как ускорить работу в системе с помощью избранного (http://www.outsidethebox.ms/11061/)
Ускорение работы в Windows и программах с помощью перетаскивания (http://www.outsidethebox.ms/13562/)
14 способов использования мыши в связке с клавиатурой для ускорения работы (http://www.outsidethebox.ms/13539/)

PCRepair
24-12-2014, 21:04
Vadikan, благодарю. Много полезной инфы для изучения.


С дружественного форума тоже дан ответ, на 100% удовлетворяющий мои запросы.

Set oWS = WScript.CreateObject("WScript.Shell")
Set oFS = CreateObject("Scripting.FileSystemObject")
sFilePath = Wscript.Arguments.Item(0)
sFile = oFS.GetFileName(sFilePath)
sFolder = "D:\"
Set oLink = oWS.CreateShortcut(sFolder & sFile & " - Ярлык.lnk")
oLink.TargetPath = sFilePath
oLink.Save
"Сохранить в папку sendto с расширением vbs.
При отправке файла в этот скрипт (он таким образом получит параметром полный путь к файлу - Wscript.Arguments.Item(0)) он создаст ярлык в корне диска D."

Автор кода: vink

Nordek
24-12-2014, 21:08
Использование bat-файлов. »
Shortcut (http://www.optimumx.com/downloads.html#Shortcut)

Создал папку "Shortcut" в "C:\ProgramData"
Файл "Shortcut.exe" поместил в ранее созданную папку Shortcut (C:\ProgramData\Shortcut)

Создал BAT-файл со следующим содержимым:
"%ProgramData%\Shortcut\shortcut.exe" /f:"%UserProfile%\Videos\%~n1.lnk" /a:c /t:%1
сохранил BAT-файл: Файл » Сохранить:
Имя файла: Отправить в папку Видео.bat
Тип файла: Все файлы
Сохранить.

После сохранения, BAT-файл отправил в "%APPDATA%\Microsoft\Windows\SendTo" ("C:\Users\[Имя пользователя]\AppData\Roaming\Microsoft\Windows\SendTo").

Правая кнопка мыши по файлу,
Отправить в папку Видео
Создаётся ярлык в папке "C:\Users\[Имя пользователя]\Videos".

PCRepair
24-12-2014, 21:20
Nordek, Спасибо огромное! Мне сегодня просто нереально прет. У меня теперь есть два решения данной задачи!
Успехов вам!
ЗЫ. На сайте с "Shortcut.exe" похоже много чего еще интересного есть (:.




© OSzone.net 2001-2012