IDENTIFICATION DIVISION.
PROGRAM-ID. ELVIS-TEST.
AUTHOR. RAH.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. RM-COBOL.
OBJECT-COMPUTER. RM-COBOL.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INPUT-FILE ASSIGN TO INPUT, "| ls -1 input/*",
ORGANIZATION IS LINE SEQUENTIAL,
FILE STATUS IS IN-STATUS.
SELECT SEQ-FILE ASSIGN TO INPUT, WS-FILENAME,
ORGANIZATION IS LINE SEQUENTIAL,
FILE STATUS IS SEQ-STATUS.
DATA DIVISION.
FILE SECTION.
FD INPUT-FILE
LABEL RECORDS ARE STANDARD.
01 INPUT-RECORD.
03 INPUT-DIR PIC X(06).
03 INPUT-FILENAME PIC X(14).
FD SEQ-FILE
LABEL RECORDS ARE STANDARD.
01 SEQ-RECORD PIC X(80).
WORKING-STORAGE SECTION.
77 DUMMY PIC X.
01 WS-FILENAME PIC X(20) VALUE SPACES.
01 IN-STATUS PIC XX.
88 IN-OK VALUE "00".
88 NO-MORE-FILES VALUE "10".
01 SEQ-STATUS PIC XX.
88 SEQ-OK VALUE "00".
88 NO-MORE-RECORDS VALUE "10".
01 WS-NEW-FILE.
03 TARGET-DIR PIC X(07) VALUE "newdir/".
03 TARGET-FILENAME PIC X(14).
PROCEDURE DIVISION.
BEGIN.
DISPLAY SPACE ERASE.
OPEN INPUT INPUT-FILE.
PERFORM UNTIL NO-MORE-FILES
READ INPUT-FILE
AT END
CONTINUE
NOT AT END
MOVE INPUT-RECORD TO WS-FILENAME
OPEN INPUT SEQ-FILE
IF SEQ-OK
PERFORM UNTIL NO-MORE-RECORDS
READ SEQ-FILE
AT END
CONTINUE
NOT AT END
DISPLAY WS-FILENAME, SPACE COL 0,
SEQ-RECORD COL 0
ACCEPT DUMMY NO BEEP
END-READ
END-PERFORM
CLOSE SEQ-FILE
ELSE
DISPLAY WS-FILENAME, SPACE, SEQ-STATUS
END-IF
END-READ
MOVE INPUT-FILENAME TO TARGET-FILENAME
CALL "RENAME" USING WS-FILENAME, WS-NEW-FILE
END-PERFORM .
CLOSE INPUT-FILE.
GOBACK.
END PROGRAM ELVIS-TEST.
[\code]