批处理合并JSON文件:如何用逗号分隔各文件内容?
用批处理合并JSON文件并添加逗号分隔(保证JSON合法)
直接用copy命令确实只是简单拼接文件内容,不会自动添加分隔符,还可能导致最终的JSON格式不合法。这里给你一个批处理脚本,既能实现用逗号分隔每个文件的内容,还能让合并后的结果是合法的JSON结构:
@echo off setlocal enabledelayedexpansion :: 定义目标合并文件名 set "targetFile=WIP_CombinedJSON.JSON" :: 先清空目标文件(如果已存在) echo. > "%targetFile%" :: 标记是否为第一个要处理的文件 set "isFirstFile=1" :: 遍历所有_MODIFIED.JSON后缀的文件 for %%F in (*_MODIFIED.JSON) do ( if !isFirstFile! equ 1 ( :: 第一个文件:写入JSON数组的开头,再写入文件内容 echo [ >> "%targetFile%" type "%%F" >> "%targetFile%" set "isFirstFile=0" ) else ( :: 后续文件:先写入逗号分隔符,再写入文件内容 echo , >> "%targetFile%" type "%%F" >> "%targetFile%" ) ) :: 写入JSON数组的结尾,保证格式合法 echo ] >> "%targetFile%" echo 合并完成!目标文件:%targetFile% endlocal
脚本说明:
setlocal enabledelayedexpansion:启用延迟环境变量扩展,让循环里的isFirstFile变量能正常更新状态- 第一个文件会先写入
[(JSON数组的开头),后续每个文件前都会添加逗号,,最后写入](JSON数组的结尾),这样合并后的内容是标准的JSON数组,每个元素对应原单个文件的JSON内容 type命令会原样读取每个JSON文件的内容并写入目标文件,保留原文件的格式
注意事项:
- 确保每个
*_MODIFIED.JSON文件都是合法的单个JSON对象/数组(比如每个文件内容是{"key": "value"}或者[1,2,3]),这样合并后的数组才会合法 - 如果某个源文件是空的,可能会让最终JSON出现多余的逗号,建议提前清理空文件
- 脚本会覆盖已存在的
WIP_CombinedJSON.JSON文件,执行前可以备份一下旧文件
内容的提问来源于stack exchange,提问作者Pierre
相关产品推荐
相关产品推荐

