$ CONVERT := CONVERT $ COPY := COPY $ DELETE := DELETE $ PURGE := PURGE $ RENAME := RENAME $ SAY := WRITE SYS$OUTPUT $ ! $ SAY "" $ SAY " Convert dictionary files to fixed-length, and" $ SAY " Making RSX tasks contiguous" $ SAY "" $ TSK_LOOP: $ TSK_FILE = F$SEARCH ("*.TSK;") $ IF TSK_FILE .EQS. "" THEN GOTO TSK_LOOP_END $ TSK_FILE = F$PARSE (TSK_FILE, , , "NAME") + - F$PARSE (TSK_FILE, , , "TYPE") $ SAY " ... Converting ", TSK_FILE $ COPY/CONTIGUOUS 'TSK_FILE' 'TSK_FILE'; $ PURGE 'TSK_FILE' $ RENAME 'TSK_FILE' *.*;1 $ GOTO TSK_LOOP $ TSK_LOOP_END: $ DIC_LOOP: $ DIC_FILE = F$SEARCH ("ANA%%.DIC;") $ IF DIC_FILE .EQS. "" THEN GOTO DIC_LOOP_END $ DIC_FILE = F$PARSE (DIC_FILE, , , "NAME") + - F$PARSE (DIC_FILE, , , "TYPE") $ SAY " ... Converting ", DIC_FILE $ REC_SIZE = F$STRING (F$INTEGER (F$EXTRACT (3, 2, DIC_FILE))) $ FDL_FILE = F$EXTRACT (0, F$LOCATE (".", DIC_FILE), DIC_FILE) + ".FDL" $ OPEN/WRITE FDL_FILE 'FDL_FILE' $ WRITE FDL_FILE "SYSTEM" $ WRITE FDL_FILE " SOURCE VAX/VMS" $ WRITE FDL_FILE "FILE" $ WRITE FDL_FILE " ORGANIZATION sequential" $ WRITE FDL_FILE " PROTECTION (system:RWED, owner:RWED, group:R, world:R)" $ WRITE FDL_FILE "RECORD" $ WRITE FDL_FILE " BLOCK_SPAN yes" $ WRITE FDL_FILE " CARRIAGE_CONTROL carriage_return" $ WRITE FDL_FILE " FORMAT fixed" $ WRITE FDL_FILE " SIZE ", REC_SIZE $ CLOSE FDL_FILE $ CONVERT/FDL='FDL_FILE' 'DIC_FILE' 'DIC_FILE' $ PURGE 'DIC_FILE' $ RENAME 'DIC_FILE' *.*;1 $ DELETE 'FDL_FILE';* $ GOTO DIC_LOOP $ DIC_LOOP_END: $ SAY "Conversion complete."