[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 newswan 于 2021-4-23 22:54 编辑

要处理的文件是utf-8,批处理文件也是utf-8。
如果有中文字符,第三方的 mobaxterm mysys,能正确运行。
使用 cmd 设置成65001 也不行,请问该怎么办?

回复 1# newswan


    把txt文件、bat文件、如何处理,都发出来看看。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 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 正确

TOP

本帖最后由 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 正确

TOP

本帖最后由 newswan 于 2021-4-13 16:51 编辑

中文支持测试

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

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


只有 find 全部支持,但 find 不支持正则表达式

TOP

解决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"
复制代码

TOP

回复 6# smss


    谢谢。

TOP

只要这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
复制代码

TOP

回复 8# smss


    "WindowAlpha" 什么意思,命令执行成功,但注册表里没有添加对应的键值

TOP

注册表上看到16进制(把开也可切10进制)批处理是10进制

TOP

回复 9# newswan


    alpha  和photoshop 上的alpha通道意思其实为一个意思,为透明层,0~FF ,这里为窗口透明度。
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

回复 11# xczxczxcz


谢谢

TOP

回复 1# newswan


    欢迎回来 一级士官 newswan

TOP

回复 13# 1152


    嘿嘿

TOP

本帖最后由 1152 于 2021-4-23 23:11 编辑

回复 14# 一级士官 newswan


    嘿嘿,你也没睡觉

TOP

返回列表