2011-11-01 27 views
5

¿Cómo abro un archivo para edit desde la línea de comando en Windows?¿Cómo abro un archivo para editar desde la línea de comando en Windows?

Principalmente estoy buscando abrir el archivo en el editor predeterminado asociado (no debe confundirse con la acción predeterminada para este tipo de archivo).

Esto es diferente a solo "ejecutar" el archivo, por lo que start filename no es una solución.

Nota: esto requeriría usar ShellExecute de una forma u otra.

Actualización: He añadido Python como alternativa a batch.

+0

¿Se puede usar powershell? – zdan

+1

Disculpe. El editor predeterminado asociado para un archivo es exactamente el mismo que la acción predeterminada para su tipo de archivo (_default_ es la palabra clave aquí). Si desea 'editar' un archivo desde la línea de comando, escriba' edit filename.txt' que abra el editor de archivos ** EDIT **, que es el único editor de tipo orientado a texto de línea de comandos de MS-DOS incluido con Windows . PD: ¡No entiendo por qué las personas dan votaciones a una pregunta que ni siquiera entienden! – Aacini

+4

@aacini Tal vez usted es el que no entiende la pregunta, esto no tiene nada que ver con la antigua aplicación de edición de DOS. – sorin

Respuesta

1

Aquí hay un ejemplo de script de Python que abre un archivo para editar, si hay un editor asignado a su tipo de archivo.

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

Muy buen hallazgo. Asumí que necesitaría encontrar el editor asociado para la extensión del archivo en el registro, luego lanzarlo en consecuencia, lo que parece un desastre. Es bueno ver que hay una alternativa mucho más fácil, si alguna vez la necesito: D –

+0

Tengo una versión extendida que sabe que abrirá los archivos en su IDE y la publicaré antes. – sorin

Cuestiones relacionadas