You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据CSV前两列提取内容生成对应路径的独立HTML文件

CSV批量提取生成对应目录结构文件修复方案

原有脚本问题说明

  • 未配置目标根目录变量,没有按第一列User值创建对应子文件夹,输出路径完全不符合要求
  • 循环读取CSV行时仅提取了第二列字段,没有拆分三列内容,直接把整行CSV数据写入文件,没有单独提取第三列的HTML内容
  • 原有逻辑错误写入了CSV表头到生成文件,不符合需求(需求中文件内容仅需要第三列的HTML内容)

修正后可直接运行的批处理脚本

@echo off
setlocal enabledelayedexpansion

:: 配置源文件路径和输出根目录
set "source_file=C:\TestDirectory\Parse.csv"
set "output_root=D:\ResultsDirectory"

:: 输出根目录不存在则自动创建
if not exist "%output_root%" md "%output_root%"

:: 跳过第一行表头,逐行处理CSV内容
for /f "usebackq skip=1 delims=" %%a in ("%source_file%") do (
    set "line=%%a"
    :: 按逗号拆分三列内容,分别对应用户名、文件名、HTML内容
    for /f "tokens=1,2,* delims=," %%b in ("!line!") do (
        :: 去除字段前后多余空格
        set "user=%%b"
        set "user=!user: =!"
        set "filename=%%c"
        set "filename=!filename: =!"
        set "html_content=%%d"
        :: 对应用户子目录不存在则创建
        set "user_dir=%output_root%\!user!"
        if not exist "!user_dir!" md "!user_dir!"
        :: 拼接最终html文件路径,写入HTML内容
        set "target_file=!user_dir!\!filename!.html"
        echo !html_content!>"!target_file!"
    )
)

pause
endlocal

关键改动说明

  • 新增output_root变量配置输出根目录,处理每行数据时自动提取第一列用户名作为子目录名,目录不存在时自动创建,自动拼接根目录\用户名\文件名.html的完整目标路径
  • 调整for循环的tokens参数为1,2,*,一次性拆分三列内容:第一列对应用户名、第二列对应文件名、第三列(*匹配逗号后所有剩余内容,避免HTML内容里含逗号导致截断)对应要写入的HTML内容
  • 增加字段前后空格去除逻辑,避免CSV列间空格导致目录名、文件名带多余空格
  • 移除原有错误写入表头的逻辑,仅将第三列的HTML内容写入目标文件
  • 开启延迟扩展,避免循环内变量取值异常问题

注意:如果HTML内容本身包含感叹号,需要额外调整延迟扩展的开关时机避免内容被转义,常规无特殊符号的HTML内容可以直接用上述脚本运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 11:01:07