如何通过在资源管理器中单击右键将脚本应用于某个文件/文件夹(针对 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"\*.*看起来不太好,不确定是否会出现任何问题)
  • 为选定文件夹的所有文件和子文件夹创建递归写保护

相关内容