You need to enable JavaScript to run this app. CMD操作:如何将单列多行文件转置为3列结构化CSV表格
优惠活动
大模型
产品
解决方案
定价
更多

CMD操作:如何将单列多行文件转置为3列结构化CSV表格

单列属性转3列结构化表格实现方案

下面提供两种可行实现方案,可根据你的使用场景选择:

方案1:直接修改原有批处理,生成时直接输出3列格式

无需额外处理后续转置,在提取属性的同时直接拼接为单行写入文件,代码如下:

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
:: 先写入表头(不需要可以删掉下面这行)
ECHO Name,Size,Bitrate > Details.csv
FOR /F "tokens=*" %%A in (Files.txt) do (
    :: 把当前文件的3个属性输出到临时文件
    getprops "%%A" 0,1,320 /noheaders > tmp_prop.txt
    :: 读取临时文件的3行属性拼接
    set /p prop1=<tmp_prop.txt
    set /p prop2=<tmp_prop.txt
    set /p prop3=<tmp_prop.txt
    :: 拼接后写入最终csv
    ECHO !prop1!,!prop2!,!prop3! >> Details.csv
    del tmp_prop.txt
)
ENDLOCAL

说明:

  • 开启延迟变量扩展是为了在循环内部正确读取变量值
  • 如果不需要csv表头,直接删除写表头的那行即可
  • 给%%A加引号是为了兼容带空格的文件路径

方案2:单独处理已生成的单列Details.csv,转置为3列格式

如果你已经生成了1500行的单列文件,可直接运行下面的批处理完成转置:

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
:: 输出表头(不需要可删除)
ECHO Name,Size,Bitrate > Details_Structured.csv
set count=0
set line1=
set line2=
for /f "tokens=*" %%l in (Details.csv) do (
    set /a count+=1
    if !count!==1 set line1=%%l
    if !count!==2 set line2=%%l
    if !count!==3 (
        ECHO !line1!,!line2!,%%l >> Details_Structured.csv
        set count=0
    )
)
ENDLOCAL

运行后会生成新的Details_Structured.csv文件,就是你需要的500行3列结构化格式,可直接用Excel/WPS打开识别为表格。

内容的提问来源于stack exchange,提问作者Martin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 14:45:08