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

[文本处理] [已解决]批处理生成文本后的编码问题

[复制链接]
发表于 2023-1-22 01:58:02 | 显示全部楼层 |阅读模式
各位老师,新年好~

本人在写cmd命令的时候遇到一个问题无法得到有效解决,恳请论坛老师们相助:
  源脚本因为有中文路径所以采用了ANSI编码格式来保存,在这个脚本中需要执行生成一个带有中文的但编码一定要是 UTF-16 LE 的 .ini 配置文件,且不会出现乱码。
类似于我们windows系统中的 desktop.ini 这个文件这种。不知道用cmd能不能实现。

===============================================

最终采取:如何把文件夹下*.reg的ANSI编码格式文件,转换为UTF-16LE编码格式?
这篇帖子3楼老师的PowerShell方案。本帖自行解决,至此办结。谢谢各位热心回复的老师们,学习了很多!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-1-22 13:59:47 | 显示全部楼层
执行前先弄个chcp 65001,不过好像是UTF-8
发表于 2023-1-22 15:07:52 | 显示全部楼层
chcp 1200
另一个
chcp 1201
看看哪个是,
恢复用
chcp 936
发表于 2023-1-22 15:45:47 | 显示全部楼层
  1. file = "1.txt"
  2. Set oStream = CreateObject("ADODB.Stream")
  3. oStream.Type = 2    'adTypeText
  4. oStream.Mode = 3    'adModeReadWrite
  5. oStream.Charset = "UTF-8"    '原编码
  6. oStream.Open()
  7. oStream.LoadFromFile file
  8. s = oStream.ReadText()
  9. oStream.Close()
  10. oStream.Charset = "UTF-16"     '目标编码
  11. oStream.Open()
  12. oStream.WriteText s
  13. oStream.SaveToFile file, 2    'adSaveCreateOverWrite
  14. oStream.Close()
复制代码

批护理开头先弄个chcp 65001
批处理最后用这个vbs转换文件编码
 楼主| 发表于 2023-1-22 16:07:46 | 显示全部楼层
回复 3# xp3000


    提示 无效代码页,其实发帖之前我搜到过这个范例,但是不知道为什么我这边用不了。
 楼主| 发表于 2023-1-22 17:54:03 | 显示全部楼层
最终采取 如何把文件夹下*.reg的ANSI编码格式文件,转换为UTF-16LE编码格式?
这篇帖子3楼老师的PowerShell方案。本帖自行解决,至此办结。谢谢各位热心回复的老师们,学习了很多!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 05:24 , Processed in 0.016528 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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