我有这个脚本,当我尝试执行它时,命令提示符中会出现一堆随机符号:
cd "X:\folder\subfolder"
svn update
pause
我不知道这些符号叫什么,也不知道它们是如何出现在前面cd
并试图弄清楚为什么会发生这种情况。
以前有人经历过类似的事情吗?
编辑:在 Techie 的评论之后,我发现了这个https://stackoverflow.com/questions/854360/visual-studio-inserts-invalid-characters-in-batch-files
答案1
这是因为当你在 Visual Studio 中保存文本文件时,它会将其保存在UTF-8 编码,包括一个字节顺序标记(BOM)开头。
由于命令行默认代码页不是UTF-8,你看字符。
您可以通过发出命令来设置命令行以支持 UTF-8 chcp 65001
,但为了兼容性,最好确保您的文本/批处理文件使用标准 ANSI 编码而不是 UTF-8 保存。
为此,请参阅其他现有的 SU 问题:Visual Studio 2010:是否可以强制编辑器使用 ANSI 而不是 UTF-8?,它谈论的和您所看到的是同一件事。
有关该主题的更多信息,也可以查看这个 StackOverflow 问题:Visual Studio 在批处理文件中插入无效字符。