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

如何从Windows右键菜单的自定义程序中获取选中文件路径

解决右键菜单传递选中文件路径的问题

核心问题在于你没给右键菜单的命令添加参数传递,Windows会通过特定占位符把选中文件的路径传给你的exe,具体操作如下:

1. 修改注册表命令值

找到你之前添加的注册表项(一般在HKEY_CLASSES_ROOT\*\shell\你的自定义菜单名\command下),把默认值从单纯的exe路径改成:

"C:\绝对路径\你的程序.exe" "%*"
  • 双引号必须加:如果exe路径或文件路径有空格,双引号能避免解析错误
  • %*代表所有选中的文件路径,会作为命令行参数传给你的exe;如果只需要单个文件,可以用%1

2. 在你的exe中接收参数

你的程序需要读取命令行传入的参数,举两个常见语言的例子:

  • Python:用sys.argv获取,sys.argv[1:]就是所有选中文件的路径列表
  • C#:用Environment.GetCommandLineArgs(),数组从索引1开始是文件路径

拿到路径后,就可以编写复制逻辑:遍历每个文件,检查目标文件夹是否存在同名文件,存在则给原文件重命名(比如加_1、_2后缀,直到找到不重复的名称),再执行复制。

注意事项

  • 如果是针对文件夹背景的右键菜单(不是选中文件),注册表位置是HKEY_CLASSES_ROOT\Directory\Background\shell,但你需要的是选中文件的场景,用前面的位置即可
  • 测试时可以先写个简单程序,把接收到的参数弹窗显示,确认路径能正确传递再写复制逻辑

内容的提问来源于stack exchange,提问作者Vinanth S Bharadwaj

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:29:58