gpt4 book ai didi

batch-file - 批处理文件编码问题

转载 作者:行者123 更新时间:2023-12-03 11:24:17 26 4
gpt4 key购买 nike

我有一个批处理文件脚本,我正在尝试创建该脚本以获取有关我工作地点计算机的一些非常基本的信息。但是,我在编码方面遇到了严重问题。 WMIC 和 IPCONFIG 给出了不同的编码,因此,这导致我在执行命令时获得乱码结果。到目前为止,我有:

@echo off

if exist "C:\%computername%-info.txt" (
echo Your computer information is already published! Skipping
) else (

ipconfig /all > "C:\%computername%-info.txt"
wmic bios get serialnumber >> "C:\%computername%-info.txt"
)

pause

结果……很奇怪。我不知道这些工具中的每一个的编码输出是什么,我还有更多要补充的……有人知道修复方法吗?我对代码页 (chcp) 了解不多,但我已经尝试了几次,但仍然得到相同的乱码结果。

最佳答案

Ipconfig 输出是ANSI,wmic 是unicode

如果您在 ipconfig 之前输出 wmic,当读取时它被认为是 unicode,作为开始或文件就是它。 ipconfig 的输出是垃圾,因为没有双字节字符。

如果在 wmic 之前使用 ipconfig,文件被认为是 ansi 并且 wmic 的输出是空格分隔的

使用find过滤并重新编码成ansi

wmic bios get serialnumber | find /v "" >> "C:\%computername%-info.txt"

所以所有的命令输出都是ansi

关于batch-file - 批处理文件编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19503794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com