2011-11-01 5 views
5

Comment ouvrir un fichier pour edit à partir de la ligne de commande sous Windows? Principalement, je cherche à ouvrir le fichier dans l'éditeur par défaut qui lui est associé (à ne pas confondre avec l'action par défaut pour ce type de fichier).Comment ouvrir un fichier à modifier à partir de la ligne de commande sous Windows?

Ceci est différent de simplement "l'exécution" du fichier, donc start filename n'est pas une solution.

Remarque: cela nécessiterait d'utiliser ShellExecute d'une manière ou d'une autre. Mise à jour: J'ai ajouté Python comme alternative à batch.

+0

Pouvez-vous utiliser PowerShell? – zdan

+1

Excusez-moi. L'éditeur par défaut associé à un fichier est exactement le même que l'action par défaut pour son type de fichier (_default_ est le mot clé ici). Si vous voulez éditer un fichier à partir de la ligne de commande, saisissez 'edit filename.txt' pour ouvrir l'éditeur de fichier ** EDIT **, seul éditeur de texte en ligne de commande MS-DOS inclus avec Windows . PS - Je ne comprends pas pourquoi les gens donnent des votes upvotes à une question qu'ils ne comprennent même pas! – Aacini

+4

@aacini Peut-être que vous êtes celui qui ne comprend pas la question, cela n'a rien à voir avec l'ancienne application DOS d'édition. – sorin

Répondre

1

Voici un exemple de script Python qui ouvre un fichier à modifier, s'il existe un éditeur affecté à son type de fichier.

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

Trés belle trouvaille. Je supposais que vous auriez besoin de trouver l'éditeur associé pour l'extension de fichier dans le registre, puis lancer en conséquence, ce qui ressemble à un désastre. Bon à voir il y a une alternative beaucoup plus facile, si jamais j'en ai besoin: D –

+0

J'ai et version étendue qui sait ouvrir les fichiers dans votre IDE et je le publierai plus tôt. – sorin

Questions connexes