批量输出到文件包含中文符号
因为昨天我尝试创建一个批处理文件,它将有关计算机的几个信息写入到一个txt文件中,该文件稍后将用于保持数据库更新。唯一的问题是,有时输出结果只会以随机中文符号结尾。批量输出到文件包含中文符号
以下是批处理文件输出的当前版本的示例。
SerialNumber
XXXXXX
Manufacturer
FUJITSU // American Megatrends Inc.
Name
Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
看起来不错,到目前为止,但只要我想加上我自己的一些文字或信息,或者普通的文本一些较大的位之间插入文本文件,其在那些该死的符号记下来。以下是制造商和CPU信息之间写有“CPU”的输出。
SerialNumber
XXXXXX
Manufacturer
FUJITSU // American Megatrends Inc.
偃⁕Name
Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
唯一的问题是我已经试图用chcp 65001来解决这个问题,它仍然不能正常工作。 :/
那么这里是我正在使用的编写信息到txt文件中的当前代码。
@SET PathSave=C:\Test.txt
@ECHO.
@ECHO Collecting Informations
@ECHO.
@ECHO Seriennummer
@wmic bios get serialnumber >> %PathSave%
@ECHO Marke
@wmic bios get manufacturer >> %PathSave%
@ECHO CPU
@wmic cpu get name >> %PathSave%
@ECHO Netzwerkadapter
@wmic nicconfig >> %PathSave%
@ECHO Press any key to complete!
@PAUSE > NUL
也许有人已经知道这个事业因为我已经看到了一些人试图解决的问题,但一切到目前为止,我已经试过没有工作。
当您打算在与该格式不兼容的阅读器中阅读UTF-16 LE(BOM)时,有足够简单的修复时间。
通过More
(例如,
@WMIC CPU Get Name|MORE>>"%PathSave%"
...和:
@ECHO OFF
SET "PathSave=C:\Test.txt"
ECHO(
ECHO Collecting BIOS, CPU and Network Information
ECHO(
( WMIC BIOS Get Manufacturer,SerialNumber
WMIC CPU Get Name
WMIC NICConfig)|MORE>"%PathSave%"
ECHO Press any key to complete ...
PAUSE>NUL
Thx这将帮助我完成此工具。顺便说一下,你知道一种方法来做出这样的事情。 Var1 = Wmic Computername Var2 = C:\
每台计算机的名称已经存在于一个环境变量'%COMPUTERNAME%'中,因此您可能可以将其并入您的输出文件名或路径。 – Compo
非常感谢您。我已经把我的批量缩小了1-200个字符,应该更好。也感谢你'wmic bios得到
'WMIC'输出为UTF-16,如果你读的东西输出能够自然地读取编码类型这不应该是一个问题。 – Compo
我正在用记事本打开.txt文件。 –
这是你的问题,记事本不是为那种类型的文件设计的。 – Compo