在批处理文件中将text / csv文件转换为UTF-8格式

时间:2014-10-09 08:39:11

标签: batch-file encoding utf-8 cmd

我正在编写一个批处理文件,其中WMIC命令提供一个写入临时文件的输出

WMIC /node:%%A Volume get systemname,caption,freespace,capacity > temp.txt

生成临时文件,但其编码为 UCS-2 Little Endian。

所以,当我尝试使用for循环读取文本文件时,

for /f "tokens=1" %%B in (temp.txt) do (
        echo %%B
    )

由于其编码格式,因此不会显示任何输出。

将此 Temp.txt 转换为UTF-8 / ANSI格式后,for循环会读取Temp文件。

我是否可以知道如何在 UTF-8 / ANSI 中获取WMIC命令的输出,或者如果不能如何将 UCS-2 Little Endian 转换为 UTF-8 / ANSI

此致

1 个答案:

答案 0 :(得分:1)

您可以过滤wmic的输出以转换文件

WMIC /node:%%A Volume get systemname,caption,freespace,capacity | find /v "" > temp.txt

或者您可以使用type命令

转换文件
WMIC ..... > temp1.txt
type temp1.txt > temp.txt

或者您可以直接检索for循环

中的信息
for /f "tokens=1-4 delims=," %%a in (
    'wmic /node:%%A Volume get systemname^,caption^,freespace^,capacity'
) do echo %%a %%b %%c %%d