2011-05-30 120 views
1

假设我有一个文件扩展名为.batscript的windows批处理文件,并且说我有一个web服务器设置为使用内容类型为application/x-batscript的服务器。我如何设置Firefox 4以“始终打开”此文件,以便它以标准批处理文件运行? (我有权访问PC但希望避免创建/安装外部程序/扩展/插件)从Firefox运行一个任意文件作为windows bat文件?

我不能直接使用.bat,因为Firefox不允许直接打开它们;他们必须保存并分开运行(出于明显的安全原因)。

运行批处理文件的标准方法是cmd /c %1其中%1是路径bat文件,但是当%1是与自定义文件扩展名的文件的路径(如.batscript),因为cmd这不工作查找应该用什么应用%1打开,所以通过注册表添加直接文件关联不起作用(递归地打开cmd提示)。

相反,我发现周围的工作,我暂时我.batscript文件复制到.bat文件并运行它,使用注册表项like this,这让我双击一个.batscript文件来运行它。但是Firefox不尊重这些平台文件关联!

好吧,所以Firefox需要我为每个内容类型分别定义我的文件类型关联:足够公平,文件扩展名&内容类型不总是相同的。但我只能让Firefox运行离散的应用程序,并且批处理脚本需要与cmd.exe /c %1运行,而不仅仅是cmd %1

有没有人知道强制Firefox使用系统文件关联或允许使用命令行参数启动任意程序的方法? (对于那些想知道的,这个用例类似于“一个内部的web应用程序,它允许用户通过点击一个链接来运行一个具有不同数量的命令行参数的本地程序” - 这些小的“破解出沙箱“的问题也欢迎!)

回答

1

我想你需要编辑MimeTypes.rdf文件。欲了解更多信息,请参阅this page

+1

正确,我需要将属性'NC:useSystemDefault'设置为true,以使我编造mime类型: ' Caspar 2011-05-31 01:23:47