首页 > 解决方案 > 通过 PowerShell 更改文本内容时,不可见、不存在的字符阻止运行 cmd 文件

问题描述

'■s' 不是内部或外部命令、可运行程序或批处理文件。

当我尝试正常打开文件时,文件会立即打开和关闭,我决定进入 CMD 并尝试通过那里打开它,看看问题所在,结果如上所示。

我决定制作一个完全相同的文件,将所有内容复制粘贴过来,效果很好。该文件的属性显示零额外字节与重新制作的字节。

https://www.dropbox.com/s/yv66vrb5p0l76u6/end.bat?dl=0

这是一个有问题的文件,随意弄乱它。

标签: powershellcmd

解决方案


如果您还添加了一个 BOM, Powershell 可能会编写一个额外的BOM,因为 .net(powershell 运行的)会在后台处理它,这是有时会发生的情况。

在 unicode 中生成文本文件时,有时会遇到麻烦,因为某些机制可能会处理 BOM,而有些机制可能希望您处理它,或者两个步骤都“处理”添加 BOM,最终得到其中的 2 个。

您可以在十六进制编辑器中检查文件,看看它是否以 FEFF 开头两次而不是一次。


推荐阅读