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

如何在Windows资源管理器中直接使用Python脚本打开多个文件

实现Windows右键选中多文件调用Python脚本的方案

完全可以实现,核心逻辑是Windows资源管理器选中多个文件后通过「打开方式」启动程序时,会把所有选中文件的绝对路径作为参数传递给目标程序,Python可直接通过sys.argv读取这些路径做自定义处理,以下是完整步骤:

第一步:编写Python处理脚本

以你提到的合并PDF场景为例,先安装依赖库:
pip install pypdf2
编写脚本(示例命名为pdf_merge.py,可自行修改处理逻辑适配其他需求):

import sys
import os
from PyPDF2 import PdfMerger

# 读取所有传入的文件路径,sys.argv[0]是脚本自身路径,从下标1开始是选中的文件路径
input_files = sys.argv[1:]

if not input_files:
    # 没有选中文件直接退出
    sys.exit()

# 初始化PDF合并器
merger = PdfMerger()
for pdf_path in input_files:
    # 只处理后缀为pdf的文件,避免误传其他格式
    if os.path.splitext(pdf_path)[1].lower() == '.pdf':
        merger.append(pdf_path)

# 合并后的文件保存在第一个选中PDF所在的文件夹,命名为merged_result.pdf
output_path = os.path.join(os.path.dirname(input_files[0]), "merged_result.pdf")
merger.write(output_path)
merger.close()

第二步:配置右键打开关联

这里要注意一个常见坑:如果直接把打开方式关联到.py后缀的脚本,Windows默认只会传递第一个选中的文件路径,需要用以下两种方式之一解决:

方式1:批处理中转(无需打包,适合本地有Python环境的场景)

新建一个文本文件,修改后缀为.bat(示例命名为run_pdf_merge.bat),写入以下内容,注意替换成你自己的Python脚本实际路径:

@echo off
python "C:\your\path\to\pdf_merge.py" %*

右键任意PDF文件 → 「打开方式」→ 「选择其他应用」→ 下拉到最底部选「在此电脑上查找其他应用」→ 选中刚才创建的.bat文件,勾选「始终使用此应用打开.pdf文件」即可。

方式2:打包成EXE(无环境依赖,传播更方便)

如果需要在没有Python环境的电脑上使用,可以把脚本打包成单EXE文件:

  1. 先安装打包工具:pip install pyinstaller
  2. 执行打包命令:pyinstaller -F -w pdf_merge.py
    • -F参数表示打包成单个独立EXE文件
    • -w参数表示运行时不弹出黑控制台窗口,不需要看运行日志可以加,调试阶段建议去掉
  3. 打包完成后,EXE文件会生成在脚本同级的dist文件夹内,直接把打开方式关联到这个EXE即可,不存在参数传递限制。

第三步:效果验证

选中多个目标PDF文件,右键选择你配置的关联程序,等待几秒即可在第一个PDF所在的文件夹看到合并后的结果文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:12:00