: TRANSFER Transfer File between MF and PC via FTP 01/07/1996-08/26/1999 : ------------------------------------------------------------------------ : Copyright (C) 1996-1999 by Vladimir Veytsel : : This command is designed as an FTP transfer interface for DNL/UPL and : GET/PUT (it is not intended for direct execution from DOS command line) : ^^^ ^^^^^^ : Two parameters should be specified for TRANSFER command: : : - MF file name (fully qualified) : - PC file name (with full path) : ^^^^ : The order of parameters defines the direction of file transfer: : 1-st parameter specifies source file, 2-nd specifies target file. : : E.g.: Transfer FORMLIB file (get) from MF to PC: : TRANSFER DEVVLAD.PGMR.CLIST(FORMLIB) C:\VLAD\CLIST\FORMLIB : : Transfer FORMLIB file (put) from PC to MF: : TRANSFER C:\VLAD\CLIST\FORMLIB DEVVLAD.PGMR.CLIST(FORMLIB) : : Note: DOS environment should contain the following required vars : (normally set by 4DOS session configuration batch): : : %DOS% DOS (development) drive letter : %IPA% Mainframe host IP address : %SYSUID% User TSO identification : %SYSUPW% User TSO password : @ECHO %TR% SET OP= IFF %@INDEX[%1,\] GE 0 .AND. %@INDEX[%2,\] LT 0 THEN SET PC=%@UPPER[%1] SET MF=%@UPPER[%2] SET OP=PUT ENDIFF IFF %@INDEX[%2,\] GE 0 .AND. %@INDEX[%1,\] LT 0 THEN SET MF=%@UPPER[%1] SET PC=%@UPPER[%2] SET OP=GET ENDIFF IF %OP%.==. (@ECHO %S%%M%TRANSFER %1 %2 - %R%Invalid parameter[s]%D% ^ GOTO Finish) @ECHO open %IPA% > %DOS%:\TRANSFER.FTP @ECHO %SYSUID% >> %DOS%:\TRANSFER.FTP @ECHO %SYSUPW% >> %DOS%:\TRANSFER.FTP IFF %OP%.==GET. THEN @ECHO get '%MF%' %PC% >> %DOS%:\TRANSFER.FTP ELSE @ECHO put %PC% '%MF%' >> %DOS%:\TRANSFER.FTP ENDIFF @ECHO close >> %DOS%:\TRANSFER.FTP @ECHO bye >> %DOS%:\TRANSFER.FTP TYPE %DOS%:\TRANSFER.FTP @ECHO: IFF %OP%.==GET. THEN @ECHO Please %W%wait %D%for %G%%@UPPER[%1] %D%to be %Y%down%W%loaded %D%from %W%Mainframe %D%to %W%PC%D% ELSE @ECHO Please %W%wait %D%for %G%%@UPPER[%1] %D%to be %Y%up%W%loaded %D%from %W%PC %D%to %W%Mainframe%D% ENDIFF @ECHO: FTP -s:%DOS%:\TRANSFER.FTP @ECHO: IFF %?==0 THEN @ECHO %G%%@UPPER[%1] %W%file %G%%OP% %W%operation completed %Y%successfully%D% ELSE @ECHO %S%%M%%@UPPER[%1] %R%file %M%%OP% %R%operation failed%D% ENDIFF @ECHO: :Finish SET MF= SET PC= SET OP=