5

Есть ли расширение для Explorer, которое будет выполнять текстовые файлы с #! Шебанг в начале?

2 ответа2

2

Вы очень сильно конфликтуете с моделью Microsoft для файлов. В модели POSIX имя файла вообще не определяет, является ли файл исполняемым. Это только провинция разрешений. В модели Microsoft, используемой в Windows Explorer, исполняемый файл также определяется его именем, в частности, расширением. Следовательно, команда FTYPE команда ASSOC , переменная среды PATHEXT и т.д.

Итак, при условии, что это ограничено файлами с .CMD, чтобы соответствовать вышеупомянутой модели, на самом деле есть расширение, которое будет передавать файлы, начинающиеся с #! к интерпретатору сценария, названному в этой строке. Это TCC от JP Software, заменяющий интерпретатор команд, который имеет оба #!и поддержка EXTPROC. Исследователь может сказать, чтобы передать все .CMD файлы в TCC, который в свою очередь будет читать #! и передать именованному интерпретатору сценария.

Если вы хотите использовать #! с любыми другими расширениями файлов в Проводнике, тогда вы столкнетесь с конфликтом парадигмы, и вам придется переключиться на использование ассоциаций расширений файлов, как это делал человек со сценарием CGI в статье с гиперссылкой new123456 . Интерпретатор сценариев, определяющий расширение, а не магические числа в содержимом файла, - это парадигма, которую использует Windows Explorer.

0

Если ваш текстовый файл происходит с файлом Python, то вы можете делать именно то, что вы хотите, используя pylauncher.
Из документов:

PEP 397 совместимый лаунчер для Python под Windows. Смотрите http://www.python.org/dev/peps/pep-0397/ для PEP, http://www.red-dove.com/screencasts/launcher/la... для просмотра экрана.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .