@echo off
setlocal enabledelayedexpansion

:: ==========================================
:: 配置区域
:: ==========================================
:: 设置要扫描的根目录（默认为脚本所在目录）
set "input_dir=%~1"

:: 设置输出文件名
set "output_filename=full_report.jsonl"

:: 拼接完整的输出路径
set "output_file=%input_dir%%output_filename%"

:: ==========================================
:: 执行逻辑
:: ==========================================
echo 正在扫描目录: %input_dir%
echo 输出文件路径: %output_file%
echo.

:: 检查输出文件是否存在，存在则删除以避免旧数据干扰
if exist "%output_file%" (
    del "%output_file%"
    echo 已删除旧的输出文件。
)

:: 统计文件数量
set count=0

:: 递归遍历
for /r "%input_dir%" %%f in (*.json) do (
    :: 排除输出文件本身
    if not "%%f"=="%output_file%" (
        set /a count+=1
        
        :: 先将路径存入变量，解决路径中括号等特殊字符导致的解析错误
        set "current_file=%%f"
        
        echo [!count!] 处理中: %%~nxf
        
        :: 【修正】补全了分号，确保命令间隔正确
        powershell -NoProfile -Command "$p='!current_file!';$c = Get-Content -LiteralPath $p -Raw -Encoding UTF8;$c -replace '[\r\n]', ''" >> "%output_file%"
    )
)

echo.
echo ==========================================
echo 处理完成！
echo 共处理文件数: !count!
echo 结果已保存至: %output_file%
echo ==========================================
