我找不到任何方法,例如,以下内容:
cmd.exe /C "script.txt"
换句话说,如果它包含有效的批处理脚本代码,我需要命令提示符(尝试)执行带有任何扩展名的文件(不一定是 .bat
或 .cmd
) . 我正在寻找类似于Unix shell的行为:
./script.txt
在Unix上,shebang( #!/bin/sh
)负责了解该文件实际上是一个脚本,它似乎在Windows .bat
或 .cmd
扩展名中扮演相同的角色,表示命令提示符的批处理脚本文件 .
是否可以避免这种情况并强制命令提示符解释具有任何名称的文件?
NOTE: 请不要回答:
提供.bat或.cmd文件扩展名 .
这不是问题所在 .
2 回答
你首先需要一个“安装”脚本:
然后尝试一个简单的
.test
文件:实际上
ASSOC
和FTYPE
都会立即生效,因此您可以在"installation"之后立即启动.test
文件 . 通过直接编辑注册表,您最终可以获得更多控制权 - > How to create file extension that behaves as .cmd/.bat? . 检查还丢弃处理程序 - > http://msdn.microsoft.com/en-us/library/windows/desktop/cc144165%28v=vs.85%29.aspx这取决于NON-Batch文件的复杂性 . 如果NON-Batch文件不使用这些功能:
通过%1%2 ...访问批处理文件参数并执行SHIFT命令 .
执行GOTO命令 .
执行CALL:NAME命令(内部子程序) .
执行SETLOCAL / ENDLOCAL命令 .
然后你可以通过这个技巧执行任何文件"Batch file":
更多详情,请致电this post