use*_*686 8 windows windows-7 shell-extensions
是否有任何适用于 Explorer 的 shell 扩展程序可以#!
在开头使用shebang执行文本文件?
您与 Microsoft 的文件模型有很大的冲突。在 POSIX 模型中,文件名根本不指示文件是否可执行。这只是权限的范围。在 Windows 资源管理器中使用的 Microsoft 模型中,文件是否可执行还取决于其文件名,特别是扩展名。因此就有了FTYPE
命令、ASSOC
命令、PATHEXT
环境变量等等。
因此,附带条件是,这仅限于具有.CMD
扩展名的文件,为了适应上述模型,实际上有一个扩展名会将以 开头的文件传递#!
给该行上指定的脚本解释器。它是JP Software 的 TCC,一个替代命令解释器,同时支持#!
和EXTPROC
。可以告诉资源管理器将所有文件移交.CMD
给 TCC,TCC 反过来将读取文件#!
并将其移交给指定的脚本解释器。
如果您想#!
在资源管理器中使用任何其他文件扩展名,那么您就会遇到范式冲突,并且您必须切换到使用文件扩展名关联,就像使用 CGI 脚本的人在 超链接到的文章中所做的那样new123456
。Windows 资源管理器使用的范例是确定脚本解释器的扩展名,而不是文件内容中的幻数。
归档时间: |
|
查看次数: |
4218 次 |
最近记录: |