我有一个Windows服务应用程序,我希望在其中提供单个html页面以显示服务的简单运行时信息。我找到了实用程序inliner,它允许我将我的Web文件合并到一个单独的html文件中,这很容易通过在windows服务中运行的自托管web api来提供。
我想自动运行脚本来构建这个单个html文件,所以我把命令行放到.bat / .cmd文件中,然后从 Visual Studio 2015 后期构建事件中调用它。源html文件有几个对脚本和css的引用,例如
<head>
<link href="lib\css\bootstrap.css" rel="stylesheet" type="text/css" />
<script src="lib\js\jquery-2.2.1.js"></script>
<script src="_default.js"></script>
</head>
.cmd(或.bat)文件的内容如下
inliner.cmd -vs _default.html > default.html
当我从命令提示符运行上面的尝试时它工作正常,但是当我尝试运行.bat文件时,我收到以下错误..
'´╗┐inliner.cmd' is not recognized as an internal or external command, operable program or batch file.
有没有办法通过批处理/ cmd文件或其他方式从Visual Studio post build命令运行这样的节点命令?我确实直接从Post命令尝试,而不是.cmd文件,但仍然无法正常工作(虽然我可以让它生成输出html文件,但它总是空的)
提前感谢此处的任何指示。
答案 0 :(得分:1)
您的.bat
文件的开头有一个UTF-8 byte-order mark(BOM)。
错误消息中inliner.cmd
之前的三个额外字符是构成code page 850中UTF-8字节顺序标记的三个字符。
尝试从文件中删除字节顺序标记。