0
我一直在试图自动化的WebPack的index.ts文件的编辑如下:批处理文件,删除字符串,并通过创建一个批处理脚本追加新的字符串文本文件
ren index.html index.txt
findstr /v 'inline.bundle.js /html' index.txt > index.html
del index.txt
@echo '<script type="text/javascript" src="main.bundle.js"></script></body></html>' >> index.html
然而,运行批处理文件会产生这样的输出:
PS C:\Users\x> .\batch.bat
C:\Users\x>ren index.html index.txt
C:\Users\x>findstr /v 'inline.bundle.js /html' index.txt 1>index.html
FINDSTR: Cannot open /html'
C:\Users\x>del index.txt
< was unexpected at this time.
C:\Users\x>@echo '<script type="text/javascript" src="main.bundle.js"></script></body></html>' >> index.html
PS C:\Users\x>
注意,CMD在2号线增加了一个“1”到“>”字符和“<”字符输入被无故线3之后我检查编码和它的ANSI,所以它不是一个编码问题。
此外,将这些行逐一粘贴到cmd或PowerShell中可以很好地完成这项工作。当我运行批处理文件时出现问题。有任何想法吗?
编辑
这里是我的文件的最后两行:(换行符猜到无法确定是肯定的,从评论)
<script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="scripts.bundle.js"></script><script type="text/javascript" src="vendor.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script></body>
</html>
我希望它仅保留main.bundle.js,但由于findstr/v(显然)只适用于每行,所以我采取了上述解决方法,删除最后两行并追加正确的字符串。
您是否尝试过在正在搜索的字符串周围使用引号而不是APOSTROPHE? “vs.' – lit
如果您向我们提供合理的输入文件片段,可能会有所帮助,因为乍一看,您的实际任务可能仅仅是替换任何'src =”inline.bundle.js实例“''''src =”main.bundle.js“'这可能会发生,无论是否关闭”