是否可以从批处理文件启动文件的默认编辑器?

Is it possible to launch a file's default editor from a batch file?

背景:

我们可以结合使用 PATHEXT 和 Windows 文件关联来执行 命令提示符 相当于右键单击 [=] 中的文件40=]Explorer 并单击 Open,例如:

C:\code\python> echo print "Hello, Whosebug!" >hello.py

C:\code\python> hello
Hello, Whosebug!

同样,我可以使用它来启动 Photoshop,方法是键入:

C:\art\source> WhosebugLogo.PDF

实际问题:

我需要相当于在资源管理器中右键单击文件并选择 编辑 的命令提示符。

上面我的 hello(.py),可能会调出 Python 的 Idle 编辑器。但是,我需要一个通用解决方案,该解决方案对文件类型使用 OS 级关联。我不能假设。

我想做的最简单的例子就是这个假设的 EDIT.BAT 文件,它除了启动给定文件名的编辑器外什么都不做:

@InsertMagic /Here %1

谢谢! (我希望。)


Aaand...解决方案:

Alex K. 建议使用 Powershell,这当然是一个很好的解决方案。所以要在上面写我的EDIT.BAT,我可以这样做:

@powershell -command "start -verb edit '%1'"

(这有点天真,因为可能存在引用问题,但您明白了。)

为快速答复干杯。 :)

右键菜单中的那些项叫做ShellVerbs,可以通过名称来调用目标文件,但不使用任何直接批处理或 windows 命令。

Win7/2k8r2 以上,您可以使用 PowerShell 从您的批处理文件中完成:

powershell -command "start -verb edit 'C:\art\source\WhosebugLogo.PDF'"