批处理更新essbase中替代变量
2013-04-19 09:40
225 查看
思路:
1.利用批处理生成esscmd,
2.调用esscmd
准备:
创建2个文件夹,一个存放bat文件,一个存放log文件
步骤:
1.创建createUpdateVariable.bat文件,该文件目的是将esscmd封装在updateVariable.bat中。
createUpdateVariable.bat 内容如下:
@echo off
Rem 取当前系统N天之前的日期
set N=-2
echo wscript.echo dateadd("d",%n%,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3 delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do (set y=%%i
set m=%%j
set d=%%k)
Rem 设置esscmd日志文件名中的日期时间格式
set mydate=%Date:~0,4%%Date:~5,2%%Date:~8,2%
if %Time:~0,2% LSS 10 set mytime=0%Time:~1,1%%Time:~3,2%_%Time:~6,2%%Time:~9,2%
if %Time:~0,2% GEQ 10 set mytime= %Time:~0,2%%Time:~3,2%_%Time:~6,2%%Time:~9,2%
Rem 设置日志输出时间格式
if %Time:~0,2% LSS 10 set logtime=0%Time:~1,10%
if %Time:~0,2% GEQ 10 set logtime= %Time:~1,11%
::echo %mydate%_%mytime%
Rem 设置年格式
set y=FY%y:~2,2%
Rem 设置月格式
if %m% EQU 1 set m=Jan
if %m% EQU 2 set m=Feb
if %m% EQU 3 set m=Mar
if %m% EQU 4 set m=Apr
if %m% EQU 5 set m=May
if %m% EQU 6 set m=Jun
if %m% EQU 7 set m=Jul
if %m% EQU 8 set m=Aug
if %m% EQU 9 set m=Sep
if %m% EQU 10 set m=Oct
if %m% EQU 11 set m=Nov
if %m% EQU 12 set m=Dec
Rem 设置天格式
if %d% EQU 1 set d=%d%st
if %d% EQU 2 set d=%d%nd
if %d% EQU 3 set d=%d%rd
if %d% GEQ 4 set d=%d%th
Rem 配置用户服务器信息
set Var_User=admin
set Var_Password=password
set Var_Server=110.135.8.36
set Var_Logpath=H:\Bat\updateEssbaseVariable\log\
set Var_Batpath=H:\Bat\updateEssbaseVariable\bat\
set Var_Year=%y%
set Var_Month=%m%
set Var_Day=%m%%d%
::echo %Var_day%
echo 运行时间:%date%-%logtime%,当前日期:%date%,日期参数:%N%,输出日期:%Var_Year%,%Var_Day%>>%Var_Logpath%createUpdateVariable.log
Rem 先删除预先生成的bat
del %Var_Batpath%updateVariable.bat
Rem 将esscmd命令导出到updateVariable.bat
echo. OUTPUT 1 "%Var_Logpath%%mydate%_%mytime%.log";>>%Var_Batpath%updateVariable.bat
echo. LOGIN "%Var_Server%" "%Var_User%" "%Var_Password%";>>%Var_Batpath%updateVariable.bat
echo. updatevariable "AR_CurrentYear" "" "" "" "%Var_Year%";>>%Var_Batpath%updateVariable.bat
echo. updatevariable "AR_CurrentDay" "" "" "" "%Var_Day%";>>%Var_Batpath%updateVariable.bat
echo. logout;>>%Var_Batpath%updateVariable.bat
echo. exit;>>%Var_Batpath%updateVariable.bat
pause
2.调用updateVariable.bat文件
(建议在informatica 中使用 startesscmd 调起 bat,如果直接创建bat文件,内容:startesscmd updateVariable.bat 偶尔会无法触发)
1.利用批处理生成esscmd,
2.调用esscmd
准备:
创建2个文件夹,一个存放bat文件,一个存放log文件
步骤:
1.创建createUpdateVariable.bat文件,该文件目的是将esscmd封装在updateVariable.bat中。
createUpdateVariable.bat 内容如下:
@echo off
Rem 取当前系统N天之前的日期
set N=-2
echo wscript.echo dateadd("d",%n%,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3 delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do (set y=%%i
set m=%%j
set d=%%k)
Rem 设置esscmd日志文件名中的日期时间格式
set mydate=%Date:~0,4%%Date:~5,2%%Date:~8,2%
if %Time:~0,2% LSS 10 set mytime=0%Time:~1,1%%Time:~3,2%_%Time:~6,2%%Time:~9,2%
if %Time:~0,2% GEQ 10 set mytime= %Time:~0,2%%Time:~3,2%_%Time:~6,2%%Time:~9,2%
Rem 设置日志输出时间格式
if %Time:~0,2% LSS 10 set logtime=0%Time:~1,10%
if %Time:~0,2% GEQ 10 set logtime= %Time:~1,11%
::echo %mydate%_%mytime%
Rem 设置年格式
set y=FY%y:~2,2%
Rem 设置月格式
if %m% EQU 1 set m=Jan
if %m% EQU 2 set m=Feb
if %m% EQU 3 set m=Mar
if %m% EQU 4 set m=Apr
if %m% EQU 5 set m=May
if %m% EQU 6 set m=Jun
if %m% EQU 7 set m=Jul
if %m% EQU 8 set m=Aug
if %m% EQU 9 set m=Sep
if %m% EQU 10 set m=Oct
if %m% EQU 11 set m=Nov
if %m% EQU 12 set m=Dec
Rem 设置天格式
if %d% EQU 1 set d=%d%st
if %d% EQU 2 set d=%d%nd
if %d% EQU 3 set d=%d%rd
if %d% GEQ 4 set d=%d%th
Rem 配置用户服务器信息
set Var_User=admin
set Var_Password=password
set Var_Server=110.135.8.36
set Var_Logpath=H:\Bat\updateEssbaseVariable\log\
set Var_Batpath=H:\Bat\updateEssbaseVariable\bat\
set Var_Year=%y%
set Var_Month=%m%
set Var_Day=%m%%d%
::echo %Var_day%
echo 运行时间:%date%-%logtime%,当前日期:%date%,日期参数:%N%,输出日期:%Var_Year%,%Var_Day%>>%Var_Logpath%createUpdateVariable.log
Rem 先删除预先生成的bat
del %Var_Batpath%updateVariable.bat
Rem 将esscmd命令导出到updateVariable.bat
echo. OUTPUT 1 "%Var_Logpath%%mydate%_%mytime%.log";>>%Var_Batpath%updateVariable.bat
echo. LOGIN "%Var_Server%" "%Var_User%" "%Var_Password%";>>%Var_Batpath%updateVariable.bat
echo. updatevariable "AR_CurrentYear" "" "" "" "%Var_Year%";>>%Var_Batpath%updateVariable.bat
echo. updatevariable "AR_CurrentDay" "" "" "" "%Var_Day%";>>%Var_Batpath%updateVariable.bat
echo. logout;>>%Var_Batpath%updateVariable.bat
echo. exit;>>%Var_Batpath%updateVariable.bat
pause
2.调用updateVariable.bat文件
(建议在informatica 中使用 startesscmd 调起 bat,如果直接创建bat文件,内容:startesscmd updateVariable.bat 偶尔会无法触发)
相关文章推荐
- windows下批处理更新当前目录到系统环境变量中
- dos批处理文件中的变量
- 使用内部线程维护变量持久更新
- 替代变量与SQL*Plus环境设置 (转自一沙弥的世界)
- 关于批处理中的变量
- oracle数据库新增、更新数据时弹出窗口,让输入变量
- 剖析 ADO.NET 批处理更新(深入研究数据访问)
- 【FTP】批处理实现用FTP服务器上的文件更新本机文件
- 在UE4 Editor中改变一个变量时同时更新相关联的其它变量
- ROS Learning-002 beginner_Tutorials 如何添加ROS环境变量 和 如何更新ROS源代码
- 转贴:批处理中的变量 百度空间_应用平台
- 批处理更新svn
- 批处理定时自动更新SVN
- 第四章 批处理中的变量
- 批处理自动更新host文件-上Youtube以及google.com
- 【小技术】批处理使用svn命令更新当前目录下项目
- Window系统的批处理变量大全
- Oracle12C--替代变量(六)
- DOS批处理高级教程:第四章 批处理中的变量(转)
- PostgreSQL环境变量与psql命令的替代作用