Board logo

标题: [文本处理] 批处理for 获取 dism 输出的编码问题 [打印本页]

作者: newswan    时间: 2024-8-11 21:29     标题: 批处理for 获取 dism 输出的编码问题

直接 dism 显示中文
用 for 获取 Dism 输出,是乱码,

win11 的 wim
  1. Dism /Get-ImageInfo /ImageFile:X:\sources\install.wim
  2. for /f "usebackq tokens=* delims=" %%a in (` Dism /Get-ImageInfo /ImageFile:X:\sources\install.wim `) do (
  3.     echo %%a
  4. )
复制代码

作者: Five66    时间: 2024-8-12 00:10

试试chcp一下
windows下的编码问题挺难绷的
作者: newswan    时间: 2024-8-12 00:35

回复 2# Five66

chcp 936 正确,通常都用 65001
作者: Five66    时间: 2024-8-12 23:34

这东西涉及的挺多的, 就算知道其中的机制和原理 , 也不可控制 , 还是老老实实的chcp , 又或者输出的文本然后读取
作者: newswan    时间: 2024-8-12 23:54

回复 4# Five66

在pe下测试,又乱码。
改 powershell 没问题
作者: Five66    时间: 2024-8-14 09:15

回复 5# newswan


    啊,pe下能用powershell?pe下没那么多东西,或许可以不用chcp
作者: newswan    时间: 2024-8-14 13:37

回复 6# Five66

带 powershell 的 pe 挺大,需要加一些包
作者: newswan    时间: 2024-8-14 13:39

很多 pe 追求精简,其实,100m 500m 速度也没啥区别
作者: newswan    时间: 2024-8-26 23:50

问题原因找到了,pe 的问题,换个 pe 就正常。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2