Есть ли расширение для Explorer, которое будет выполнять текстовые файлы с #!
Шебанг в начале?
2 ответа
Вы очень сильно конфликтуете с моделью Microsoft для файлов. В модели POSIX имя файла вообще не определяет, является ли файл исполняемым. Это только провинция разрешений. В модели Microsoft, используемой в Windows Explorer, исполняемый файл также определяется его именем, в частности, расширением. Следовательно, команда FTYPE
команда ASSOC
, переменная среды PATHEXT
и т.д.
Итак, при условии, что это ограничено файлами с .CMD
, чтобы соответствовать вышеупомянутой модели, на самом деле есть расширение, которое будет передавать файлы, начинающиеся с #!
к интерпретатору сценария, названному в этой строке. Это TCC от JP Software, заменяющий интерпретатор команд, который имеет оба #!
и поддержка EXTPROC
. Исследователь может сказать, чтобы передать все .CMD
файлы в TCC, который в свою очередь будет читать #!
и передать именованному интерпретатору сценария.
Если вы хотите использовать #!
с любыми другими расширениями файлов в Проводнике, тогда вы столкнетесь с конфликтом парадигмы, и вам придется переключиться на использование ассоциаций расширений файлов, как это делал человек со сценарием CGI в статье с гиперссылкой new123456
. Интерпретатор сценариев, определяющий расширение, а не магические числа в содержимом файла, - это парадигма, которую использует Windows Explorer.
Если ваш текстовый файл происходит с файлом Python, то вы можете делать именно то, что вы хотите, используя pylauncher.
Из документов:
PEP 397 совместимый лаунчер для Python под Windows. Смотрите http://www.python.org/dev/peps/pep-0397/ для PEP, http://www.red-dove.com/screencasts/launcher/la... для просмотра экрана.