2011-11-01 437 views
5

如何在Windows下從命令行打開edit的文件?如何在Windows下的命令行中打開文件進行編輯?

主要是我打算在與之相關的默認編輯器中打開文件(不要與此文件類型的默認操作混淆)。

這不僅僅是「執行」文件,所以start filename不是一個解決方案。

注意:這將需要以某種方式使用ShellExecute。

更新:我添加了Python作爲batch的替代方案。

+0

你可以使用powershell嗎? – zdan

+1

不好意思。與文件關聯的默認編輯器與其文件類型的默認編輯器完全相同(_default_是此處的關鍵詞)。如果你想從命令行編輯一個文件,然後輸入「edit filename.txt」,打開** EDIT **文件編輯器,這是Windows中包含的唯一的MS-DOS命令行文本導向型編輯器。 PS - 我不明白爲什麼人們對他們甚至不理解的問題給出了讚揚! – Aacini

+4

@aacini也許你是一個不理解問題的人,這與古代編輯DOS應用程序無關。 – sorin

回答

1

下面是一個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)) 
+0

非常整齊的發現。我假設你需要在註冊表中找到關聯的文件擴展名編輯器,然後相應地啓動,這聽起來像是一場災難。很高興看到有一個更容易的選擇,如果我需要它:D –

+0

我有和擴展版本,知道打開您的IDE中的文件,我會盡快發佈。 – sorin

相關問題