Cómo aplicar un script a un determinado archivo/carpeta mediante un clic derecho en el explorador (para rutas UNC)

Cómo aplicar un script a un determinado archivo/carpeta mediante un clic derecho en el explorador (para rutas UNC)

Estoy buscando una manera de aplicar un script cmd o powershell a un archivo determinado haciendo clic derecho en el archivo en el explorador de Windows y eligiendo "Aplicar script XYZ".

Un caso de uso sería hacer un archivo protegido contra escritura, por lo que mi archivo por lotes contendría:

attrib +r %filename%

¿Dónde %filename%está el nombre del archivo en el que hice clic derecho en el explorador?

Un solo archivo funcionaría por ahora, pero me interesaría aplicarlo a varios archivos (seleccionando varios archivos en una carpeta) y también a carpetas enteras (seleccionando la carpeta).

La solución debería funcionar para Windows 10 y, si es posible, también para rutas UNC y Windows 7.

EDITAR: Hasta ahora logré hacer todo excepto las rutas UNC, este ejemplo funciona para archivos (usandoesta fuenteyesta fuente):

Entrada de Registro:

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\""

Archivo por lotes:

set filepath=%1
attrib +r %filepath%

Archivo por lotes (para carpetas):

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

Problemas restantes:

  • Necesito que funcione para UNC-Paths
  • devolver la ruta de la carpeta al archivo por lotes sin "" para cambiarlo a "X:\folderpath\*.*"(por el momento lo obtengo "X:\folderpath"como valor de retorno, aunque simplemente agregando \*.*funciona el resultado "X:\folderpath"\*.*no se ve muy bien, no estoy seguro si habrá algún problema en algún momento)
  • crear una protección contra escritura recursiva para todos los archivos y subcarpetas de una carpeta elegida

información relacionada