@echo off
@REM 字符集配置,解决datax乱码问题
CHCP 65001
@REM datax路径
set datax_path=C:Toolsdataxbindatax2.py
@REM datax脚本路径
set job_path=C:Toolsdataxworkbuchongpersontest2
@REM datax 日志路径
set log_path=C:Toolsdataxworkbuchongpersonlog
echo ************************************脚本配置信息**************************************************
echo.
echo datax_path=%datax_path%
echo job_path=%job_path%
echo log_path=%log_path%
@REM 日志文件夹不存在则创建
if not exist %log_path% (
md %log_path%
)
@REM 校验datax.py路径
if not exist %datax_path% (
echo datax_path错误! %datax_path%
echo.
echo 按任意键退出!
pause > nul
exit
)
@REM 校验datax脚本路径
if not exist %job_path% (
echo datax脚本路径不存在 %job_path%
echo.
echo 按任意键退出!
pause > nul
exit
)
echo.
echo ************************开始执行datax 执行时间:%date% %time%************************
echo.
echo.
@REM 启用变量延迟
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b /a-d /o-d "%job_path%*json*"') do (
echo ----------------------------------------------START-----------------------------------------------
@REM 拼接成datax运行命令
set run_command=%datax_path% %job_path%%%a
@REM 打印运行命令
echo !run_command!
@REM 日志路径
set logfilepath=%log_path%%%a.log
@REM 运行命令 将结果输出到日志文件
call %%run_command%% >>!logfilepath!
@REM 读取文件总行数
set /a counter=0
for /f "delims=" %%b in (!logfilepath!) do (
set /a counter+=1
)
@REM 读取日志文件后5行
set /a num=!counter!-5
set /a read_num=0
for /f "delims=" %%c in (!logfilepath!) do (
set /a read_num+=1
if !read_num! geq !num! (echo %%c)
)
echo 日志路径: !logfilepath!
echo ---------------------------------------------- END -----------------------------------------------
echo.
echo.
)
echo 已完成,按任意键退出!
pause > nul
exit