2011-11-01 65 views
5

Làm cách nào để mở tệp cho edit từ dòng lệnh trong Windows?Làm cách nào để mở tệp để chỉnh sửa từ dòng lệnh trong Windows?

Chủ yếu là tôi đang tìm cách mở tệp trong trình chỉnh sửa mặc định được liên kết với nó (không bị nhầm lẫn với hành động mặc định cho loại tệp này).

Điều này khác với việc "thực thi" tệp, vì vậy start filename không phải là giải pháp.

Lưu ý: điều này sẽ yêu cầu sử dụng ShellExecute theo cách này hay cách khác.

Cập nhật: Tôi đã thêm Python làm phương án thay thế cho batch.

+0

Bạn có thể sử dụng powershell không? – zdan

+1

Xin lỗi. Trình chỉnh sửa mặc định được liên kết cho một tệp hoàn toàn giống với hành động mặc định cho loại tệp của nó (_default_ là từ khóa ở đây). Nếu bạn muốn 'chỉnh sửa 'một tệp từ dòng lệnh rồi gõ' edit filename.txt' để mở trình soạn thảo tập tin ** EDIT **, đó là trình chỉnh sửa kiểu văn bản dòng lệnh MS-DOS duy nhất có trong Windows . PS - Tôi không hiểu tại sao mọi người cho upvotes một câu hỏi mà họ thậm chí không hiểu! – Aacini

+4

@aacini Có lẽ bạn là người không hiểu câu hỏi, điều này không liên quan gì đến ứng dụng chỉnh sửa DOS cổ đại. – sorin

Trả lời

1

Đây là tập lệnh mẫu Python mở tệp để chỉnh sửa, nếu có trình chỉnh sửa được gán cho loại tệp của nó.

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

Tìm kiếm rất gọn gàng. Tôi đã giả sử bạn cần phải tìm trình soạn thảo liên quan cho phần mở rộng tệp trong sổ đăng ký, sau đó khởi chạy phù hợp, có vẻ giống như một thảm họa. Tốt để thấy có một sự thay thế dễ dàng hơn nhiều, nếu tôi cần nó: D –

+0

Tôi có và mở rộng phiên bản mà biết để mở các tập tin trong IDE của bạn và tôi sẽ xuất bản nó sớm hơn. – sorin

Các vấn đề liên quan