在COBOL中获取命令行参数

        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.
          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值