我正在尝试使用批处理脚本删除一些带有Unicode字符的文件(这是必需的)。因此,我运行cmd并执行以下命令:
> chcp 65001
有效地将代码页设置为UTF-8。它可以工作:
D:\temp\1>dir
Volume in drive D has no label.
Volume Serial Number is 8C33-61BF
Directory of D:\temp\1
02.02.2010 09:31 <DIR> .
02.02.2010 09:31 <DIR> ..
02.02.2010 09:32 508 1.txt
02.02.2010 09:28 12 delete.bat
02.02.2010 09:20 95 delete.cmd
02.02.2010 09:13 <DIR> Rún
02.02.2010 09:13 <DIR> Гуцул Каліпсо
3 File(s) 615 bytes
4 Dir(s) 11 576 438 784 bytes free
D:\temp\1>rmdir Rún
D:\temp\1>dir
Volume in drive D has no label.
Volume Serial Number is 8C33-61BF
Directory of D:\temp\1
02.02.2010 09:56 <DIR> .
02.02.2010 09:56 <DIR> ..
02.02.2010 09:32 508 1.txt
02.02.2010 09:28 12 delete.bat
02.02.2010 09:20 95 delete.cmd
02.02.2010 09:13 <DIR> Гуцул Каліпсо
3 File(s) 615 bytes
3 Dir(s) 11 576 438 784 bytes free
然后我将相同的rmdir
命令放入批处理脚本中,并以UTF-8编码保存。但是当我运行时,什么都没有发生:在这种情况下,批处理脚本甚至没有回显工作。即使将脚本保存为OEM编码也没有帮助。
因此,似乎当我在控制台中将代码页更改为UTF-8时,脚本就停止工作了。有人知道如何解决吗?