Gibt es eine Shell-Erweiterung für den Explorer, die #!am Anfang Textdateien mit einem Shebang ausführt ?
Gibt es eine Shell-Erweiterung für den Explorer, die #!am Anfang Textdateien mit einem Shebang ausführt ?
Antworten:
Sie stehen in großem Konflikt mit dem Microsoft-Modell für Dateien. Im POSIX-Modell bestimmt der Dateiname nicht, ob eine Datei überhaupt ausführbar ist. Das ist nur die Provinz der Berechtigungen. Im Microsoft - Modell in Windows Explorer verwendet, ob eine Datei ausführbar ist , wird auch durch seine Datei bestimmt Namen , insbesondere durch die Erweiterung. Daher der FTYPEBefehl, der ASSOCBefehl, die PATHEXTUmgebungsvariable und so weiter.
Unter der Voraussetzung, dass dies auf Dateien mit der .CMDErweiterung beschränkt ist , gibt es eine Erweiterung, die Dateien beginnend mit #!an den in dieser Zeile genannten Skript-Interpreter weitergibt , damit sie in das oben genannte Modell passen . Es ist das TCC von JP Software , ein Ersatzbefehlsinterpreter, der beides #!und EXTPROCUnterstützung bietet . Der Explorer kann angewiesen werden, alle .CMDDateien an TCC weiterzugeben, die diese wiederum lesen #!und an den angegebenen Skriptinterpreter weitergeben.
Wenn Sie #!mit anderen Dateierweiterungen im Explorer arbeiten möchten, stoßen Sie auf den Paradigmenkonflikt und müssen auf die Verwendung von Dateierweiterungszuordnungen umstellen, genau wie die Person mit dem CGI-Skript im Artikel, auf den per Hyperlink verwiesen wurde new123456. Das Paradigma, das Windows Explorer verwendet, bestimmt den Skriptinterpreter für die Erweiterung und nicht die magischen Zahlen im Dateiinhalt.
Wenn Ihre Textdatei von einer Python-Datei stammt, können Sie mit dem Pylauncher genau das tun, was Sie wollen .
Aus den Dokumenten:
PEP 397-kompatibler Launcher für Python unter Windows. Siehe http://www.python.org/dev/peps/pep-0397/ für PEP, http://www.red-dove.com/screencasts/launcher/la ... für Screencast