如何运行确定当前目录作为参数并传递给从上下文菜单激活的脚本

如何运行确定当前目录作为参数并传递给从上下文菜单激活的脚本

不确定标题是否完全合适,所以让我解释得更清楚一些。我有一个现有的 powershell 脚本,它可以删除特定文件类型的备份。我希望能够做的是右键单击任何文件夹或桌面,然后通过上下文菜单上的自定义条目运行脚本。我对编程知之甚少,我不确定我是否需要另一个脚本来:

  1. 确定当前文件夹
  2. 将此值传递给现有的 powershell 脚本
  3. 让 powershell 脚本进程使用当前目录值来检测并删除备份文件。

我认为我需要为 HKEY_CLASSES_ROOT\DesktopBackground\Shell\ 和 HKEY_CLASSES_ROOT\Directory\Shell\ 创建单独的注册表项,但我不确定这些项应该包含什么,以及我需要对脚本进行哪些修改才能使其按照上面概述的方式运行。

谢谢

答案1

我有在当前目录中打开 PowerShell 的注册表项,但可以相当轻松地对其进行调整以满足您的目的:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\powershell]
@="My PS Script"

[HKEY_CLASSES_ROOT\Directory\Background\shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -File '[ENTER FILE PATH HERE]' -[Argument] '%V'"

[HKEY_CLASSES_ROOT\Directory\shell\powershell]
@="My PS Script"

[HKEY_CLASSES_ROOT\Directory\shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -File '[ENTER FILE PATH HERE]' -[Argument] '%L'"

[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -File '[ENTER FILE PATH HERE]' -[Argument] '%V'"

如果您希望它随后关闭,则可以排除该-NoExit开关,并且显然您需要交换所需的 shell 菜单名称和脚本路径。

粘贴到记事本中,保存为 .reg 文件,就可以了!

第一个和第二个键用于右键单击任何标准目录的背景。第三个和第四个键用于右键单击文件夹,第五个键用于库文件夹(例如文档或音乐 - 我不知道它们为什么不同。我也不知道为什么这个不需要名称)。

相关内容