Windows 批处理文件的编码格式

"控制台窗口 属性 -> 选项 -> 默认代码页" 中可以设置当前代码页.

1>. 如果当前代码页是 437(OEM - 美国), 则批处理路径和命令中的中文字符均不能被识别;

2>. 如果当前代码页是 936(ANSI/OEM - 简体中文 GBK), 那么当 .bat 文件以 ANSI 编码时, 路径以及命令参数中的中文字符可以正确识别; 以 UTF-8 without BOM 编码时, .bat 文件虽然可被识别, 但其中的中文字符和中文路径是不能识别的.

所以, 如果处理的命令或路径中包含中文字符, 请使用 ANSI 编码, 否则执行会出错.


另外:

1>. ANSI 和 UTF-8 without BOM 编码的 .bat 文件能被识别是因为文件头未插入任何特殊字节;

2>. UTF-8, Unicode(UCS-2 Little Endian) 以及 Unicode big endian(UCS-2 Big Endian) 编码的 .bat 文件执行时, 提示"×××不是内部或外部命令,也不是可运行的程序或批处理文件。" , 这是因为这三种编码格式的文件默认在文件头插入了特殊字节(即 BOM: Byte Order Mark). UTF-8 在文件头插入了 3 个字节 EF BB BF, Unicode 在文件头插入了 2 个字节 FF FE, Unicode big endian 在文件头插入了 2 个字节 FE FF. 它们不是 Windows 所能识别的命令, 所以相应编码格式的 .bat 文件执行出错.

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值