PROGRAM Template USE, INTRINSIC :: iso_fortran_env IMPLICIT NONE INTEGER :: ac, la, st, i CHARACTER(80) :: pn, arg, cmd INTEGER, DIMENSION(8) :: time_data ! year, month, day, UTC diff, hh, mm, ss, msec ac = COMMAND_ARGUMENT_COUNT() CALL GET_COMMAND_ARGUMENT(0,VALUE=pn,LENGTH=la,STATUS=st) IF (st /= 0 ) THEN WRITE(ERROR_UNIT,"(A)") "C'e' un problema con la GET_COMMAND_ARGUMENT" STOP "in errore" END IF WRITE(OUTPUT_UNIT,"(3A,I2,A)",ADVANCE='NO') "Il programma ",pn(1:la), & & " e' stato lanciato con ",ac," parametri: " DO i = 1, ac CALL GET_COMMAND_ARGUMENT(i,VALUE=arg,LENGTH=la,STATUS=st) WRITE(OUTPUT_UNIT,"(A,1X)",ADVANCE='NO') arg(1:la) IF (st /= 0 ) THEN WRITE(ERROR_UNIT,"(A,I8)") "Problema con il parametro ",i STOP "in errore" END IF END DO arg = "" CALL GET_ENVIRONMENT_VARIABLE("PWD",VALUE=arg,STATUS=st) WRITE(OUTPUT_UNIT,"(/A,A)") " nella cartella ",TRIM(arg) CALL GET_COMMAND(COMMAND=cmd,LENGTH=la,STATUS=st) IF (st /= 0 ) THEN WRITE(ERROR_UNIT,"(A)") "C'e' un problema con la GET_COMMAND" STOP "in errore" END IF WRITE(OUTPUT_UNIT,"(A,A)") " con il comando:",cmd(1:la) CALL DATE_AND_TIME(VALUES=time_data) WRITE(OUTPUT_UNIT,"(A,2(I2.2,':'),I2.2)",ADVANCE="NO") " alle ore ",time_data(5), & & time_data(6),time_data(7) WRITE(OUTPUT_UNIT,"(A,2(I2.2,'/'),I4.4)") " del giorno ",time_data(3), & & time_data(2),time_data(1) STOP "Fine programma" END PROGRAM Template