DOS Batch Script do to a mass DataStageJobCompile
@echo off
:: -----------------------------------------------------------------
:: DataStageJobCompile.bat
:: -----------------------------------------------------------------
:: This batch script is used to Compile all jobs in each project for a given server
:: This script must be run from a DataStage client machine and the parameters below should be given
:: -----------------------------------------------------------------
:: Host is server name
:: User is DataStage username
:: Password is DataStage password
SET Host=%1
SET User=%2
SET Password=%3
SET Location=%4
::-------------------------------------------------------------------
::List out all projects from the given server
::------------------------------------------------------------------
cd C:\Program Files\Ascential\DataStage7.5.2\
dsjob.exe -server %Host% -user %User% -password %Password% -lprojects > %Location%\ProjectsList.txt
cd %Location%
SET ProjectsList.txt=%Location%\ProjectsList.txt
::pause
:: -----------------------------------------------------------------
:: Get the current Date
:: -----------------------------------------------------------------
FOR /f "tokens=2-4 delims=/ " %%a in ('DATE/T') do SET DsxDate=%%c%%a%%b
:: -----------------------------------------------------------------
:: Get the current Time
:: -----------------------------------------------------------------
FOR /f "tokens=1* delims=:" %%a in ('ECHO.^|TIME^|FINDSTR "[0-9]"') do (SET DsxTime=%%b)
:: -----------------------------------------------------------------
SET delim1=%DsxTime:~3,1%
SET delim2=%DsxTime:~9,1%
FOR /f "tokens=1-4 delims=%delim1%%delim2% " %%a in ('echo %DsxTime%') do (
set DsxHr=%%a
set DsxMin=%%b
set DsxSec=%%c
set DsxHun=%%d
)
:: -----------------------------------------------------------------
:: Set the log file name
:: -----------------------------------------------------------------
SET LogFileName=%ProjectDir%\DataStageExport_bat_%DsxDate%_%DsxHr%_%DsxMin%_%DsxSec%.log
:: -----------------------------------------------------------------
:: Create a log file name to output
:: -----------------------------------------------------------------
cd %Location%
ECHO. > %LogFileName%
ECHO DataStage Export ran on %DsxDate% %DsxHr%:%DsxMin%:%DsxSec% with the following parameters >> %LogFileName%
ECHO Host=%Host% >> %LogFileName%
ECHO User=%user% >> %LogFileName%
ECHO Project=%Project% >> %LogFileName%
ECHO LogDir=%Location% >> %LogFileName%
::ECHO JobsList=%JobsList% >> %LogFileName%
ECHO. >> %LogFileName%
:: -----------------------------------------------------------------
:: Change the local directory to DataStage instalation Directory
:: This must be modified based on the DataStage Instalation Drive
:: -----------------------------------------------------------------
for /F "tokens=1" %%i in (%ProjectsList.txt%) do (
::SET Project=%%i
::-------------------------------------------------------------------
::List out all jobs from the given project
::------------------------------------------------------------------
cd C:\Program Files\Ascential\DataStage7.5.2\
dsjob.exe -server %Host% -user %User% -password %Password% -ljobs %%i > %Location%\JobsList.txt
cd %Location%
SET JobsList=%Location%\JobsList.txt
:: -----------------------------------------------------------------
cd C:\Program Files\Ascential\DataStage7.5.2\
:: for /F "tokens=1" %%j in (%JobsList%) do dscc /h %Host% /u %User% /p %Password% %Project% /j %%j
::ECHO Compileing %%j job in %Project% on Host: %Host% >> %Location%\%LogFileName%
:: ECHO. >> %LogFileName%
:: ECHO *** Completed Compile of Job: %%j on Host: %Host% >> %LogFileName%
:: ECHO. >> %LogFileName%
)
:: ECHO. >> %LogFileName%
:: ECHO successfully Exported
@echo off
:: -----------------------------------------------------------------
:: DataStageJobCompile.bat
:: -----------------------------------------------------------------
:: This batch script is used to Compile all jobs in each project for a given server
:: This script must be run from a DataStage client machine and the parameters below should be given
:: -----------------------------------------------------------------
:: Host is server name
:: User is DataStage username
:: Password is DataStage password
SET Host=%1
SET User=%2
SET Password=%3
SET Location=%4
::-------------------------------------------------------------------
::List out all projects from the given server
::------------------------------------------------------------------
cd C:\Program Files\Ascential\DataStage7.5.2\
dsjob.exe -server %Host% -user %User% -password %Password% -lprojects > %Location%\ProjectsList.txt
cd %Location%
SET ProjectsList.txt=%Location%\ProjectsList.txt
::pause
:: -----------------------------------------------------------------
:: Get the current Date
:: -----------------------------------------------------------------
FOR /f "tokens=2-4 delims=/ " %%a in ('DATE/T') do SET DsxDate=%%c%%a%%b
:: -----------------------------------------------------------------
:: Get the current Time
:: -----------------------------------------------------------------
FOR /f "tokens=1* delims=:" %%a in ('ECHO.^|TIME^|FINDSTR "[0-9]"') do (SET DsxTime=%%b)
:: -----------------------------------------------------------------
SET delim1=%DsxTime:~3,1%
SET delim2=%DsxTime:~9,1%
FOR /f "tokens=1-4 delims=%delim1%%delim2% " %%a in ('echo %DsxTime%') do (
set DsxHr=%%a
set DsxMin=%%b
set DsxSec=%%c
set DsxHun=%%d
)
:: -----------------------------------------------------------------
:: Set the log file name
:: -----------------------------------------------------------------
SET LogFileName=%ProjectDir%\DataStageExport_bat_%DsxDate%_%DsxHr%_%DsxMin%_%DsxSec%.log
:: -----------------------------------------------------------------
:: Create a log file name to output
:: -----------------------------------------------------------------
cd %Location%
ECHO. > %LogFileName%
ECHO DataStage Export ran on %DsxDate% %DsxHr%:%DsxMin%:%DsxSec% with the following parameters >> %LogFileName%
ECHO Host=%Host% >> %LogFileName%
ECHO User=%user% >> %LogFileName%
ECHO Project=%Project% >> %LogFileName%
ECHO LogDir=%Location% >> %LogFileName%
::ECHO JobsList=%JobsList% >> %LogFileName%
ECHO. >> %LogFileName%
:: -----------------------------------------------------------------
:: Change the local directory to DataStage instalation Directory
:: This must be modified based on the DataStage Instalation Drive
:: -----------------------------------------------------------------
for /F "tokens=1" %%i in (%ProjectsList.txt%) do (
::SET Project=%%i
::-------------------------------------------------------------------
::List out all jobs from the given project
::------------------------------------------------------------------
cd C:\Program Files\Ascential\DataStage7.5.2\
dsjob.exe -server %Host% -user %User% -password %Password% -ljobs %%i > %Location%\JobsList.txt
cd %Location%
SET JobsList=%Location%\JobsList.txt
:: -----------------------------------------------------------------
cd C:\Program Files\Ascential\DataStage7.5.2\
:: for /F "tokens=1" %%j in (%JobsList%) do dscc /h %Host% /u %User% /p %Password% %Project% /j %%j
::ECHO Compileing %%j job in %Project% on Host: %Host% >> %Location%\%LogFileName%
:: ECHO. >> %LogFileName%
:: ECHO *** Completed Compile of Job: %%j on Host: %Host% >> %LogFileName%
:: ECHO. >> %LogFileName%
)
:: ECHO. >> %LogFileName%
:: ECHO successfully Exported
0 comments: