是否可以从批处理文件启动文件的默认编辑器?
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'"
背景:
我们可以结合使用 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'"