【发布时间】:2011-05-30 10:31:38
【问题描述】:
假设我有一个文件扩展名为 .batscript 的 Windows 批处理文件,并说我已经设置了一个 Web 服务器来为它提供内容类型为 application/x-batscript 的服务。如何将 Firefox 4 设置为“始终打开”此文件,以便它作为标准批处理文件运行? (我可以使用 PC,但希望避免创建/安装外部程序/扩展程序/插件)
我不能直接使用.bat,因为 Firefox 不允许直接打开它们;它们必须单独保存和运行(出于明显的安全原因)。
运行批处理文件的标准方法是cmd /c %1,其中%1 是bat 文件的路径,但是当%1 是具有自定义文件扩展名的文件的路径时(例如as .batscript) 因为cmd 查找应该用什么应用程序%1 打开,所以通过注册表添加直接文件关联不起作用(它递归地打开cmd提示符)。
相反,我找到了一个解决方法,我可以暂时将我的 .batscript 文件复制到 .bat 文件并运行它,使用注册表项 like this,它允许我双击 .batscript 文件来运行它。但是 Firefox 不尊重这些平台文件关联!
好的,所以 Firefox 希望我为每个内容类型分别定义我的文件类型关联:很公平,文件扩展名和内容类型并不总是相同的。但是我只能让 Firefox 运行离散的应用程序,并且批处理脚本需要使用 cmd.exe /c %1 而不仅仅是 cmd %1 运行。
是否有人知道强制 Firefox 使用系统文件关联或允许使用命令行参数启动任意程序的方法?
(对于那些想知道的人来说,用例类似于“一个内部 Web 应用程序,它允许用户通过单击一个链接来运行具有不同数量的命令行参数的本地程序”——这些小“突破”的替代解决方案沙盒”的问题也欢迎!)
【问题讨论】:
标签: firefox batch-file content-type file-association