在COBOL中获取命令行参数

来源:互联网 发布:淘宝上可以开发票吗 编辑:程序博客网 时间:2024/05/29 15:07

        IDENTIFICATION DIVISION.
        PROGRAM-ID. EXAMPLE.
        ENVIRONMENT DIVISION.
        CONFIGURATION SECTION.
        SPECIAL-NAMES.
                SYSERR IS STANDARD-ERROR
                ENVIRONMENT-NAME IS NAME-OF-LOGICAL
                ENVIRONMENT-VALUE IS LOGICAL-VALUE
                ARGUMENT-NUMBER IS POS-OF-COMMAND-LINE-ARGUMENT
                ARGUMENT-VALUE IS COMMAND-LINE-ARGUMENT.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
           01 para-cnt        PIC 9(05).
           01 howmany-records PIC X(15).
           01 env-dir PIC x(50).
           01 file-name PIC x(50).
           01 file-spec PIC x(100).
        PROCEDURE DIVISION.
        BEGIN.
            ACCEPT para-cnt FROM POS-OF-COMMAND-LINE-ARGUMENT
                    ON EXCEPTION
                    DISPLAY "No arguments specified"
                    UPON STANDARD-ERROR
                    STOP RUN
            END-ACCEPT.
            DISPLAY " Parameters cnt:" para-cnt CONVERSION
            ACCEPT howmany-records FROM COMMAND-LINE-ARGUMENT
                    ON EXCEPTION
                    DISPLAY "No arguments specified"
                    UPON STANDARD-ERROR
                    STOP RUN
            END-ACCEPT.
            DISPLAY "COBOLPATH" UPON NAME-OF-LOGICAL.
            ACCEPT env-dir FROM LOGICAL-VALUE
              ON EXCEPTION
                DISPLAY "Logical COBOLPATH is not set"
                    UPON STANDARD-ERROR

              NOT ON EXCEPTION
                ACCEPT file-name FROM COMMAND-LINE-ARGUMENT
                  ON EXCEPTION
                    DISPLAY
                      "Attempt to read beyond end of command line"
                     UPON STANDARD-ERROR

                  NOT ON EXCEPTION
                   STRING env-dir file-name delimited BY
                    " " into file-spec
                   DISPLAY "Would have read " howmany-records
                   " records from " file-spec
                END-ACCEPT
            END-ACCEPT.
        prog_end.
           STOP RUN.
          

原创粉丝点击