【问题标题】:Python script won't run from the context menuPython 脚本不会从上下文菜单运行
【发布时间】:2016-05-10 00:38:07
【问题描述】:

[前两天提交给超级用户,但没人能回答,所以在这里重新发布。]

在this post(和this follow-up post)的基础上工作,我尝试添加一个python脚本(我已将其添加到路径等中,以便我可以在任何地方从命令行运行它在系统中)到上下文菜单,如下所示:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\get_abs]
@="&Get Abstracts"
"Icon"="%SystemRoot%\\System32\\shell32.dll,71"

[HKEY_CLASSES_ROOT\Directory\Background\shell\get_abs\command]
@="C:\\cmdtools\\get_abs.py"

但是,当我尝试运行它时收到一条奇怪的错误消息。

需要说明的是,我已经从我试图从上下文菜单运行它的文件夹中的命令行(使用 powershell,以防万一)成功地运行了这个脚本。

【问题讨论】:

  • 我相信command 键需要指向一个实际的可执行文件,例如.exe 文件。尝试使用 Python 解释器的路径,后跟脚本路径。
  • 你之间有一个空格,脚本路径就像一个参数?
  • 是的,我想是的。无论如何可能值得一试。您可能还需要 %1 来传递要传入的文件(最后会出现,前面还有一个空格)。
  • 做到了!把你的答案写成答案,我会正确标记。
  • 顺便说一句,我对 6502 汇编非常着迷。朗! :)

标签: python windows registry contextmenu


【解决方案1】:

Windows 本身不能执行 Python 脚本;它抱怨您没有指定.exe 文件。不过这很简单,您只需指定python.exe。跟随脚本的路径,然后是%1 - 这是单击文件路径的占位符。要允许您的命令使用其中包含空格的路径,请将 %1 用引号括起来。综上所述,我们得到:

C:\path\to\python.exe C:\path\to\your\script.py "%1"

顺便说一句,管理上下文菜单的方便实用程序是Fast Explorer。

【讨论】:

  • 脚本本身不带任何参数(它适用于运行它的文件夹中的所有文件),所以我不需要“%1”,但感谢您提及。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 2019-07-31
  • 2019-08-30
  • 2014-01-27
  • 2011-03-21
相关资源
最近更新 更多