有没有办法在从命令提示符运行文件时和从资源管理器(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