powershell - 通过 PowerShell 更改文本内容时,不可见、不存在的字符阻止运行 cmd 文件
问题描述
'■s' 不是内部或外部命令、可运行程序或批处理文件。
当我尝试正常打开文件时,文件会立即打开和关闭,我决定进入 CMD 并尝试通过那里打开它,看看问题所在,结果如上所示。
我决定制作一个完全相同的文件,将所有内容复制粘贴过来,效果很好。该文件的属性显示零额外字节与重新制作的字节。
https://www.dropbox.com/s/yv66vrb5p0l76u6/end.bat?dl=0
这是一个有问题的文件,随意弄乱它。
解决方案
如果您还添加了一个 BOM, Powershell 可能会编写一个额外的BOM,因为 .net(powershell 运行的)会在后台处理它,这是有时会发生的情况。
在 unicode 中生成文本文件时,有时会遇到麻烦,因为某些机制可能会处理 BOM,而有些机制可能希望您处理它,或者两个步骤都“处理”添加 BOM,最终得到其中的 2 个。
您可以在十六进制编辑器中检查文件,看看它是否以 FEFF 开头两次而不是一次。
推荐阅读
- webpack - Tapable.plugin 已弃用 Nuxt JS / Vuetify
- .htaccess - 如何一次 301 mod_rewrite 许多相似的 URL?
- php - 哪一个最好使用带有外键或逗号分隔的外键列表的数据透视表在一列中
- python - 如何找到数组的最大值数?
- java - Ashot 没有截取正确元素的屏幕截图
- django - Django - 如何将每个“用户”的“反馈”分配给单个“分配”?(多对一)
- css - 在 Angular 7 中启用滚动
- dart - Flutter中如何使用UID访问数据库?
- reactjs - 在 Material UI 中,如何覆盖选择器选定的组件样式?
- firebase - Firebase Firestore 文档更改历史记录(例如活动日志/每个文档中的更改历史记录)