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

时间:2016-03-15 12:38:14

标签: windows batch-file command-prompt file-association

背景:

我们可以使用PATHEXT和Windows文件关联的组合来执行命令提示符,相当于右键单击资源管理器中的文件,然后单击< strong>打开,例如:

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

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

同样,我可以通过输入以下内容来启动 Photoshop

C:\art\source> StackOverflowLogo.PDF

实际问题:

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

上面有我的问候(.py),这可能会带来Python的空闲编辑器。但是,我需要一个通用的解决方案,它使用操作系统级别的文件类型关联。我不能假设它。

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

@InsertMagic /Here %1

谢谢! (我希望。)

Aaand ......解决方案:

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

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

(这有点天真,因为有潜在的引用问题,但你明白了。)

欢呼快速回答。 :)

1 个答案:

答案 0 :(得分:3)

右键单击菜单上的那些项称为 Shell 动词 ,它们可以通过目标文件的名称调用,但不能使用任何直接批处理或Windows命令调用。

Win7 / 2k8r2向上,您可以使用PowerShell从批处理文件中执行此操作:

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