windows – 我的批处理文件(.cmd)有时会执行部分行

我有一个奇怪的问题,在我使用批处理文件的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.

这似乎已经解决了这个问题(据我可以确定,这是一个间歇性的问题).

点赞