找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 33045|回复: 14

[其他] [已解决]怎么让 cmd 支持 utf-8

[复制链接]
发表于 2021-4-13 02:38:14 | 显示全部楼层 |阅读模式
本帖最后由 newswan 于 2021-4-23 22:54 编辑

要处理的文件是utf-8,批处理文件也是utf-8。
如果有中文字符,第三方的 mobaxterm mysys,能正确运行。
使用 cmd 设置成65001 也不行,请问该怎么办?
发表于 2021-4-13 08:58:39 | 显示全部楼层
回复 1# newswan


    把txt文件、bat文件、如何处理,都发出来看看。
 楼主| 发表于 2021-4-13 16:07:42 | 显示全部楼层
本帖最后由 newswan 于 2021-4-13 16:52 编辑

test.bat
  1. echo "啊" | find "啊"
  2. echo "啊" | findstr "啊"
  3. echo "啊" | grep '啊'
复制代码
chcp 936
命令行 批处理 find findstr 正确

chcp 65001
命令行 批处理 find grep 正确
 楼主| 发表于 2021-4-13 16:12:07 | 显示全部楼层
本帖最后由 newswan 于 2021-4-13 16:52 编辑

test.bat
  1. find "啊" text.txt
  2. findstr "啊" text.txt
  3. grep '啊' text.txt
复制代码
txt bat 936  
命令行 批处理 find findstr 正确

txt bat 65001
命令行 批处理 find 正确
 楼主| 发表于 2021-4-13 16:35:46 | 显示全部楼层
本帖最后由 newswan 于 2021-4-13 16:51 编辑

中文支持测试

936  :  find findstr 正确
65001:  find grep 正确

grep 的匹配模式 用 '' 或者 不用 ""  就正确了


只有 find 全部支持,但 find 不支持正则表达式
发表于 2021-4-13 16:40:54 | 显示全部楼层
解决Bat保存为UTF8时乱码
  1. reg add "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /f /v "CodePage" /t REG_DWORD /d 65001
  2. reg add "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /f /v "WindowSize" /t REG_DWORD /d 1572944
  3. reg add "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /f /v "FontSize" /t REG_DWORD /d 786432
  4. reg add "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /f /v   "FontFamily" /t REG_DWORD /d 54
  5. reg add "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /f /v "FontWeight" /t REG_DWORD /d 400
  6. reg add "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /f /v "FaceName" /t REG_SZ /d "Lucida Console"
复制代码
 楼主| 发表于 2021-4-13 16:52:59 | 显示全部楼层
回复 6# smss


    谢谢。
发表于 2021-4-13 16:54:32 | 显示全部楼层
只要这2句就好 其它根据个人喜好
  1. reg add "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /f /v "CodePage" /t REG_DWORD /d 65001
  2. reg add "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /f /v "WindowAlpha" /t REG_DWORD /d 216
复制代码
 楼主| 发表于 2021-4-13 17:17:56 | 显示全部楼层
回复 8# smss


    "WindowAlpha" 什么意思,命令执行成功,但注册表里没有添加对应的键值
发表于 2021-4-13 21:27:49 | 显示全部楼层
注册表上看到16进制(把开也可切10进制)批处理是10进制
发表于 2021-4-14 10:08:08 | 显示全部楼层
回复 9# newswan


    alpha  和photoshop 上的alpha通道意思其实为一个意思,为透明层,0~FF ,这里为窗口透明度。
 楼主| 发表于 2021-4-14 21:38:52 | 显示全部楼层
回复 11# xczxczxcz


谢谢
发表于 2021-4-23 22:22:22 | 显示全部楼层
回复 1# newswan


    欢迎回来 一级士官 newswan
 楼主| 发表于 2021-4-23 23:06:21 | 显示全部楼层
回复 13# 1152


    嘿嘿
发表于 2021-4-23 23:08:14 | 显示全部楼层
本帖最后由 1152 于 2021-4-23 23:11 编辑

回复 14# 一级士官 newswan


    嘿嘿,你也没睡觉
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 14:44 , Processed in 0.020824 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表