/*REXX*/ /* TRACE r */ /*----------------------------------------------------------------------------------*/ /* This REXX program will run in SPF as a .spf file or other REXX interpreter */ /* Use this program to execute DOS commands or programs and return results into */ /* an edit session. */ /* */ /* FORMAT: RDOS DOSCOMMAND PARMS */ /* RDOS DOSPROGRAM.COM PARMS */ /* */ /* Mark McDonald 20071113 */ /*----------------------------------------------------------------------------------*/ /*--- Determine IF SPFPRO, SPFPC v4.x or Stand-alone REXX Interpreter ---*/ parse version name level date1 date2 date3 /*-- Determine which REXX interpreter is being used ---*/ TSPF = 0 /* Using a stand-alone REXX Interpreter */ IF date3 = 1995 THEN TSPF = 4 /* Using SPFPC v4 */ IF date3 = 1996 THEN TSPF = 5 /* Using SPFPRO */ IF date3 = 2007 THEN TSPF = 6 /* Using OOREXX */ /*--- SPFPC/SPFPRO Section - Delete if using OOREXX --*/ IF (TSPF = 5 | TSPF = 6) THEN DO 'ISREDIT MACRO(PARMS)' IF WORDS(PARMS) = 0 THEN DO ERRLINE = "RDOS.SPF DOSCMD PARMS EXAMPLE: DIR Y:\MUSIC /S /ON " 'ISREDIT RESET' "ISREDIT LINE_BEFORE " 1 "= NOTELINE '"ERRLINE"'" "ISREDIT TOP" EXIT END END /*--- Init Vars ---*/ RESULT = " " TBAT = " " TTXT = " " /*--- Build Semi-Unique Result File Name ---*/ RESULT = 'C:\TEMP\RDOS' TBAT = RESULT'.BAT' TTXT = RESULT'.TXT' TR = LINEOUT(TBAT,D2C(26),1) TR = LINEOUT(TTXT,D2C(26),1) TR = LINEOUT(TBAT) TR = LINEOUT(TTXT) /*--- Build Batch File ---*/ T = LINEOUT(TBAT,PARMS' > 'TTXT,1) T = LINEOUT(TBAT,'EXIT') T = LINEOUT(TBAT) /*--- Execute Program ---*/ CALL TOSCMD TSPF, TBAT CALL TOSCMD TSPF, 'DEL 'TBAT IF (TSPF = 4 | TSPF = 5) THEN 'ISREDIT EDIT 'TTXT /*--- End Program ---*/ exit (0) /*-- Pass Command to OS --------------------------------------------------*/ TOSCMD: PROCEDURE PARSE ARG TSPF, TCMD IF TSPF = 0 THEN ADDRESS COMMAND TCMD /*DOSREXX*/ IF (TSPF = 4 | TSPF = 5) THEN ADDRESS DOS TCMD /*SPFPC4/SPFPRO - Delete if using OOREXX*/ IF TSPF = 6 THEN TCMD /*OOREXX*/ RETURN