Как запустить rexx с помощью пакетного сценария Windows (файл .bat)

У меня есть пакетный файл, который используется для FTP с рабочего стола на мейнфрейм. Получив файл по FTP, я запускаю модуль rexx, чтобы выполнить некоторые действия.

Теперь я хочу автоматически запускать модуль rexx после шага FTP из файла bat. Также из пакетного файла (.bat) я хочу передать некоторые параметры, такие как имя программы, дата.

Так можно ли запустить rexx из пакета Windows?

Пожалуйста, предложите мне, как действовать дальше.

Нужна твоя помощь...пожалуйста


person Dip Kumar Ghosh    schedule 17.09.2014    source источник
comment
Если это производство, поговорите со своими людьми по контролю производства/планированию. Они сделают это так, как хотят, в соответствии со стандартами на вашем сайте. Если это не Production, сделайте это вручную. Если вам нужна автоматизация, поговорите со своими людьми по управлению производством/планировщику о том, как они будут делать это в производстве, а затем основывайте свое решение на том, что они будут использовать. Помните, что вам придется прямо или косвенно также задействовать группу безопасности. Никому не понравится, если вы попытаетесь получить неконтролируемый автоматический доступ к машине с вещами, которые вы подобрали из Интернета.   -  person Bill Woodger    schedule 18.09.2014


Ответы (2)


Хорошо, вы запускаете пакетный файл, выполняющий FTP-скрипт, например:

ftp -s:bunchOfFtpCommands.txt

После этого вы хотите вызвать модуль REXX, который, я полагаю, будет выполнен примерно так (я использую Regina):

regina scriptname.rex parameters

Если ваш regina.exe находится, например. C:\Apps\Utils\Rexx тогда вы бы использовали

C:\Apps\Utils\Rexx\regina\scriptname.rex parameters

или что-то, что соответствует вашей среде.

Все, что вам нужно сделать, если я не понимаю, что здесь нужно, это вызвать FTP, а затем в следующей строке вызвать REXX [regina] с нужными параметрами.

Если на самом деле вы планируете выполнить сценарий FTP, а затем, в зависимости от содержимого переданного файла, передать некоторые параметры из этого файла в команду REXX, мы говорим о другой проблеме, чем вы описываете.

person Torqane    schedule 18.09.2014
comment
Проблема в том, что OP хочет запустить rexx на машине, которая получает файл. Наверное. Вероятно, также не в курсе, что rexx может работать везде, а не только под TSO на z/OS. - person Bill Woodger; 18.09.2014

Да!

Вы можете отправить задание JCL BATCH с FTP на хост ... чтобы затем BATCH мог запустить ваш REXX. У SoliderOfFortan есть отличное выступление, в котором он объясняет, что задания можно отправлять через FTP напрямую в JES.

Пример задания JCL:

//MYJOB    JOB (Bxxx,Bxxx,1,999),'PROGRAMMER PIMP',NOTIFY=&SYSUID,
//             TIME=(99),MSGCLASS=X,REGION=100M                
//DFLT   OUTPUT JESDS=ALL,DEFAULT=Y,DEST=LOCAL                 
//*                                                            
//*-------------------------------------------------------------
//REXX EXEC PGM=IKJEFT01 
//SYSECEC DD DISP=SHR,DSN=PDS.containing.REXX.pgm 
//SYSTSPRT DD SYSOUT=* 
//SYSTSIN DD * 
  %rexxpgm 
/* 
//* Where "rexxpgm" is the PDS member name in the PDS. 

Вот BATCH для отправки задания JCL:

::: -- Submit JCL/REXX Job ---
echo.
echo  " ------------------------- "
echo  " SUBMIT AND RUN BATCH FILE " 
echo  " ------------------------- "
IF EXIST ftptemp.txt del ftptemp.txt
echo user %FTPUserID%>> ftptemp.txt
echo %FTPPwd%>> ftptemp.txt
echo cd ..>> ftptemp.txt
echo del %filename%>> ftptemp.txt
echo quote site file=jes>> ftptemp.txt
echo put myjob.jcl>> ftptemp.txt
echo quote site file=seq
echo quit>> ftptemp.txt
ftp -n -s:ftptemp.txt %host%

pause
person paulywill    schedule 17.04.2015