启动 xml 文件
Posted
技术标签:
【中文标题】启动 xml 文件【英文标题】:launching the xml files 【发布时间】:2013-06-18 01:25:47 【问题描述】:在 hrcmd.cmd 文件下
回声关闭
对于 /F %%a in ("%~fs0") 设置 THIS_DIR=%%~dpa
调用 %THIS_DIR%FRSetenv.cmd
设置 CLASSPATH=
设置 ANT_HOME=
设置 ANT_HOME=%HYPERION_ANT%
设置 JAVA_HOME=
设置 JAVA_HOME=%HYPERION_JRE%
设置 PATH_ORIG=%PATH%
设置路径=
设置 PATH=%FR_HOME%\bin;%JAVA_HOME%\BIN;%ANT_HOME%\bin;%PATH_ORIG%
如果不存在 "%FR_HOME%\temp" mkdir "%FR_HOME%\temp"
设置 ANT_OPTS=-Djava.io.tmpdir="%FR_HOME%\temp" -Xms128m -Xmx256m
Batchadmin.xml 文件下方
回显
允许运行批处理和编码密码。
<!-- set global properties for this build -->
resultproperty="batch.return">
path="$home.hyperion/products/financialreporting/lib/FRBaseCP.jar"/>
Djava.util.logging.config.class=oracle.core.ojdl.logging.LoggingConfiguration" />
Doracle.core.ojdl.logging.config.file=$home.hyperion/products/financialreporting/bin/Batc
hAdminlogging.xml" />
$env.PASSWORD" />
$env.BATCH_INPUT_FILENAME">
$env.BATCH_INPUT_FILENAME - 查看日志了解详情">
$env.BATCH_INPUT_FILENAME - 查看日志了解详情">
<target name="batch.encodepassword">
path="$home.hyperion/products/financialreporting/lib/FRBaseCP.jar"/>
下面的脚本
@ECHO 关闭
设置用户 ID=xxx
设置密码=xxx
SET "xml_dir=c:\Today\set"
SET "hyp_server=10.11.12.13"
对于 ("%xml_dir%*.xml") 中的 %%z 执行 (
调用 scheduleBatch "%%z" %userid% %pwd% %hyp_server%
回显 %errorlevel%
如果 %errorlevel% == 1 >>"C:\Today\xml-error.log" echo "%%z" 失败
如果不是 %errorlevel% == 1 >>"C:\Today\xml-pass.log" echo "%%z" 成功
)
我需要创建一个通用批处理脚本来从文件夹启动批处理 xml 文件,并在预定义的时间通过 Windows 任务调度程序进行调度。 这些批处理 xml 文件来自财务报告工作室,而 scheduleBatch.cmd 是内置实用程序,它在我们运行脚本时调用这些 xml 文件。在批处理脚本下面,我编写了一个通用脚本(它从任何文件夹启动一组批处理 .xml 文件,并在预定义的时间通过 Windows 任务调度程序对其进行调度以运行特定文件夹)。
REM Use this to schedule a Financial Reporting Batch from a command line
REM Specify four arguments when calling this command file:
REM The first is the fully qualified name of the batch input xml file for the batch to be scheduled such as c:\\temp\\mybatch.xml
REM The second is the Reports Web Server URL with correct protocol and port such as http:/XXX
REM The third is a valid username for the batch routine
REM The fourth is the password
SETLOCAL
if "%~1" == "" goto Usage
if "%~2" == "" goto Usage
if "%~3" == "" goto Usage
if "%~4" == "" goto Usage
if not exist "%~1" goto NotExist
SET BATCH_INPUT_FILENAME=%~fs1
SET WEB_SERVER=%2
SET USERNAME=%3
SET PASSWORD=%4
for /F %%a in ("%~fs0") do set THIS_DIR=%%~dpa
call %THIS_DIR%hrcmd.cmd
ant -q -f "%FR_HOME%\bin\BatchAdmin.xml" batch.schedule
goto End
:Usage
ECHO Usage: BatchInputFilename FRWebServerURL Username Password
goto End
:NotExist
ECHO File "%~1" not found
:End
ENDLOCAL
2 @ECHO 关闭
设置“userid=joe”
设置“pwd=jack”
SET "xml_dir=c:\Today\set"
SET "FILE=%MAINLOG%"
SET "hyp_server=10.11.12.13"
对于 ("%xml_dir%*.xml") 中的 %%z 执行 (
调用 scheduleBatch "%%z" %userid% %pwd% %hyp_server%
findstr /R "\ErrCheck
for /F %%A in ("ErrCheck") do If %%~zA NEQ 0 (
批处理调度过程中的echo错误...................... >> %MAINLOG%
复制 %MAINLOG% %LOG_DIR%\%MAINLOG%-Error.log
DEL /Q 错误检查 )
否则(
echo 批量调度进程成功............ >> %MAINLOG%
复制 %MAINLOG% %LOG_DIR%\%MAINLOG%-Pass.log
)
)
【问题讨论】:
这是你关于这个主题的第二篇文章,直到现在还不清楚(对我来说)你需要什么。 1)file list
在哪里? 2) parameters
是什么意思 3) log file
应该如何处理错误?您的问题不是真正的问题,应该关闭!
【参考方案1】:
这会使用目录中的每个 *.xml 文件和您的额外设置调用 schedulebatch.cmd。日志文件取决于您的 schedulebatch.cmd 返回适当的错误级别。
@ECHO OFF
set userid=joe
set pwd=jackson
SET "xml_dir=c:\today\set"
SET "hyp_server=10.11.12.13"
For %%z in ("%xml_dir%\*.xml") do (
call schedulebatch "%%z" %userid% %pwd% %hyp_server%
if errorlevel 1 >>"C:\Today\xml-error.log" echo "%%z" failed
if not errorlevel 1 >>"C:\Today\xml-pass.log" echo "%%z" succeeded
)
【讨论】:
感谢您理解并回答我的问题。我有一个要求,我们在 C:\Today\set 文件夹中有一组批处理 xml 文件,我需要使用批处理脚本执行这些 xml 文件,如果这些文件执行成功转到success.log文件如果它们失败然后将转到error.log文件和scheduleBatch.cmd是执行这些xml文件的inbuit实用程序文件。请帮助我如何用这个req设计代码。我真的感谢您的帮助,并在此先感谢 我真的很感谢你的帮助,当我运行上面它说“1此时意外”并且它没有启动xml文件我需要添加一些东西..请帮帮我.. ...提前致谢 在 C:\Today\set 文件夹中我有 a.xml,b.xml.c.txt 当我运行下面的脚本时它正在启动 a.xml b.xml.The c.txt shud转到 xml-error.log 文件和 a.xml 和 b.xml 到 xml-pass.log 但我没有在相应的文件中看到任何错误和成功 非常感谢您的时间和耐心。我执行了脚本,它正在执行 xml 文件:) 我在设置文件夹中有 a.xml b.xml c.txt 所以 a.xml,b。 xml-->xml-pass.log 和 c.txt->xml-error.log 但在 xml-error.log 我看到 a.xml 和 b.xml 文件,在 xml-pass.log 我什么也没看到 请帮忙我要实现这一目标 您的 schedulebatch.cmd 必须返回一个错误级别为零才能通过,一个或更高级别才能失败。没有其他关于从何处获取通过或失败信息的信息。以上是关于启动 xml 文件的主要内容,如果未能解决你的问题,请参考以下文章
xml 编译错误 - XML-20108 :(致命错误)期望启动根元素。在rdf文件中。