Windows Powershell:通过上下文菜单执行命令?

Windows Powershell:通过上下文菜单执行命令?

我正在使用 kramdown 将我的 markdown 格式的源文件转换为 html。我一直使用的命令是:

kramdown %filename | Out-Clipboard

(Out-Clipboard 来自奇妙的聚苯乙烯泡沫塑料。这意味着我格式化的 html 可以立即粘贴到另一个程序或编辑器中)

我希望简化这个过程,并能够使用上下文菜单项来执行相同的操作,而不是每次都打开 shell 并输入命令。将这些指令传递给 powershell 并将其添加为菜单选项的最佳方法是什么?

答案1

您可以使用以下格式从命令行(批处理文件等)运行 PowerShell 命令:

C:\> PowerShell <PowerShell command you want to run>

IE: C:\> PowerShell "kramdown MyFileName.txt | Out-Clipboard"

所以我们可以在上下文菜单项中使用它。

为简单起见,您可以按以下方式添加新的上下文菜单命令,以便针对您选择/右键单击的文件运行它(这可能不是执行此操作的唯一方法):

  • 前往HKEY_CLASSES_ROOT\*\shell注册表。
  • 创建一个名为您想要的新键(例如“Kramdown”)。
  • 将该新键的“默认”REG_SZ 值设置为您想要在上下文菜单上显示的文本(例如“Kram This Down”)。
  • 在刚刚创建的键内创建另一个新键,并将其命名为“command”。
  • 设置新“命令”键中的“默认”REG_SZ 的值以运行您想要的命令。

您要输入的命令与上面的类似,只需要我们在命令提示符中告诉它执行此操作,并使用 %1 变量,以便它知道您单击的文件:

cmd /C PowerShell "kramdown %1 | Out-Clipboard"

/C 导致 CMD 窗口在完成后关闭。

一旦您进行这些注册表更改,它们就会影响上下文菜单,因此您无需注销或重新启动即可启用或测试您的更改。

由于我没有您的源文件、Kramdown 或 Out-Clipboard,因此我无法对其进行 100% 测试;但如果它不能按原样“工作”,这些信息应该足以让您开始使用。:)

相关内容