我可以双击一个文件并使用与其关联程序以外的其他程序打开它吗?

我可以双击一个文件并使用与其关联程序以外的其他程序打开它吗?

有没有办法在从命令提示符运行文件时和从资源管理器(GUI)打开(双击)文件时建立单独的文件类型关联?

我想运行 python 脚本而不必在其前面加上python。因此我运行了以下命令:

ASSOC .py=Python
FTYPE Python=D:\Software\Installed\Anaconda\python.exe %1 %*

我还希望当我在 Windows 资源管理器中双击该文件时能够使用 Notepad++ 打开该脚本。

我知道我可以右键单击脚本并选择“使用 Notepad++ 编辑”,但如果我选择将.py文件与之关联,这是唯一的选项python.exe吗?

编辑

根据@Fabby的建议,我创建了一个edit_or_run.py脚本:

import os
import psutil
import subprocess
import sys

running_from = psutil.Process(os.getpid()).parent().name()

if running_from == 'cmd.exe':
    subprocess.Popen(['python.exe'] + sys.argv[1:])
elif running_from == 'explorer.exe':
    subprocess.Popen(['C:/Program Files (x86)/Notepad++/notepad++.exe', sys.argv[1]])

并更改了文件类型关联,以便.py使用以下脚本打开文件:

FTYPE Python=D:\Software\Installed\Anaconda\python.exe D:\Software\Installed\edit_or_run.py "%1" %*

笔记:可以。但是在资源管理器中打开时,需要一秒钟才能用 Notepad++ 打开。

答案1

您想鱼与熊掌兼得吗?这是可能的,但您需要准备两个蛋糕:一个用来吃,另一个用来留着…… :-)

因此,就您而言,您需要将其与第三个程序关联:

ASSOC .py=Python
FTYPE Python=D:\Software\Installed\Anaconda\python.exe D:\Software\Installed\MaheshChoose.py %1 %*

您编写的 Python 程序在哪里MaheshChoose可以为您提供以下选择:

Edit
Run

相关内容