system('del file2')
system('copy file1 file2')
可以实现,
DEL也可以用
open(7,file='file2')
close(7,status='delete')
COPY也可以用:
* LINK S_FL.OBJ WHEN USING F50
* LINK S_F32.OBJ WHEN USING F32
* DIFFERENT FROM COPY.F: GETARG CHANGE TO GETARG
INTEGER PAUSE
character C*1,INPUT*30,OUTPUT*30,S*2
CHARACTER CHARINK*1
IOVERWRITE=0
IF(IARGC().NE.2) THEN
IF(IARGC().EQ.3) THEN
CALL GETARG(3,S)
IF( (S(1:1).EQ.'/'.OR.S(1:1).EQ.'-')
& .AND.(S(2:2).EQ.'Y'.OR.S(2:2).EQ.'y')) THEN
IOVERWRITE=1
GOTO 5
END IF
END IF
CALL GETARG(1,INPUT)
CALL GETARG(2,OUTPUT)
WRITE(*,*) 'PARAMETER NUMBER IS NOT 2, IT IS'
& ,IARGC(),INPUT,OUTPUT
GOTO 100
C ELSE
C CALL GETARG(2,S)
C IF( (S(1:1).EQ.'/'.OR.S(1:1).EQ.'-')
C & .AND.(S(2:2).EQ.'Y'.OR.S(2:2).EQ.'y')) THEN
C IOVERWRITE=1
C
C GOTO 5
C END IF
END IF
5 CALL GETARG(1,INPUT)
CALL GETARG(2,OUTPUT)
open (1,file=INPUT,status='old',access='direct',recl=1,ERR=200)
IF(IOVERWRITE.EQ.0) THEN
DO 15 I=30,1,-1
IF(OUTPUT(I:I).NE.' ') GOTO 16
15 CONTINUE
16 CONTINUE
OPEN(2,FILE=OUTPUT(1:I),STATUS='OLD',ERR=20)
WRITE(*,*) 'FILE ',OUTPUT(1:I),' EXISTS, OVERWRITE? (Y/N)'
READ(*,*) CHARINK
INK=ICHAR(CHARINK)
IF(CHAR(INK).EQ.'Y'.OR.CHAR(INK).EQ.'y') THEN
CLOSE(2,STATUS='DELETE')
GOTO 20
END IF
CLOSE(2)
WRITE(*,*) 'NO FILE COPIED.'
GOTO 100
END IF
20 open (2,file=OUTPUT,STATUS='OLD',ERR=30)
CLOSE(2,STATUS='DELETE')
30 open (2,file=OUTPUT,access='direct',recl=1)
I=1
10 Read (1, rec=I,ERR=100) C
WRITE(2,REC=I) C
I=I+1
GOTO 10
200 WRITE(*,*) 'INPUT FILE "',INPUT(1:LENGTH(INPUT)),'" NOT EXISTS'
100 End
C------------------------------------------------------------------------------
FUNCTION LENGTH(STR)
CHARACTER*(*) STR
DO 10 LENGTH=LEN(STR),1,-1
IF(STR(LENGTH:LENGTH).NE.' ') GOTO 20
10 CONTINUE
20 CONTINUE
END