Как применить скрипт к определенному файлу/папке через правый клик в проводнике (для UNC-путей)

Как применить скрипт к определенному файлу/папке через правый клик в проводнике (для UNC-путей)

Я ищу способ применить скрипт cmd или powershell к определенному файлу, щелкнув правой кнопкой мыши файл в проводнике Windows и выбрав «Применить скрипт XYZ».

Примером использования может быть создание файла, защищенного от записи, поэтому мой пакетный файл будет содержать:

attrib +r %filename%

где %filename%находится имя файла, по которому я щелкнула правой кнопкой мыши в проводнике.

На данный момент достаточно одного файла, но мне было бы интересно применить этот метод к нескольким файлам (выбрав несколько файлов в папке) и целым папкам (выбрав папку).

Решение должно работать для Windows 10 и, если возможно, для UNC-путей и Windows 7.

РЕДАКТИРОВАТЬ: Пока что мне удалось сделать все, за исключением UNC-путей, этот пример работает для файлов (используяэтот источникиэтот источник):

Запись в реестре:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\SomeName]
@="NameOfTheMenueItem"
"icon"="someicon.ico"

[HKEY_CLASSES_ROOT\*\shell\SomeName\command]
@="\"X:\\folder\\batchfile.cmd\" \"%1\""

Пакетный файл:

set filepath=%1
attrib +r %filepath%

Пакетный файл (для папок):

set folderpath=%1
attrib +r %folderpath%\*.*

Оставшиеся проблемы:

  • Мне нужно, чтобы это работало для UNC-Paths
  • вернуть путь к папке пакетного файла без "", чтобы изменить его на "X:\folderpath\*.*"(на данный момент я получаю "X:\folderpath"в качестве возвращаемого значения, хотя простое добавление \*.*работает, результат "X:\folderpath"\*.*выглядит не очень хорошо, не уверен, возникнут ли какие-либо проблемы в какой-то момент)
  • создать рекурсивную защиту от записи для всех файлов и подпапок выбранной папки

Связанный контент