pan /file x:\xxx\xxx.ktr
kitchen /file x:\xxx\xxx.kjb
bat写法
新建文本文档 改后缀为.bat,加入下面内容
第一种
@echo off
cmd /k "cd /d kettle安装文件根目录 && kitchen /file x:\xxx\xxx\xxx.kjb "
pause
保存双击执行
第二种
@echo off
echo shengpingtaidata start
set KettlePath=E:\bi-upload-jdey\data-integration5.4\Kitchen.bat
set JobPath=E:\BI\shengpingtai\shengpingtaidata.kjb
set LogFile=E:\BI\shengpingtai\LOG\%date:~0,4%%date:~5,2%%date:~8,2%
call %KettlePath% /file:%JobPath% >> %LogFile%.log
echo end
exit
优化
@echo off
chcp 65001 >nul
title Kettle作业执行器 - 患者注册
REM 使用WMIC命令获取标准化的日期字符串(格式:yyyyMMdd)[6](@ref)
for /f "tokens=2 delims==" %%i in ('wmic OS get localdatetime /value') do set "DateTime=%%i"
set "DateFolder=%DateTime:~0,8%" REM 提取yyyyMMdd
set "KettlePath=D:\HIUP\data-integration\Kitchen.bat"
set "JobPath=D:\HIUP\患者注册\患者注册作业.kjb"
REM 设置日志目录结构:基础目录\日期文件夹\
set "LogBaseDir=D:\HIUP\患者注册\LOG"
set "LogDir=%LogBaseDir%\%DateFolder%"
set "LogFile=%LogDir%\执行日志_%DateTime:~0,8%_%DateTime:~8,6%.log"
REM 检查关键文件是否存在
if not exist "%KettlePath%" (
echo [错误] Kitchen.bat 未在指定路径找到: %KettlePath%
pause
exit /b 1
)
if not exist "%JobPath%" (
echo [错误] 作业文件未找到: %JobPath%
pause
exit /b 1
)
REM 创建日志目录(如果不存在)[1,5](@ref)
if not exist "%LogDir%" (
echo 正在创建日志目录: %LogDir%
mkdir "%LogDir%"
)
REM 记录执行信息
echo 作业开始执行:%date% %time% > "%LogFile%"
echo 执行的作业文件:%JobPath%" >> "%LogFile%"
REM 执行Kettle作业并记录日志[1](@ref)
call "%KettlePath%" /file:"%JobPath%" /level:Basic >> "%LogFile%" 2>&1
REM 检查执行结果
if %errorlevel% equ 0 (
echo 作业执行成功:%date% %time% >> "%LogFile%"
echo Kettle作业已成功完成,日志位于:%LogFile%
) else (
echo 作业执行失败,错误码:%errorlevel% %date% %time% >> "%LogFile%"
echo [错误] 作业执行失败,请查看日志:%LogFile%
)
本文介绍如何使用批处理(.bat)文件来运行Kettle中的转换和作业。通过设置Kettle路径、作业路径及日志文件,实现批处理执行Kettle任务并记录执行日志。

2609

被折叠的 条评论
为什么被折叠?



