Запустить произвольный файл как файл Windows bat из Firefox?

#firefox #batch-file #content-type #file-association

#firefox #пакетный файл #тип содержимого #ассоциация файлов

Вопрос:

Допустим, у меня есть пакетный файл Windows с расширением .batscript , и скажем, у меня есть веб-сервер, настроенный для его обслуживания с типом содержимого application/x-batscript . Как я могу настроить Firefox 4 на «всегда открывать» этот файл, чтобы он запускался как стандартный пакетный файл? (У меня есть доступ к ПК, но я хочу избежать создания / установки внешних программ / расширений / плагинов)

Я не могу использовать прямой .bat , потому что Firefox не позволяет открывать их напрямую; их нужно сохранять и запускать отдельно (по очевидным соображениям безопасности).

Стандартный способ запуска пакетного файла — это, cmd /c %1 где %1 указан путь к файлу bat, но это не работает, когда %1 указан путь к файлу с пользовательским расширением файла (например, .batscript ), потому что cmd просматривается, с помощью какого приложения %1 следует открывать, поэтому добавление прямой ассоциации файлов через реестр не работает (это рекурсивно открывает cmd-подсказки).

Вместо этого я нашел обходной путь, при котором я временно копирую свой .batscript файл в .bat файл и запускаю его, используя записи реестра, подобные этой, что позволяет мне дважды щелкнуть по .batscript файлу, чтобы запустить его. Но Firefox не учитывает эти ассоциации файлов платформы!

Хорошо, итак, Firefox хочет, чтобы я определил свои ассоциации типов файлов отдельно для каждого типа содержимого: справедливо, расширения файлов и типы содержимого не всегда совпадают. Но я могу заставить Firefox запускать только отдельные приложения, и пакетный скрипт должен запускаться с cmd.exe /c %1 не только cmd %1 .

Кто-нибудь знает способ заставить Firefox либо использовать ассоциацию системных файлов, либо разрешить запуск произвольных программ с параметрами командной строки?

(Для тех, кому интересно, вариант использования похож на «внутреннее веб-приложение, которое позволяет пользователям запускать локальную программу с различным количеством параметров командной строки, нажав на ссылку» — альтернативные решения этих небольших проблем «выхода из изолированной среды» также приветствуются!)

Ответ №1:

Я думаю, вам нужно отредактировать файл MimeTypes.rdf. Для получения дополнительной информации смотрите также эту страницу.

Комментарии:

1.Правильно, мне нужно было установить атрибуту NC:useSystemDefault значение true для моего созданного mime-типа: <RDF:Description RDF:about="urn:mimetype:handler:application/x-batscript" NC:alwaysAsk="false" NC:saveToDisk="false" NC:useSystemDefault=»true» NC:handleInternal="false"> <NC:externalApplication RDF:resource="urn:mimetype:externalApplication:application/x-batscript"/> </RDF:Description>