You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过注册表获取右键点击文件的名称与路径并传递给Python脚本

解决右键菜单传递文件参数到Python脚本的问题

问题根源

在PowerShell里,%属于自动变量(比如%等价于ForEach-Object),直接写%1、%V会被PowerShell自动解析,没法原样写入注册表,导致右键点击时无法正确传递文件的路径和名称参数。

修复后的PowerShell代码

有两种可行的修复方式:

方式1:转义%符号

用反引号`把%转义,让PowerShell把它当作普通字符写入注册表:

Set-ItemProperty -Path $commandKey -Name '(default)' -Value "cmd /C `"C:\Program Files\IronPython 2.7\ipy.exe`" `"$scriptPython`" ``%1 ``%V"

方式2:用单引号包裹值内容(更简洁)

PowerShell里单引号包裹的内容不会解析内部变量和特殊符号,适合不需要展开$scriptPython的场景:

Set-ItemProperty -Path $commandKey -Name '(default)' -Value 'cmd /C "C:\Program Files\IronPython 2.7\ipy.exe" "你的脚本路径" "%1" "%V"'

如果$scriptPython是需要PowerShell展开的变量,就用混合引号写法:

Set-ItemProperty -Path $commandKey -Name '(default)' -Value "cmd /C `"C:\Program Files\IronPython 2.7\ipy.exe`" `"$scriptPython`" '%1' '%V'"

验证说明

修复完成后,查看注册表对应项的默认值,会显示为cmd /C "C:\Program Files\IronPython 2.7\ipy.exe" "你的脚本路径" "%1" "%V",右键点击文件时,系统会自动把%1替换为文件路径(旧格式)、%V替换为文件完整路径(支持UAC提升的新格式),正确传递给你的Python脚本。

内容的提问来源于stack exchange,提问作者JPcoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 15:45:08