@echo off
setlocal enabledelayedexpansion
: 解决中文乱码问题
: chcp 65001
:: 获取批处理脚本所在的目录
set "scriptDir=%~dp0"
:: 设置avro文件和json文件的目录
set "avroDir=%scriptDir%avro\"
set "jsonDir=%scriptDir%json"
:: 确保json目录存在,如果不存在则创建
if not exist "%jsonDir%" (
mkdir "%jsonDir%"
)
:: 遍历avro目录下的所有avro文件
for %%f in ("%avroDir%*.avro") do (
:: 提取文件名(不带扩展名)
set "fileName=%%~nf"
:: 构建avro-tools命令
:: 2>NUL 表示忽略错误信息,不显示在命令行中。
java -jar "%scriptDir%avro-tools-1.10.2.jar" tojson --pretty "%%f" > "%jsonDir%\!fileName!.json" 2>NUL
:: 输出转换进度(可选)
echo Converted %%f to %jsonDir%\!fileName!.json
)
:: 是否有转换文件,如果没有则输出提示信息
if not exist "%jsonDir%\*.json" (
echo No avro files found in %avroDir%.
) else (
echo All avro files have been converted to JSON.
)
endlocal
pause