如何在Windows命令行中打开文件进行编辑?

5
如何在Windows命令行下以编辑模式打开文件?主要是为了在与之相关联的默认编辑器中打开该文件(不要与此文件类型的默认操作混淆)。这与仅“执行”文件不同,因此“start filename”不是解决方案。注意:这将需要以某种方式使用ShellExecute。更新:我将Python作为批处理的替代方案。

1
不好意思。与文件相关联的默认编辑器正是其文件类型的默认操作(_default_是关键词)。如果您想从命令行中“编辑”文件,则输入edit filename.txt,这将打开EDIT文件编辑器,它是Windows中唯一包含的MS-DOS命令行文本导向型编辑器。PS-我不明白为什么人们会给一个他们甚至不理解的问题点赞! - Aacini
4
也许你没有理解问题,这与古老的DOS编辑应用程序无关。 - sorin
4
在我的电脑上,*.HTML文件的默认编辑器是记事本,而我默认的操作是在浏览器中加载它作为网页。@Aacini - Paul Zaczkowski
2个回答

2
以下是一个示例Python脚本,如果文件类型有分配编辑器,则打开文件进行编辑。
import os
from ctypes import c_int, WINFUNCTYPE, windll
from ctypes.wintypes import HWND, LPCSTR, UINT
prototype = WINFUNCTYPE(c_int, HWND, LPCSTR, LPCSTR, UINT)
paramflags = (1, "hwnd", 0), (1, "text", "Hi"), (1, "caption", None), (1, "flags", 0)
MessageBox = prototype(("MessageBoxA", windll.user32), paramflags)

filename = "readme.txt"
os.startfile(filename, "edit")

try:
    os.startfile(filename, "edit")
except WindowsError, e:
    MessageBox(text=str(e))

非常好的发现。我原以为你需要在注册表中找到文件扩展名的相关编辑器,然后相应地启动,这听起来像是一场灾难。很高兴看到有一个更简单的选择,如果我需要的话 :D - Paul Zaczkowski
我有一个扩展版本,它知道如何在你的集成开发环境中打开文件,并且我会尽快发布它。 - sorin
非常感谢。我认为这一行是多余的 os.startfile(filename, "edit"),而且你忘记在 e 前面加上 as 了。 - YasserKhalil

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接