我有一个奇怪的问题,在我使用批处理文件的30年间我从未见过.给定一个虚拟CMD文件,例如:
@echo off
:somelabel
echo Testing something
dir /b
echo All is well.
:end
这大部分按预期运行,但有时我得到的输出,例如’ing something’不被识别为内部或外部命令,可操作程序或批处理文件.
这显然是一种情况,它已经切断了一点线并试图执行其余部分.当发生这种情况时,它总是“随机”线的“随机”部分;它不总是行X,或丢失Y字符,或发生在我有特定字符组合的地方.它也不仅影响echo语句,它也可以尝试执行abel或ir / b.
我的系统是一个完全更新的Win2008 R2,运行在VirtualBox 5.0.2中,在完全升级的Linux Mint中运行,在Lenovo ThinkPad上运行.脚本都是UTF-8编码的.
… 这是怎么回事?我怎么能避免这个?
最佳答案 感谢@SomethingDark的评论:
The command line doesn't play nice with UTF-8. Use ANSI instead.
这似乎已经解决了这个问题(据我可以确定,这是一个间歇性的问题).