$! SUBMIT.COM - Submit command(s) to BATCH $! Example: @SUBMIT MAIL PURGE $ _ON CONTROL_C THEN _GOTO ERROR $ _ON ERROR THEN _GOTO ERROR $! Find a name for the temporary command file $ TEMP = -1 $FIND: $ TEMP = TEMP + 1 $ FILE = F$Search("TEMP''TEMP'.COM") $ _IF FILE .NES. "" THEN _GOTO FIND $! Open the temp file $ _CLOSE 1 $ _OPEN/WRITE 1 TEMP'TEMP'.COM $ _WRITE 1 "$ _ON ERROR THEN _GOTO ERREXIT" $ _WRITE 1 "$ _SET ON" $! Parse the command line $ COMMAND = "''P1' ''P2' ''P3' ''P4' " - + "''P5' ''P6' ''P7' ''P8'" $ COMMAND = F$EDIT(COMMAND,8+16+128+256) $! Find next line separator (\) $WRITE: $ POS = F$INSTR(1,COMMAND,"\") $ _IF POS .EQ. 0 THEN POS = F$LEN(COMMAND)+1 $! Write command to temp file & terminal $ CMD = F$EDIT(F$LEFT(COMMAND,POS-1),136) $ _WRITE 1 CMD $ _WRITE 0 CMD $! Get remainder of line $ COMMAND = F$RIGHT(COMMAND,POS+1) $! If more, do next line $ _IF COMMAND .NES. "" THEN _GOTO WRITE $! Write commands to finish up $ _WRITE 1 "$ _CLOSE/LOG" $ MYTERM = F$TERMINAL() $ _WRITE 1 "$ _BROADCAST/BELL KB''MYTERM': ""The submitted batch job (TEMP''TEMP') has completed""" $ _WRITE 1 "$ _EXIT" $ _WRITE 1 "$ERREXIT:" $ _WRITE 1 "$ _BROADCAST/BELL KB''MYTERM': ""The submitted batch job (TEMP''TEMP') ABORTED!!!""" $ _WRITE 1 "$ _EXIT" $! Close the temp file and submit it to batch $ _CLOSE 1 $ _SUBMIT/DELETE TEMP'TEMP'.COM $ _EXIT $ERROR: $ _CLOSE 1 $ _DELETE/NOLOG/NOWARN TEMP'TEMP'.COM $ _EXIT